From a56ad6ae2fbddb9922799bb9f86a97afd7db5d0a Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Sun, 26 Apr 2026 19:31:37 +0900 Subject: [PATCH] docs: add CONTRIBUTING.md with pinpoint format, build/test, branch naming, and fork+origin push pattern --- CONTRIBUTING.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..d7cbf9b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,81 @@ +# Contributing to claw-code + +Thanks for your interest. This project follows the **gaebal-gajae pinpoint cadence** — 43+ pinpoints filed and counting. Here's how to contribute effectively. + +## Filing a ROADMAP Pinpoint + +All feature requests and bug reports go through the pinpoint format (see `ROADMAP.md`). Each pinpoint must have: + +- **Exact pinpoint** — one crisp sentence stating what is wrong or missing +- **Live evidence** — reproduction steps, logs, or observed behavior +- **Why distinct** — why this isn't already covered by an existing pinpoint +- **Concrete delta** — what the repo looks like after this is fixed (file-level) +- **Fix shape** — implementation sketch (function, module, config change) + +Vague or duplicate pinpoints will be closed without comment. + +## Build & Test + +```bash +# Rust components +cd rust +cargo build +cargo test + +# Node / Bun components (if present) +bun install +bun test +``` + +CI runs on every push. All tests must pass before review. + +## Branch Naming + +``` +feat/ # new feature +fix/ # bug fix +docs/ # documentation only +chore/ # tooling, deps, refactor +``` + +Example: `feat/jobdori-168c-emission-routing` + +## Push Pattern (fork + origin) + +This project maintains parity between the upstream (`origin`) and contributor forks. + +```bash +# 1. Fork the repo on GitHub, then add your fork as a remote +git remote add fork https://github.com//claw-code.git + +# 2. Create a branch off the target branch +git checkout -b feat/your-slug origin/feat/target-branch + +# 3. Make changes, commit +git add . +git commit -m "feat: your change description" + +# 4. Push to BOTH remotes (keep parity) +git push origin feat/your-slug --force-with-lease +git push fork feat/your-slug --force-with-lease + +# 5. Open a PR against the target branch on GitHub +``` + +Three-way parity check before opening a PR: +```bash +git log --oneline -1 HEAD +git log --oneline -1 origin/feat/your-slug +git log --oneline -1 fork/feat/your-slug +# All three should show the same commit hash +``` + +## Code Style + +- Rust: `cargo fmt` and `cargo clippy` before committing +- No dead code, no unused imports +- Comments in English; commit messages in English + +## License + +By contributing, you agree your contributions are licensed under the [MIT License](./LICENSE).