@next-friday/create-app 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/package.json +3 -2
  2. package/templates/base/.agents/rules/constitution-changes.md +1 -1
  3. package/templates/base/.agents/skills/brand-policy/SKILL.md +9 -3
  4. package/templates/base/.agents/skills/compliance-policy/SKILL.md +16 -3
  5. package/templates/base/.agents/skills/sdlc/SKILL.md +6 -5
  6. package/templates/base/.agents/skills/sdlc/playbooks/design.md +37 -0
  7. package/templates/base/.agents/skills/sdlc/playbooks/plan.md +5 -3
  8. package/templates/base/.agents/skills/sdlc/playbooks/question.md +2 -0
  9. package/templates/base/.agents/skills/security-policy/SKILL.md +32 -3
  10. package/templates/base/.agents/skills/ux-policy/SKILL.md +12 -3
  11. package/templates/base/.claude/skills/brand-policy/SKILL.md +9 -3
  12. package/templates/base/.claude/skills/compliance-policy/SKILL.md +16 -3
  13. package/templates/base/.claude/skills/sdlc/SKILL.md +6 -5
  14. package/templates/base/.claude/skills/sdlc/playbooks/design.md +37 -0
  15. package/templates/base/.claude/skills/sdlc/playbooks/plan.md +5 -3
  16. package/templates/base/.claude/skills/sdlc/playbooks/question.md +2 -0
  17. package/templates/base/.claude/skills/security-policy/SKILL.md +32 -3
  18. package/templates/base/.claude/skills/ux-policy/SKILL.md +12 -3
  19. package/templates/base/.cursor/skills/brand-policy/SKILL.md +9 -3
  20. package/templates/base/.cursor/skills/compliance-policy/SKILL.md +16 -3
  21. package/templates/base/.cursor/skills/sdlc/SKILL.md +6 -5
  22. package/templates/base/.cursor/skills/sdlc/playbooks/design.md +37 -0
  23. package/templates/base/.cursor/skills/sdlc/playbooks/plan.md +5 -3
  24. package/templates/base/.cursor/skills/sdlc/playbooks/question.md +2 -0
  25. package/templates/base/.cursor/skills/security-policy/SKILL.md +32 -3
  26. package/templates/base/.cursor/skills/ux-policy/SKILL.md +12 -3
  27. package/templates/base/SETUP.md +4 -4
  28. package/templates/base/intent/README.md +1 -1
  29. package/templates/base/scripts/check-human-gates.ts +383 -0
  30. package/templates/nestjs/.agents/rules.json +1 -1
  31. package/templates/nestjs/.claude/rules/constitution-changes.md +1 -1
  32. package/templates/nestjs/.cursor/rules/constitution-changes.mdc +2 -2
  33. package/templates/nestjs/.github/workflows/ci.yml +2 -0
  34. package/templates/nestjs/package.json +2 -1
  35. package/templates/nextjs/.agents/rules.json +1 -1
  36. package/templates/nextjs/.claude/rules/constitution-changes.md +1 -1
  37. package/templates/nextjs/.cursor/rules/constitution-changes.mdc +2 -2
  38. package/templates/nextjs/.github/workflows/ci.yml +2 -0
  39. package/templates/nextjs/package.json +2 -1
  40. package/templates/nodejs/.agents/rules.json +1 -1
  41. package/templates/nodejs/.claude/rules/constitution-changes.md +1 -1
  42. package/templates/nodejs/.cursor/rules/constitution-changes.mdc +2 -2
  43. package/templates/nodejs/.github/workflows/ci.yml +2 -0
  44. package/templates/nodejs/package.json +2 -1
  45. package/templates/payload/.agents/rules.json +1 -1
  46. package/templates/payload/.claude/rules/constitution-changes.md +1 -1
  47. package/templates/payload/.cursor/rules/constitution-changes.mdc +2 -2
  48. package/templates/payload/.github/workflows/ci.yml +2 -0
  49. package/templates/payload/package.json +2 -1
  50. package/templates/turborepo/.agents/rules.json +1 -1
  51. package/templates/turborepo/.claude/rules/constitution-changes.md +1 -1
  52. package/templates/turborepo/.cursor/rules/constitution-changes.mdc +2 -2
  53. package/templates/turborepo/.github/workflows/ci.yml +2 -0
  54. package/templates/turborepo/package.json +2 -1
  55. package/templates/base/.agents/skills/write-spec/SKILL.md +0 -12
  56. package/templates/base/.claude/skills/write-spec/SKILL.md +0 -12
  57. package/templates/base/.cursor/skills/write-spec/SKILL.md +0 -12
