Thanks for contributing to Crona.
Before You Start
Section titled “Before You Start”- Read concepts.md for the product model.
- Read development.md for build and test workflows.
- Read socket-api.md if your change touches local daemon IPC.
- Check release.md and the current changelog before starting larger release-facing work.
Workflow Expectations
Section titled “Workflow Expectations”- Keep changes local-first and local-daemon-centric.
- Preserve the current command/repository and daemon/client ownership boundaries unless there is a strong reason to change them.
- Prefer small focused refactors over broad rewrites.
- Keep docs and tests in sync with behavioral changes.
- Avoid introducing wrapper-only files or dead abstraction layers.
Code Quality
Section titled “Code Quality”- Add or update tests for meaningful behavior changes.
- Keep higher-level TUI behavior checks in the TUI testsuite, and keep pure helper/parser tests local to the owning package.
- Use
make cibefore release-facing changes. - Use
make test-e2ewhen touching local daemon IPC startup, shutdown, runtime paths, or protocol behavior. - Preserve public JSON and IPC contracts unless the change is intentional and documented.
- Prefer clear, low-risk decomposition over framework-style rewrites.
Pull Request Guidance
Section titled “Pull Request Guidance”- Explain the user-visible outcome first.
- Call out protocol, storage, updater, or installer risk explicitly.
- Note any tests you ran.
- If a change defers or drops an earlier approach, update the docs so the repository does not advertise stale direction.
Where To Discuss Things
Section titled “Where To Discuss Things”- Bugs: GitHub Issues
- Questions and ideas: GitHub Discussions