Thank you for your interest in contributing to Codencer! As an open-source beta (v0.2.0-beta) project, we are actively looking for feedback on the current local/self-host execution path, CLI ergonomics, and adapter reliability.
Before contributing, please remember that Codencer is a Defensive Relay, not a "Brain." We prioritize:
- Local-First Safety: No data should ever leave the user's machine via the daemon.
- Auditability: Every action must be recorded with high-fidelity evidence (logs, diffs, hashes).
- Simplicity: Favor standard Go patterns and CLI-based toolchains.
- Fork & Clone: Standard GitHub fork/clone workflow.
- Prerequisites: Ensure you have Go 1.21+, SQLite3, and Git installed.
- Build: Run
make setup buildto initialize the.codencer/directory and compile binaries. - Test: Run
make testandmake smoketo verify the orchestrator state machine.
- Unit Tests: Use
t.TempDirfor filesystem isolation. - Simulation: Use
make simulateto test orchestrator logic without requiring LLM agents. - Benchmarks: If adding a new feature, ensure it is covered by a benchmark in the
internal/benchmarks/suite.
- Create a feature branch from
main. - Ensure your code is formatted with
go fmtand passesgolangci-lint(if installed). - Update specific trackers in
docs/internal/(e.g.,TASKS.md,PROGRESS.md) if appropriate for larger changes. - Submit the PR with a clear description of the problem solved.
By contributing, you agree that your contributions will be licensed under the project's MIT License.