@@ -18,6 +18,7 @@
18
18
  "format": "prettier --write --cache .",
19
19
  "format:check": "prettier --check --cache . && editorconfig-checker",
20
20
  "gates:check": "node scripts/check-agent-gates.ts",
21
+ "human-gates:check": "node scripts/check-human-gates.ts",
21
22
  "knip": "knip",
22
23
  "lint": "eslint . --fix --cache --max-warnings=0 --no-inline-config",
23
24
  "lint:check": "eslint . --cache --max-warnings=0 --no-inline-config",
@@ -37,7 +38,7 @@
37
38
  "test:watch": "vitest",
38
39
  "typecheck": "tsc --noEmit -p tsconfig.json",
39
40
  "verify": "pnpm verify:static && pnpm test:coverage && pnpm build",
40
- "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
41
+ "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm human-gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@commitlint/cli": "21.2.4",
@@ -12,7 +12,7 @@
12
12
  "description": "Codebase hygiene: modify existing code instead of accumulating new code"
13
13
  },
14
14
  "constitution-changes": {
15
- "description": "Constitution changes: change rules, hooks, and agent settings only through a dedicated issue",
15
+ "description": "Constitution changes: change rules, hooks, and agent settings in a pull request a code owner approves",
16
16
  "globs": [
17
17
  ".agents/rules/**",
18
18
  ".agents/rules.json",
@@ -22,4 +22,4 @@ paths:
22
22
 
23
23
  The constitution is the set of files that agent settings deny to agents: rules, hooks, lint, format, and commit configuration, and the agent settings themselves. It is company policy.
24
24
 
25
- A developer changes the constitution through a dedicated issue, never inside a feature pull request. When a task needs a constitution change, propose it to the user, reference that issue, and wait for it to merge before the task depends on it.
25
+ The constitution changes in a pull request like any other change, and a code owner approves it in review. Agent settings stop an agent from editing these files. When a task needs a constitution change, write the exact new text and the files it goes in on the pull request; a person commits it to that branch.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Constitution changes: change rules, hooks, and agent settings only through a dedicated issue"
2
+ description: "Constitution changes: change rules, hooks, and agent settings in a pull request a code owner approves"
3
3
  globs: ".agents/rules/**,.agents/rules.json,.agents/hooks/**,.claude/settings.json,.claude/rules/**,.cursor/rules/**,.cursor/hooks/**,.cursor/hooks.json,scripts/sync-agent-rules.ts,scripts/check-agent-gates.ts,.husky/**,.commitlintrc.json,.prettierrc.json,eslint.config.ts,.lintstagedrc.json,.gitleaks.toml"
4
4
  alwaysApply: false
5
5
  ---
@@ -8,4 +8,4 @@ alwaysApply: false
8
8
 
9
9
  The constitution is the set of files that agent settings deny to agents: rules, hooks, lint, format, and commit configuration, and the agent settings themselves. It is company policy.
10
10
 
11
- A developer changes the constitution through a dedicated issue, never inside a feature pull request. When a task needs a constitution change, propose it to the user, reference that issue, and wait for it to merge before the task depends on it.
11
+ The constitution changes in a pull request like any other change, and a code owner approves it in review. Agent settings stop an agent from editing these files. When a task needs a constitution change, write the exact new text and the files it goes in on the pull request; a person commits it to that branch.
@@ -96,6 +96,8 @@ jobs:
96
96
  run: pnpm rules:check
97
97
  - name: Check agent gates
98
98
  run: pnpm gates:check
99
+ - name: Check human gates
100
+ run: pnpm human-gates:check
99
101
  - name: Check lint
100
102
  run: pnpm lint:check
101
103
  - name: Check formatting
@@ -21,6 +21,7 @@
21
21
  "gates:check": "node scripts/check-agent-gates.ts",
22
22
  "generate:importmap": "payload generate:importmap",
23
23
  "generate:types": "payload generate:types",
24
+ "human-gates:check": "node scripts/check-human-gates.ts",
24
25
  "knip": "node --env-file-if-exists=.env node_modules/knip/bin/knip.js",
25
26
  "lint": "eslint . --fix --cache --max-warnings=0 --no-inline-config",
26
27
  "lint:check": "eslint . --cache --max-warnings=0 --no-inline-config",
@@ -42,7 +43,7 @@
42
43
  "test:watch": "vitest",
43
44
  "typecheck": "next typegen && tsc --noEmit -p tsconfig.json",
44
45
  "verify": "pnpm verify:static && pnpm test:coverage && pnpm build",
45
- "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
46
+ "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm human-gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
46
47
  },
47
48
  "dependencies": {
48
49
  "@payloadcms/db-postgres": "3.92.1",
@@ -12,7 +12,7 @@
12
12
  "description": "Codebase hygiene: modify existing code instead of accumulating new code"
13
13
  },
14
14
  "constitution-changes": {
15
- "description": "Constitution changes: change rules, hooks, and agent settings only through a dedicated issue",
15
+ "description": "Constitution changes: change rules, hooks, and agent settings in a pull request a code owner approves",
16
16
  "globs": [
17
17
  ".agents/rules/**",
18
18
  ".agents/rules.json",
@@ -22,4 +22,4 @@ paths:
22
22
 
23
23
  The constitution is the set of files that agent settings deny to agents: rules, hooks, lint, format, and commit configuration, and the agent settings themselves. It is company policy.
24
24
 
25
- A developer changes the constitution through a dedicated issue, never inside a feature pull request. When a task needs a constitution change, propose it to the user, reference that issue, and wait for it to merge before the task depends on it.
25
+ The constitution changes in a pull request like any other change, and a code owner approves it in review. Agent settings stop an agent from editing these files. When a task needs a constitution change, write the exact new text and the files it goes in on the pull request; a person commits it to that branch.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Constitution changes: change rules, hooks, and agent settings only through a dedicated issue"
2
+ description: "Constitution changes: change rules, hooks, and agent settings in a pull request a code owner approves"
3
3
  globs: ".agents/rules/**,.agents/rules.json,.agents/hooks/**,.claude/settings.json,.claude/rules/**,.cursor/rules/**,.cursor/hooks/**,.cursor/hooks.json,scripts/sync-agent-rules.ts,scripts/check-agent-gates.ts,.husky/**,.commitlintrc.json,prettier.config.ts,eslint.config.ts,.lintstagedrc.json,.gitleaks.toml"
4
4
  alwaysApply: false
5
5
  ---
@@ -8,4 +8,4 @@ alwaysApply: false
8
8
 
9
9
  The constitution is the set of files that agent settings deny to agents: rules, hooks, lint, format, and commit configuration, and the agent settings themselves. It is company policy.
10
10
 
11
- A developer changes the constitution through a dedicated issue, never inside a feature pull request. When a task needs a constitution change, propose it to the user, reference that issue, and wait for it to merge before the task depends on it.
11
+ The constitution changes in a pull request like any other change, and a code owner approves it in review. Agent settings stop an agent from editing these files. When a task needs a constitution change, write the exact new text and the files it goes in on the pull request; a person commits it to that branch.
@@ -118,6 +118,8 @@ jobs:
118
118
  run: pnpm rules:check
119
119
  - name: Check agent gates
120
120
  run: pnpm gates:check
121
+ - name: Check human gates
122
+ run: pnpm human-gates:check
121
123
  - name: Check lint
122
124
  run: pnpm lint:check
123
125
  - name: Check formatting
@@ -21,6 +21,7 @@
21
21
  "gates:check": "node scripts/check-agent-gates.ts",
22
22
  "generate:importmap": "pnpm --filter ./apps/backoffice generate:importmap",
23
23
  "generate:types": "pnpm --filter ./apps/backoffice generate:types",
24
+ "human-gates:check": "node scripts/check-human-gates.ts",
24
25
  "knip": "knip",
25
26
  "lint": "eslint . --fix --cache --max-warnings=0 --no-inline-config",
26
27
  "lint:check": "eslint . --cache --max-warnings=0 --no-inline-config",
@@ -41,7 +42,7 @@
41
42
  "test:watch": "turbo run test:watch --filter=./apps/*",
42
43
  "typecheck": "tsc --noEmit -p tsconfig.json && turbo run typecheck ${TURBO_FILTER:-\"--filter=./apps/*\"}",
43
44
  "verify": "pnpm verify:static && pnpm test:coverage && pnpm build",
44
- "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
45
+ "verify:static": "pnpm suppressions:check && pnpm rules:check && pnpm gates:check && pnpm human-gates:check && pnpm lint:check && pnpm format:check && pnpm sort-package-json:check && pnpm peers:check && pnpm typecheck && pnpm knip && pnpm depcruise"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@commitlint/cli": "21.2.4",
@@ -1,12 +0,0 @@
1
- ---
2
- name: write-spec
3
- description: Produce spec.md, the requirements and design spec, from an accepted intent.md. Use when a person or a trigger asks for the spec of an accepted intent.md.
4
- ---
5
-
6
- # Write spec.md
7
-
8
- Read the `intent.md` the user names, and follow this prompt:
9
-
10
- > Read the attached intent.md and produce a requirements and design spec for integrating it into our existing codebase. Apply the skills available to you so the plan conforms to our brand guidelines, security policies and UX standards. Document the spec fully as spec.md, ready to hand to the engineering team. Describe clearly any areas of concern, especially where you cannot satisfy contradicting policies.
11
-
12
- Write `spec.md` alongside that `intent.md`, in the same folder. Answer each open question from `intent.md`, or carry it forward. Commit it and open a pull request; the product owner accepts the spec by merging it.
@@ -1,12 +0,0 @@
1
- ---
2
- name: write-spec
3
- description: Produce spec.md, the requirements and design spec, from an accepted intent.md. Use when a person or a trigger asks for the spec of an accepted intent.md.
4
- ---
5
-
6
- # Write spec.md
7
-
8
- Read the `intent.md` the user names, and follow this prompt:
9
-
10
- > Read the attached intent.md and produce a requirements and design spec for integrating it into our existing codebase. Apply the skills available to you so the plan conforms to our brand guidelines, security policies and UX standards. Document the spec fully as spec.md, ready to hand to the engineering team. Describe clearly any areas of concern, especially where you cannot satisfy contradicting policies.
11
-
12
- Write `spec.md` alongside that `intent.md`, in the same folder. Answer each open question from `intent.md`, or carry it forward. Commit it and open a pull request; the product owner accepts the spec by merging it.
@@ -1,12 +0,0 @@
1
- ---
2
- name: write-spec
3
- description: Produce spec.md, the requirements and design spec, from an accepted intent.md. Use when a person or a trigger asks for the spec of an accepted intent.md.
4
- ---
5
-
6
- # Write spec.md
7
-
8
- Read the `intent.md` the user names, and follow this prompt:
9
-
10
- > Read the attached intent.md and produce a requirements and design spec for integrating it into our existing codebase. Apply the skills available to you so the plan conforms to our brand guidelines, security policies and UX standards. Document the spec fully as spec.md, ready to hand to the engineering team. Describe clearly any areas of concern, especially where you cannot satisfy contradicting policies.
11
-
12
- Write `spec.md` alongside that `intent.md`, in the same folder. Answer each open question from `intent.md`, or carry it forward. Commit it and open a pull request; the product owner accepts the spec by merging it.