# Contributing ## Expectations Changes should preserve the current verification baseline: - repository-layer API tests must pass - the stubbed browser smoke test must pass for UI/editor changes - the live-stack browser smoke test should be run for changes that affect real editor/archive workflows when the Compose stack is available ## Local Checks Run API tests: ```bash ./scripts/check-api-tests.sh ``` Run the stubbed browser smoke test: ```bash ./scripts/check-ui-smoke.sh ``` Run the real-stack browser smoke test: ```bash ./scripts/check-ui-stack-smoke.sh ``` ## Notes - CI currently runs the API tests and the stubbed browser smoke test. - The live-stack smoke test is intentionally separate because it depends on a running Compose stack and editor auth configuration. - If a change affects editorial persistence, archive behavior, or section editing, include the relevant verification command output or a concise summary in the change request. - Repository hosts can call the scripts in `scripts/` directly instead of duplicating command wiring in host-specific pipeline definitions. - Forgejo can use the existing `.github/workflows` CI definition through its documented fallback behavior. If a Forgejo-native pipeline is needed, start from `.forgejo/workflows/ci.yml.template`, then follow `docs/forgejo-activation.md` before activating it.