@rsaglobaltech/specgate 0.16.0 → 0.17.1

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 (72) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/dist/packages/core/src/application/ArchiveChangeUseCase.js +6 -1
  3. package/dist/packages/core/src/application/ArchiveChangeUseCase.js.map +1 -1
  4. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js +10 -1
  5. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js.map +1 -1
  6. package/dist/packages/core/src/domain/AgentPrompt.js +2 -2
  7. package/dist/packages/core/src/domain/AgentPrompt.js.map +1 -1
  8. package/dist/packages/core/src/domain/DeltaFeature.js +66 -4
  9. package/dist/packages/core/src/domain/DeltaFeature.js.map +1 -1
  10. package/dist/packages/core/src/domain/DraftChecklist.js +87 -5
  11. package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
  12. package/dist/packages/core/src/domain/GherkinQuality.js +11 -3
  13. package/dist/packages/core/src/domain/GherkinQuality.js.map +1 -1
  14. package/dist/packages/core/src/domain/HarnessReport.js +2 -0
  15. package/dist/packages/core/src/domain/HarnessReport.js.map +1 -1
  16. package/dist/packages/core/src/domain/HarnessRun.js.map +1 -1
  17. package/dist/packages/core/src/domain/MultiStack.js +2 -2
  18. package/dist/packages/core/src/domain/MultiStack.js.map +1 -1
  19. package/dist/packages/core/src/domain/RetryPolicy.js +50 -0
  20. package/dist/packages/core/src/domain/RetryPolicy.js.map +1 -0
  21. package/dist/packages/core/src/domain/WriteScope.js +1 -0
  22. package/dist/packages/core/src/domain/WriteScope.js.map +1 -1
  23. package/dist/packages/core/test/unit/delta-feature.test.js +25 -0
  24. package/dist/packages/core/test/unit/delta-feature.test.js.map +1 -1
  25. package/dist/packages/core/test/unit/gherkin-quality.test.js +19 -1
  26. package/dist/packages/core/test/unit/gherkin-quality.test.js.map +1 -1
  27. package/dist/packages/core/test/unit/retry-policy.test.js +59 -0
  28. package/dist/packages/core/test/unit/retry-policy.test.js.map +1 -0
  29. package/dist/scripts/agents/commands.js +2 -2
  30. package/dist/scripts/agents/commands.js.map +1 -1
  31. package/dist/scripts/agents/contract-file.js +165 -0
  32. package/dist/scripts/agents/contract-file.js.map +1 -0
  33. package/dist/scripts/agents/detect.js +97 -0
  34. package/dist/scripts/agents/detect.js.map +1 -0
  35. package/dist/scripts/agents/init.js +59 -35
  36. package/dist/scripts/agents/init.js.map +1 -1
  37. package/dist/scripts/change/instructions.js +14 -6
  38. package/dist/scripts/change/instructions.js.map +1 -1
  39. package/dist/scripts/cli/commands/harness/RunCommand.js +37 -3
  40. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  41. package/dist/scripts/cli/commands/project/AdoptCommand.js +42 -5
  42. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  43. package/dist/scripts/cli/commands/project/InitProjectCommand.js +39 -6
  44. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  45. package/dist/scripts/cli/commands/project/UpdateCommand.js +18 -3
  46. package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
  47. package/dist/scripts/cli/commands/quality/CheckCommand.js +14 -2
  48. package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
  49. package/dist/scripts/cli/commands/quality/DoctorCommand.js +11 -6
  50. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  51. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +5 -2
  52. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  53. package/dist/scripts/cli/commands/spec/DraftCommand.js +2 -1
  54. package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
  55. package/dist/scripts/cli/commands/spec/StatusCommand.js +8 -1
  56. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  57. package/dist/scripts/cli/commands/specops/SyncCommand.js +21 -1
  58. package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
  59. package/dist/scripts/docs/nav.js +98 -88
  60. package/dist/scripts/docs/nav.js.map +1 -1
  61. package/dist/scripts/harness/init.js +72 -50
  62. package/dist/scripts/harness/init.js.map +1 -1
  63. package/package.json +1 -1
  64. package/templates/adopt/stack-rules.md +3 -0
  65. package/templates/backend/stack-rules.md +2 -0
  66. package/templates/base/AGENTS.md.tpl +30 -32
  67. package/templates/frontend/stack-rules.md +2 -0
  68. package/templates/mobile/stack-rules.md +7 -0
  69. package/templates/adopt/AI_RULES.md.tpl +0 -27
  70. package/templates/backend/AI_RULES.md.tpl +0 -35
  71. package/templates/frontend/AI_RULES.md.tpl +0 -34
  72. package/templates/mobile/AI_RULES.md.tpl +0 -56
