|
1 | 1 | # Project instructions |
2 | 2 |
|
3 | 3 | - After making any changes, always run `bun run ci` before handing work back. |
| 4 | +- Run `bun run ci` again immediately before every push, and do not push unless it passes for the exact commit being pushed. While GitHub Actions is unavailable, local CI is the required merge gate; do not wait for a GitHub Actions status check to merge. |
4 | 5 | - `bun run ci` must run the Ultracite-configured Biome checks and Tailwind CSS language-server diagnostics automatically, followed by the unit tests, TypeScript check, and production build. |
5 | 6 | - Fix all reported issues rather than bypassing or disabling checks unless the project requirements explicitly demand an exception. |
6 | 7 | - Keep the codebase as DRY as practical: before adding constants, calculations, formatting, parsing, labels, or state-derivation logic, search for an existing domain utility and reuse or extend it. Consolidate meaningful duplication into clearly named domain modules, but do not introduce generic abstractions that hide simple behavior or couple unrelated concepts solely because their implementations look similar. |
|
14 | 15 | - When the user says "add, commit", group all existing changes into logical sets, stage and commit each group, and repeat until every change is committed and the working tree is clean. |
15 | 16 | - At the start of every new work request, check the current Git branch before changing files. If the current branch is `main`, create and switch to a descriptively named task branch first. |
16 | 17 | - Never push work directly to `main`. If `main` already contains uncommitted changes or commits that have not been pushed, create the task branch from its current state so all of that work moves forward on the new branch, then continue the normal workflow there. |
17 | | -- When the user says "add, commit, push, pr, merge" or otherwise confirms that the work is ready, complete the delivery workflow in order: group and commit all changes until the tree is clean, push the task branch, open a pull request targeting `main`, wait for required checks to pass, and merge the pull request. If checks fail or the pull request cannot merge, fix the problem on the same task branch and repeat the relevant steps. |
| 18 | +- When the user says "add, commit, push, pr, merge" or otherwise confirms that the work is ready, complete the delivery workflow in order: group and commit all changes until the tree is clean, run `bun run ci` for the exact commit being delivered, push the task branch, open a pull request targeting `main`, and merge the pull request without depending on GitHub Actions while it is unavailable. If local CI fails or the pull request cannot merge, fix the problem on the same task branch and repeat the relevant steps. |
18 | 19 | - Keep React component modules compatible with Vite Fast Refresh: export only React components from component files, and move non-component runtime exports such as constants, helpers, and metadata into separate modules to avoid incompatible-export invalidations. |
19 | 20 | - Record every new user-facing feature in the README as part of implementing it. |
0 commit comments