Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 1.86 KB

File metadata and controls

60 lines (43 loc) · 1.86 KB

Contributing to Sentri

Working Agreement

Sentri should be developed using a review-first workflow even when only one developer is active.

Required Git Flow

  1. Never push directly to main.
  2. Start non-trivial work from a linked GitHub issue.
  3. Create a feature branch for every change.
  4. Keep commits small and logical.
  5. Push the branch to GitHub.
  6. Open a pull request that references the issue.
  7. Review the full diff before merging.
  8. Merge only after the review notes are addressed.

Branch Naming

  • codex/<feature-name>
  • feature/<feature-name>
  • fix/<issue-name>

Commit Quality

Each commit should do one meaningful thing:

  • add one document
  • extract one module
  • introduce one service
  • add one test case set
  • integrate one feature path

Avoid mixing UI redesign, backend behavior, and infra changes in a single commit unless they are inseparable.

Issue and PR Hygiene

  • Use the issue templates for bug reports and feature requests.
  • A PR should close or clearly reference one tracked issue unless the change is emergency-only.
  • The PR description should call out the exact frontend, backend, or ML worker surface touched.
  • If a change is intentionally partial, note the follow-up issue in the PR body.

Review Checklist

Before merging a PR, check:

  • a linked issue exists for non-trivial work
  • architecture impact is documented
  • API contracts are explicit
  • tests pass
  • mobile build still compiles
  • no dead demo-only code path was introduced silently
  • performance-sensitive reads and renders are considered

Sentri Standards

  • Frontend should prefer feature modules over giant screen files.
  • Backend should keep controllers thin and services explicit.
  • AI logic should be explainable, deterministic where possible, and upgradeable to model-backed flows later.
  • UI/UX changes should preserve a coherent system, not one-off screens.