prompts/docs/EXISTING_REPO_CHECKLIST.md
sneak d7b8ff30e3 Add prose-wrap policy: hard-wrap markdown at 80 columns
Configure prettier with proseWrap: always. Reformat all markdown
files to conform.
2026-02-22 16:11:49 +01:00

63 lines
2.4 KiB
Markdown

# Existing Repo Checklist
Use this checklist when beginning work in a repo that may not yet conform to our
[development policies](https://git.eeqj.de/sneak/prompts/raw/branch/main/REPO_POLICIES.md).
Work on a feature branch. Check each item and fix any gaps before proceeding
with your task.
## Required Files
- [ ] `README.md` exists with all required sections (Description, Getting
Started, Rationale, Design, TODO, License, Author)
- [ ] `LICENSE` file exists and matches the README
- [ ] `REPO_POLICIES.md` exists and version date is current with the
[authoritative source](https://git.eeqj.de/sneak/prompts/raw/branch/main/REPO_POLICIES.md)
- [ ] `.gitignore` is comprehensive (OS, editor, language artifacts, secrets) —
fetch from `https://git.eeqj.de/sneak/prompts/raw/branch/main/.gitignore`
if missing
- [ ] `.editorconfig` exists
- [ ] `Dockerfile` and `.dockerignore` exist
- [ ] Language-specific config:
- [ ] Go: `go.mod`, `go.sum`, `.golangci.yml`
- [ ] JS: `package.json`, `yarn.lock`, `.prettierrc`, `.prettierignore`
- [ ] Python: `pyproject.toml`
- [ ] Docs/writing: `.prettierrc`, `.prettierignore`
## Makefile
- [ ] `Makefile` exists in root — reference the
[model Makefile](https://git.eeqj.de/sneak/prompts/raw/branch/main/Makefile)
- [ ] Has targets: `test`, `lint`, `fmt`, `fmt-check`, `check`, `docker`,
`hooks`
- [ ] `make check` does not modify any files in the repo
- [ ] `make test` has a 30-second timeout
- [ ] `make check` passes on current branch
## Formatting
- [ ] Platform-standard formatter is configured (`black`, `prettier`, `go fmt`)
- [ ] Default formatter config, only exception: four-space indents (except Go)
- [ ] All files pass `make fmt-check`
## Git Hygiene
- [ ] Pre-commit hook is installed (`make hooks`)
- [ ] No secrets in the repo (`.env`, keys, credentials)
- [ ] No mutable references in Dockerfiles or scripts (tags, `@latest`) — all
pinned by cryptographic hash with version/date comment
- [ ] Using `yarn`, not `npm` (JS projects)
## Directory Structure
- [ ] No unnecessary files in repo root
- [ ] Files organized into canonical subdirectories (`bin/`, `cmd/`, `docs/`,
`internal/`, `static/`, etc.)
- [ ] Go migrations in `internal/db/migrations/` and embedded in binary
## Final
- [ ] `make check` passes
- [ ] `docker build` succeeds
- [ ] Commit and merge fixes before starting your actual task