2.6 KiB
2.6 KiB
New Repo Checklist
Use this checklist when creating a new repository from scratch. Follow the steps
in order. Full policies are at:
https://git.eeqj.de/sneak/prompts/raw/branch/main/prompts/REPO_POLICIES.md
Template files can be fetched from:
https://git.eeqj.de/sneak/prompts/raw/branch/main/<path>
1. Initialize
git init- Ask the user for the license (MIT, GPL, or WTFPL)
2. First Commit (README only)
- Create
README.mdwith all required sections:- Description: name, purpose, category, license, author
- Getting Started: copy-pasteable code block
- Rationale: why does this exist?
- Design: how is it structured?
- TODO: initial task list
- License: matches chosen license
- Author: @sneak
git add README.md && git commit
3. Scaffolding (feature branch)
git checkout -b initial-scaffolding
Fetch Template Files
.gitignore— fetch from prompts repo, extend for language-specific artifacts.editorconfig— fetch from prompts repoMakefile— fetch from prompts repo, adapt targets for the project's language and tools- For JS/docs repos:
.prettierrc,.prettierignore
Create Project Files
LICENSEfile matching the chosen licenseREPO_POLICIES.md— fetch fromprompts/REPO_POLICIES.mdin the prompts repoDockerfileand.dockerignore- Server: runs the application
- Non-server: brings up dev environment and runs
make check - Image pinned by sha256 hash with version/date comment
- Language-specific:
- Go:
go mod init sneak.berlin/go/<name>,.golangci.yml(copy from~/dev/upaas/.golangci.yml) - JS:
yarn init,yarn add --dev prettier - Python:
pyproject.toml
- Go:
Configure Makefile
make test— runs project tests (30-second timeout)make lint— runs lintermake fmt— formats code (writes)make fmt-check— checks formatting (read-only)make check— prereqs:test,lint,fmt-check; must not modify filesmake docker— builds Docker imagemake hooks— installs pre-commit hook
4. Verify
make checkpassesmake dockersucceeds- No secrets in repo
- No mutable image/package references
- No unnecessary files in repo root
- All dates written as YYYY-MM-DD
5. Merge and Set Up
- Commit, merge to
main make hooksto install pre-commit hook- Add remote and push
- Verify
mainpassesmake check