Working draft for maintainers & contributors while the project is under active development. Coordinate in ACM Discord/Slack (project channel or #projects).
Directors / Contacts: Tobi and Prajit Viswanadha — DM on Discord
- Phase: In Development
- Project board: {{PROJECT_BOARD_URL}}
- Communication: Discord #rocktags
- Open issues: use repo Issues; prefer labels
good first issueandhelp wantedthoughtfully
- Git
- One of: Node 20+ or Python 3.11+ or Go 1.22+ or Rust (stable)
- Optional: Docker Desktop
- Copy the sample env to your local file:
cp .env.example .env - Keep secrets out of git. If you add a new variable, document it in
.env.example.
- Clone:
git clone https://github.com/{{GITHUB_OWNER}}/{{REPO}}.gitthencd {{REPO}} - Node: if
package.jsonexists →npm ci(fallbacknpm install) - Python: if
requirements.txtexists → create venvpython -m venv .venv, activate, thenpip install -r requirements.txt - Go: if
go.modexists →go mod download - Rust: if
Cargo.tomlexists →cargo fetch
- Node:
npm run dev(dev server) ornpm start(if app defines it) - Python (FastAPI example):
uvicorn app:app --reload - Go:
go run ./... - Rust:
cargo run
- Use Conventional Commits. Examples:
feat(ui): add dark mode togglefix(api): handle null user_id on logindocs(readme): clarify quickstartchore(deps): bump eslint to v9
- Branch names:
feat/<slug>,fix/<slug>,chore/<slug>,docs/<slug>
- Prefer small, focused PRs; link issues using
Fixes #123 - Use the PR template: include testing steps, screenshots for UI changes, note breaking changes and rollback plan
- Request reviews from maintainers or CODEOWNERS
- Aim for at least a smoke test; run local checks before pushing
- Node:
npm test(or none if not configured),npm run lint(if present),npm run format(if present) - Python:
pytest(or note “No tests”),ruff check .(if using),ruff format . - Go:
go test ./... - Rust:
cargo test
- Never commit
.envor credentials - Use
.envlocally; keep.env.exampleupdated so others know what is required - For deployments, store secrets in platform settings (not in code)
src/— application codetests/— unit/integration testsdocs/— screenshots, diagrams, decisions (ADRs).github/— PR/Issue templates, CODEOWNERS (optional).env.example— sample env vars (copy to.envlocally)README.dev.md— this file (dev-only)
Create docs/DECISIONS.md and record major choices with date and rationale. Example entries:
- 2025-09-14: Choose Postgres over Mongo (SQL familiarity, joins, migrations)
- 2025-09-14: Host on Render for MVP (simple, acceptable free tier)
- Finalize end-user README (rename/replace root README; include screenshot/GIF)
- Choose and add a LICENSE file appropriate for the project
- Ensure
.env.exampledocuments all required variables - Confirm basic tests pass; document manual smoke test steps
- Tag
v0.1.0with concise release notes
- Be respectful and inclusive; harassment or discrimination is not tolerated
- Assume good intent; give clear, constructive feedback
- Report concerns privately to a director (contacts above)
- Do not open public issues for vulnerabilities
- Privately contact Tobi or Prajit Viswanadha (ACM Discord/Slack DM) with details and reproduction steps
- We will acknowledge receipt and coordinate a fix
- Maintainers: {{PRIMARY_OWNER}} (@{{GITHUB_HANDLE}}), {{CO_MAINTAINER}}
- Directors / Contacts: Tobi and Prajit Viswanadha — DM on Discord