You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Always add `Co-authored-by: Claude <claude@anthropic.com>` trailer
9
-
-**Tags**: Do NOT use `v` prefix (use `0.4.0` not `v0.4.0`)
7
+
<!-- Commit format, Co-authored-by trailer, and tag prefix rules are enforced by git hooks:
8
+
.husky/commit-msg → scripts/check-commit-msg.sh
9
+
.husky/pre-push → rejects v-prefixed tags -->
10
+
10
11
-**Releases**: Do NOT create GitHub releases manually — they are created automatically by GitHub Actions when a tag is pushed
11
12
12
13
## Changelog
@@ -230,12 +231,10 @@ These rules are **mandatory** for all code in this monorepo:
230
231
231
232
3.**File system operations must be mocked.** Never read/write real user files in tests.
232
233
233
-
4.**Test file conventions:** Tests are colocated with source files: `foo.ts` → `foo.test.ts` in the same directory. CLI command tests live in their respective `src/commands/<resource>/` directory.
234
+
4.**Test file conventions:** Tests are colocated with source files: `foo.ts` → `foo.test.ts` in the same directory. CLI command tests live in their respective `src/commands/<resource>/` directory. Run `npm run check:tests` to find missing test files.
234
235
235
236
5.**No real API calls in tests.** All HTTP requests must be mocked via DI (injected `fetch`) or mock API objects.
236
237
237
-
6.**Vitest configuration:** Root `vitest.config.ts` uses `projects: ['packages/*']` for single-process test runs across all packages. Each package has its own `vitest.config.ts`.
238
-
239
238
After changing `productive-core` source, rebuild before running CLI/MCP tests:
240
239
241
240
```bash
@@ -263,12 +262,20 @@ npm run lint # oxlint
263
262
npm run lint:fix # oxlint --fix
264
263
npm run format # oxfmt --write
265
264
npm run typecheck # TypeScript check (all workspaces)
265
+
npm run check # All static checks: lint + format + typecheck + test colocation
266
+
npm run check:tests # Report source files missing colocated .test.ts
266
267
npm run semgrep # Security/quality scan
267
268
npm run version:patch # Bump patch version across all packages
0 commit comments