@@ -1,35 +0,0 @@
1
- # AI Rules - Backend ({{PROJECT_NAME}})
2
-
3
- ## Role
4
- You are the Lead Backend Engineer. Implement strictly from `spec.md` and `features/`.
5
-
6
- ## Project Initialization & Stack
7
- - Project: {{PROJECT_NAME}} ({{PROJECT_SLUG}})
8
- - Domain: {{DOMAIN}}
9
- - Stack: {{STACK}}
10
- - Architecture: {{ARCHITECTURE}}
11
- - API style: {{API_STYLE}}
12
- - Testing: {{TESTING}}
13
-
14
- ## Stack Rules
15
- - Do not infer or replace the stack from preference or prior projects.
16
- - If any stack field is `TBD`, stop implementation and update `AI_RULES.md` or `spec.md` with the Product Owner first.
17
- - Respect layered architecture and domain boundaries within the declared stack.
18
-
19
- ## Non-Negotiables
20
- - Domain logic isolated from framework details.
21
- - Tests aligned to acceptance criteria in Gherkin.
22
- - No implementation without a traceability entry.
23
-
24
- ## Domain Modeling Rules
25
- {{ARCHITECTURE_MODELING_RULES}}
26
-
27
- ## Pre-Implementation Gates
28
- {{ARCHITECTURE_GATES}}
29
-
30
- ## Workflow
31
- 1. Read `spec.md`.
32
- {{ARCHITECTURE_READS}}
33
- 3. Read scenarios in `features/`.
34
- 4. Update `docs/specs/traceability.md`.
35
- 5. Implement and validate acceptance criteria.
@@ -1,34 +0,0 @@
1
- # AI Rules - Frontend ({{PROJECT_NAME}})
2
-
3
- ## Role
4
- You are the Lead Frontend Engineer and UX owner. Implement strictly from `spec.md` and `features/`.
5
-
6
- ## Project Initialization & Stack
7
- - Project: {{PROJECT_NAME}} ({{PROJECT_SLUG}})
8
- - Domain: {{DOMAIN}}
9
- - Stack: {{STACK}}
10
- - Architecture: {{ARCHITECTURE}}
11
- - API integration: {{API_STYLE}}
12
- - Testing: {{TESTING}}
13
-
14
- ## Stack Rules
15
- - Do not infer or replace the stack from preference or prior projects.
16
- - If any stack field is `TBD`, stop implementation and update `AI_RULES.md` or `spec.md` with the Product Owner first.
17
-
18
- ## Non-Negotiables
19
- - Componentization and reusability by default.
20
- - Responsive behavior as acceptance criteria.
21
- - No implementation without a traceability entry.
22
-
23
- ## Domain Modeling Rules
24
- {{ARCHITECTURE_MODELING_RULES}}
25
-
26
- ## Pre-Implementation Gates
27
- {{ARCHITECTURE_GATES}}
28
-
29
- ## Workflow
30
- 1. Read `spec.md`.
31
- {{ARCHITECTURE_READS}}
32
- 3. Read scenarios in `features/`.
33
- 4. Update `docs/specs/traceability.md`.
34
- 5. Build UI until acceptance criteria pass.
@@ -1,56 +0,0 @@
1
- # AI Rules - Mobile ({{PROJECT_NAME}})
2
-
3
- ## Role
4
- You are the Lead Mobile Engineer. Implement strictly from `spec.md` and `features/`.
5
-
6
- ## Project Initialization & Stack
7
- - Project: {{PROJECT_NAME}} ({{PROJECT_SLUG}})
8
- - Domain: {{DOMAIN}}
9
- - Stack: {{STACK}}
10
- - Architecture: {{ARCHITECTURE}}
11
- - API integration: {{API_STYLE}}
12
- - Testing: {{TESTING}}
13
-
14
- ## Stack Rules
15
- - Do not infer or replace the stack from preference or prior projects.
16
- - If any stack field is `TBD`, stop implementation and update `AI_RULES.md` or `spec.md` with the Product Owner first.
17
-
18
- ## Non-Negotiables
19
-
20
- These are the ones a mobile app gets wrong, and each is an acceptance
21
- criterion rather than a nice-to-have.
22
-
23
- - **Offline is a state, not an error.** Every screen that reads data declares
24
- what it shows with no connectivity. "Show a spinner forever" is not an answer.
25
- - **The process can die at any moment.** The OS reclaims backgrounded apps.
26
- Anything the user typed survives backgrounding, or the scenario says
27
- explicitly that it does not.
28
- - **Platform parity is stated, not assumed.** Where iOS and Android differ on
29
- purpose, the scenario says so. Silent divergence is a defect found by users.
30
- - **Permissions are a flow with a denial branch.** A requirement that needs the
31
- camera, location or notifications also specifies what happens when the user
32
- says no, and when they said no permanently.
33
- - **Deep links are entry points.** If a screen is reachable by link, it is
34
- reachable cold — with no back stack and no warm state.
35
- - **A release passes store review.** That is part of done. Anything requiring a
36
- privacy declaration, a permission rationale or an age rating belongs in the
37
- spec before it is built, not discovered at submission.
38
-
39
- ## Domain Modeling Rules
40
- {{ARCHITECTURE_MODELING_RULES}}
41
-
42
- ## Architectural Constraints
43
- - Domain and use-case code must not import the UI framework, and must not
44
- reach for a device API directly. Both arrive through a port.
45
- - That is what makes a scenario runnable without a simulator: the rule is
46
- testable on a plain test runner, and only the adapter needs a device.
47
-
48
- ## Pre-Implementation Gates
49
- {{ARCHITECTURE_GATES}}
50
-
51
- ## Workflow
52
- 1. Read `spec.md`.
53
- {{ARCHITECTURE_READS}}
54
- 3. Read scenarios in `features/`.
55
- 4. Update `docs/specs/traceability.md`.
56
- 5. Build the screen and its view model until acceptance criteria pass.