A meta/template repository with a sensible baseline for personal projects — licensing, governance, documentation, and contribution workflow. It is deliberately not language-specific: it contains the parts that every project needs regardless of stack.
This repository is a starting point for new personal projects, both public and private. It collects the boilerplate that is easy to get wrong or to postpone forever:
- License texts and a guide for choosing between them
- Community and governance files (
CONTRIBUTING.md,CODE_OF_CONDUCT.md,SECURITY.md) - A changelog skeleton following Keep a Changelog and Semantic Versioning
- Documentation on branching strategies, commit conventions, and Architecture Decision Records (ADRs)
- GitHub-specific configuration (issue and PR templates,
CODEOWNERS, Dependabot) - Cross-language editor, line-ending, and ignore rules (
.editorconfig,.gitattributes,.gitignore) - A checklist for the GitHub settings that files can't carry (docs/REPO-SETTINGS.md)
[TO BE FILLED IN: anything else this template grows to include]
- Click Use this template on GitHub (or clone and re-init:
git clone, delete.git,git init). - Search for the placeholders and replace them:
<PROJECT_NAME>— the name of your new project<OWNER_HANDLE>— your GitHub username<SECURITY_CONTACT_EMAIL>— the address for vulnerability reports<CONTACT_EMAIL>— the code of conduct enforcement contact<YEAR>/<COPYRIGHT_HOLDER>— in the chosen license file[TO BE FILLED IN]— free-form sections that need project-specific content
- Pick a license: read docs/LICENSE-GUIDE.md, copy the right file from licenses/ to the repository root as
LICENSE, and delete thelicenses/directory. - Rewrite this
README.mdfor the actual project, starting from docs/README-TEMPLATE.md. - Configure the repository settings following docs/REPO-SETTINGS.md.
- Delete what you don't need (see the notes below on optional files).
- Reset
CHANGELOG.mdto a freshUnreleasedsection.
CODE_OF_CONDUCT.md— included because it is useful the moment a public project receives external contributors, but it is optional: feel free to remove it for private or strictly personal repositories..github/CODEOWNERS— optional for single-maintainer projects; see the comments inside the file.docs/adr/— keep it only if you intend to record architecture decisions.
- Language-specific tooling (linters, formatters, build files, package manifests): every stack has its own conventions and generators; duplicating them here would only go stale.
- CI/CD workflows: pipelines depend heavily on the language, hosting, and deployment target. Add them per project.
- A
LICENSEfile at the root: choosing a license is a per-project decision. Thelicenses/directory provides the candidates anddocs/LICENSE-GUIDE.mdexplains how to choose. - Issue tracker automation, bots, org policies: this template targets personal projects maintained by one person or a small team, not an organization.
/
├── README.md # this file — replace with the project's own README
├── AGENTS.md # AI agent instructions (single source of truth)
├── CLAUDE.md # pointer to AGENTS.md
├── CONTRIBUTING.md # contribution workflow
├── CODE_OF_CONDUCT.md # Contributor Covenant (optional for private repos)
├── SECURITY.md # how to report vulnerabilities
├── CHANGELOG.md # Keep a Changelog + SemVer skeleton
├── .editorconfig # cross-language editor rules
├── .gitattributes # line-ending normalization and binary handling
├── .gitignore # OS, IDE, and secrets ignores (not language-specific)
├── licenses/ # license candidates — pick one, move to ./LICENSE
│ ├── MIT.txt
│ ├── APACHE-2.0.txt
│ └── PROPRIETARY.txt
├── docs/
│ ├── LICENSE-GUIDE.md # how to choose a license
│ ├── README-TEMPLATE.md # README skeleton for new projects
│ ├── REPO-SETTINGS.md # GitHub settings checklist per repository
│ ├── BRANCHING-STRATEGY.md # trunk-based/GitHub Flow vs release-based
│ ├── COMMIT-CONVENTION.md # Conventional Commits, with examples
│ ├── AI-AGENTS.md # guidelines for CLAUDE.md / AGENTS.md and agent setup
│ └── adr/
│ ├── README.md # what ADRs are and how to use them
│ ├── 0000-template.md # ADR template
│ └── 0001-trunk-based-development.md # this repo's own branching decision
└── .github/
├── CODEOWNERS # optional for single-maintainer projects
├── PULL_REQUEST_TEMPLATE.md
├── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ ├── feature_request.md
│ └── config.yml
└── dependabot.yml # base config, adapt per ecosystem