Thank you for helping improve Movi.
Think of this file like the sign next to a workshop door: it tells you what kind of help is useful, what to check before walking in, and what is unlikely to be accepted.
If you are new, use this quick route:
- Read the public overview in README.md.
- If your question is about usage or setup, read SUPPORT.md before opening a pull request.
- If you still want to contribute code or docs, start with a small, reproducible change.
- If your idea is larger than a bug fix or docs change, start in GitHub Discussions before building a large diff.
These are the safest ways to help:
- Reproducible bug fixes with a clear before/after explanation
- Documentation fixes, examples, spelling fixes, and navigation repairs
- Small maintainability improvements that do not change public contracts
- Test additions that follow the current governance and quality rules
These are not forbidden, but they often need discussion before you invest time:
- Large product-direction rewrites
- Major UI or interaction redesigns
- Large new provider or external integration work
- Proposals that break the design rule of using AI in
analyzewhile keepingapplyandrollbackdeterministic
Run the standard local checks:
bash tooling/runtime/bootstrap_env.sh
bash tooling/gates/pre_push_gate.sh
bash tooling/docs/docs_smoke.sh --install-smokeIf your change touches runtime behavior, repository layout, public docs, or CI / release surfaces, also run:
bash tooling/gates/quality_gate.sh
bash tooling/gates/public_readiness_gate.sh repoPlease include:
- What changed
- Why it changed
- How you verified it
- Any risk, migration note, or boundary you intentionally did not cross
Keep the diff honest and reviewable:
- Do not submit real secrets,
.envfiles, personal machine paths, or temporary artifacts - Keep repo-local tool state untracked. Roots such as
.serena/,.agents/,.runtime-cache/, and.envare local-only surfaces, not product files - Do not add compatibility shims just to hide the real problem
- Keep documentation, contracts, templates, and gate entrypoints aligned
This repository no longer uses a repo-local .agents/Tasks TaskBoard as an
active source of truth.
Use the versioned repository surfaces on main instead:
README.mdanddocs/for public product and operator guidanceDISTRIBUTION.mdandINTEGRATIONS.mdfor root-level public boundary truth- contracts, workflows, and generated references for executable truth
- current repository settings and branch protection for GitHub-side policy
Repo-local .agents/Conversations or other scratch coordination notes may still
exist during a session, but they are local-only operator residue rather than a
committed planning contract.
Treat .agents/ as local operator state, not as a committed planning system
that needs a mirrored TaskBoard update on main.
If .agents/Tasks is absent in a clean checkout, treat that as expected
repository state rather than as governance drift.
Closed-but-unmerged Dependabot pull requests in this repository are kept as audit history of automated dependency-update attempts that were later closed without merge.
Use the following rule when describing them:
- only call a PR a grouped update when
.github/dependabot.ymldirectly supports that grouping - only call a PR later superseded when current
mainclearly carries the same or a newer dependency state - if current
mainstill pins an older version, describe the PR as closed audit history without claiming the proposal landed - do not treat a closed PR by itself as proof that the proposed dependency state landed
- maintainer comments on individual closed PRs should follow the same rule and should say when a closure is only grouped audit history, duplicate audit history, or non-landed audit history
Think of the atomic-commit gate like an airline carry-on sizer: it is there to keep every push small enough to inspect safely, not to punish useful work.
Use this forward-safe route:
- Batch new work into small, reviewable commits before you push
- If pre-push reports older oversized commits in your local push range, do not widen allowlists or weaken the gate
- Instead, branch from an up-to-date
mainand replay only the intended changes as smaller commits
This keeps future pushes clean without trying to hide or rewrite repository history through governance exceptions.
- Usage question: go to SUPPORT.md
- Security issue: go to SECURITY.md
- Workflow idea or broad discussion: start in GitHub Discussions
- Small docs or typo fix: open a focused pull request
- Bigger feature idea: describe the problem first before building a large diff
This is a limited-maintenance public repository.
That means:
- Pull requests are reviewed seriously
- Merge timing is not guaranteed
- Not every roadmap idea will be accepted
Please treat contribution like helping a careful small workshop, not like filing work into a high-throughput platform team.