fraim-framework 2.0.27 → 2.0.30

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 (98) hide show
  1. package/.github/workflows/deploy-fraim.yml +1 -1
  2. package/dist/registry/scripts/build-scripts-generator.js +205 -0
  3. package/dist/registry/scripts/cleanup-branch.js +258 -0
  4. package/dist/registry/scripts/evaluate-code-quality.js +66 -0
  5. package/dist/registry/scripts/exec-with-timeout.js +142 -0
  6. package/dist/registry/scripts/fraim-config.js +61 -0
  7. package/dist/registry/scripts/generate-engagement-emails.js +630 -0
  8. package/dist/registry/scripts/generic-issues-api.js +100 -0
  9. package/dist/registry/scripts/newsletter-helpers.js +731 -0
  10. package/dist/registry/scripts/openapi-generator.js +664 -0
  11. package/dist/registry/scripts/performance/profile-server.js +390 -0
  12. package/dist/registry/scripts/run-thank-you-workflow.js +92 -0
  13. package/dist/registry/scripts/send-newsletter-simple.js +85 -0
  14. package/dist/registry/scripts/send-thank-you-emails.js +54 -0
  15. package/dist/registry/scripts/validate-openapi-limits.js +311 -0
  16. package/dist/registry/scripts/validate-test-coverage.js +262 -0
  17. package/dist/registry/scripts/verify-test-coverage.js +66 -0
  18. package/dist/src/cli/commands/init.js +14 -14
  19. package/dist/src/cli/commands/sync.js +4 -4
  20. package/dist/src/cli/fraim.js +24 -22
  21. package/dist/src/cli/setup/first-run.js +13 -6
  22. package/dist/src/fraim/db-service.js +26 -15
  23. package/dist/src/fraim/issues.js +67 -0
  24. package/dist/src/fraim-mcp-server.js +272 -18
  25. package/dist/src/utils/git-utils.js +1 -1
  26. package/dist/tests/debug-tools.js +79 -0
  27. package/dist/tests/esm-compat.js +11 -0
  28. package/dist/tests/test-chalk-esm-issue.js +159 -0
  29. package/dist/tests/test-chalk-real-world.js +265 -0
  30. package/dist/tests/test-chalk-regression.js +327 -0
  31. package/dist/tests/test-chalk-resolution-issue.js +304 -0
  32. package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
  33. package/dist/tests/test-fraim-issues.js +59 -0
  34. package/dist/tests/test-genericization.js +1 -1
  35. package/dist/tests/test-mcp-connection.js +166 -0
  36. package/dist/tests/test-mcp-issue-integration.js +144 -0
  37. package/dist/tests/test-mcp-lifecycle-methods.js +312 -0
  38. package/dist/tests/test-node-compatibility.js +71 -0
  39. package/dist/tests/test-npm-install.js +66 -0
  40. package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
  41. package/dist/tests/test-session-rehydration.js +145 -0
  42. package/dist/tests/test-standalone.js +2 -8
  43. package/dist/tests/test-telemetry.js +190 -0
  44. package/package.json +10 -8
  45. package/registry/agent-guardrails.md +62 -54
  46. package/registry/rules/agent-success-criteria.md +52 -0
  47. package/registry/rules/agent-testing-guidelines.md +502 -502
  48. package/registry/rules/communication.md +121 -121
  49. package/registry/rules/continuous-learning.md +54 -54
  50. package/registry/rules/ephemeral-execution.md +10 -5
  51. package/registry/rules/hitl-ppe-record-analysis.md +302 -302
  52. package/registry/rules/local-development.md +251 -251
  53. package/registry/rules/software-development-lifecycle.md +104 -104
  54. package/registry/rules/successful-debugging-patterns.md +482 -478
  55. package/registry/rules/telemetry.md +67 -0
  56. package/registry/scripts/build-scripts-generator.ts +216 -215
  57. package/registry/scripts/cleanup-branch.ts +303 -284
  58. package/registry/scripts/code-quality-check.sh +559 -559
  59. package/registry/scripts/detect-tautological-tests.sh +38 -38
  60. package/registry/scripts/evaluate-code-quality.ts +1 -1
  61. package/registry/scripts/generate-engagement-emails.ts +744 -744
  62. package/registry/scripts/generic-issues-api.ts +110 -150
  63. package/registry/scripts/newsletter-helpers.ts +874 -874
  64. package/registry/scripts/openapi-generator.ts +695 -693
  65. package/registry/scripts/performance/profile-server.ts +5 -3
  66. package/registry/scripts/prep-issue.sh +468 -455
  67. package/registry/scripts/validate-openapi-limits.ts +366 -365
  68. package/registry/scripts/validate-test-coverage.ts +280 -280
  69. package/registry/scripts/verify-pr-comments.sh +70 -70
  70. package/registry/scripts/verify-test-coverage.ts +1 -1
  71. package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -53
  72. package/registry/templates/evidence/Implementation-BugEvidence.md +85 -85
  73. package/registry/templates/evidence/Implementation-FeatureEvidence.md +120 -120
  74. package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +66 -0
  75. package/registry/workflows/bootstrap/create-architecture.md +2 -2
  76. package/registry/workflows/bootstrap/evaluate-code-quality.md +3 -3
  77. package/registry/workflows/bootstrap/verify-test-coverage.md +2 -2
  78. package/registry/workflows/customer-development/insight-analysis.md +156 -156
  79. package/registry/workflows/customer-development/interview-preparation.md +421 -421
  80. package/registry/workflows/customer-development/strategic-brainstorming.md +146 -146
  81. package/registry/workflows/customer-development/thank-customers.md +193 -191
  82. package/registry/workflows/customer-development/weekly-newsletter.md +362 -352
  83. package/registry/workflows/improve-fraim/contribute.md +32 -0
  84. package/registry/workflows/improve-fraim/file-issue.md +32 -0
  85. package/registry/workflows/marketing/hbr-article.md +73 -0
  86. package/registry/workflows/performance/analyze-performance.md +63 -59
  87. package/registry/workflows/product-building/design.md +3 -2
  88. package/registry/workflows/product-building/implement.md +4 -3
  89. package/registry/workflows/product-building/prep-issue.md +28 -17
  90. package/registry/workflows/product-building/resolve.md +3 -2
  91. package/registry/workflows/product-building/retrospect.md +3 -2
  92. package/registry/workflows/product-building/spec.md +5 -4
  93. package/registry/workflows/product-building/test.md +3 -2
  94. package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -562
  95. package/registry/workflows/replicate/website-discovery-analysis.md +3 -3
  96. package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +632 -632
  97. package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
  98. package/tsconfig.json +2 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fraim-framework",
3
- "version": "2.0.27",
3
+ "version": "2.0.30",
4
4
  "description": "FRAIM v2: Framework for Rigor-based AI Management - Transform from solo developer to AI manager orchestrating production-ready code with enterprise-grade discipline",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -10,8 +10,8 @@
10
10
  "scripts": {
11
11
  "setup": "node setup.js",
12
12
  "dev": "tsx --watch src/fraim-mcp-server.ts",
13
- "build": "tsc",
14
- "test": "tsx --test tests/test-*.ts",
13
+ "build": "tsc && npm run validate:registry",
14
+ "test": "tsx --test > test.log 2>&1",
15
15
  "start:fraim": "tsx src/fraim-mcp-server.ts",
16
16
  "dev:fraim": "tsx --watch src/fraim-mcp-server.ts",
17
17
  "watch:fraimlogs": "tsx scripts/watch-fraim-logs.ts",
@@ -22,7 +22,8 @@
22
22
  "prepublishOnly": "npm run build && npm test",
23
23
  "release": "npm version patch && npm publish",
24
24
  "test-smoke-ci": "tsx --test tests/test-genericization.ts tests/test-cli.ts",
25
- "test-all-ci": "tsx --test tests/test-*.ts"
25
+ "test-all-ci": "tsx --test tests/test-*.ts",
26
+ "validate:registry": "tsx scripts/verify-registry-paths.ts"
26
27
  },
27
28
  "repository": {
28
29
  "type": "git",
@@ -60,6 +61,7 @@
60
61
  "@types/express": "^5.0.6",
61
62
  "@types/node": "^20.0.0",
62
63
  "@types/prompts": "^2.4.9",
64
+ "fast-glob": "^3.3.3",
63
65
  "tsx": "^4.0.0",
64
66
  "typescript": "^5.0.0"
65
67
  },
@@ -80,14 +82,14 @@
80
82
  "access": "public"
81
83
  },
82
84
  "dependencies": {
83
- "axios": "^1.13.2",
84
- "chalk": "^5.6.2",
85
+ "axios": "^1.7.0",
86
+ "chalk": "4.1.2",
85
87
  "commander": "^14.0.2",
86
88
  "cors": "^2.8.5",
89
+ "dotenv": "^16.4.7",
87
90
  "express": "^5.2.1",
88
91
  "mongodb": "^7.0.0",
89
92
  "prompts": "^2.4.2",
90
- "tree-kill": "^1.2.2",
91
- "dotenv": "^16.4.7"
93
+ "tree-kill": "^1.2.2"
92
94
  }
93
95
  }
@@ -1,55 +1,63 @@
1
- # AI Agent Guardrails
2
-
3
- This file references the centralized rules located in `.ai-agents/rules/` to ensure consistency across all AI platforms.
4
-
5
- ## Referenced Rules
6
-
7
- ### 0. Integrity
8
- **Source**: `.ai-agents/rules/integrity-and-test-ethics.md`
9
-
10
- THIS IS THE MOST CRITICAL RULE. Be ethical, truthful, honest above all.
11
-
12
- ### 1. Simplicity
13
- **Source**: `.ai-agents/rules/simplicity.md`
14
-
15
- Keep solutions simple and focused, avoid over-engineering. Focus on the assigned issue only and don't make unrelated changes.
16
-
17
- ### 2. Communication
18
- **Source**: `.ai-agents/rules/communication.md`
19
-
20
- Establish clear communication patterns and progress reporting standards for effective coordination between agents and stakeholders.
21
-
22
- ### 3. Architecture
23
- **Source**: `.ai-agents/rules/architecture.md`
24
-
25
- Maintain clean architectural boundaries by using BAML (LLM) for natural-language understanding and TypeScript for deterministic work.
26
-
27
- ### 4. Continuous Learning
28
- **Source**: `.ai-agents/rules/continuous-learning.md`
29
-
30
- Prevent repeating past mistakes by systematically learning from retrospectives, RFCs, and historical issue patterns.
31
-
32
- ### 5. Agent Testing Guidelines
33
- **Source**: `.ai-agents/rules/agent-testing-guidelines.md`
34
-
35
- Comprehensive testing and validation requirements with concrete evidence. Ensures all work is thoroughly validated before completion.
36
-
37
- ### 6. Local Development
38
- **Source**: `.ai-agents/rules/local-development.md`
39
-
40
- Local development guidelines and workspace safety. Enables safe parallel development through strict workspace separation.
41
-
42
- ### 7. Software Development Lifecycle
43
- **Source**: `.ai-agents/rules/software-development-lifecycle.md`
44
-
45
-
46
-
47
- ### 9. Merge Requirements
48
- **Source**: `.ai-agents/rules/merge-requirements.md`
49
-
50
- Enforces a strict `git rebase` workflow to ensure feature branches are up-to-date with `master` before merging, maintaining a clean and stable history.
51
-
52
- ### 10. Best practices while debuggin
53
- **Source**: `.ai-agents/rules/successful-debugging-patterns.md`
54
-
1
+ # AI Agent Guardrails
2
+
3
+ This file references the centralized rules located in `rules/` to ensure consistency across all AI platforms.
4
+
5
+ ## SUCCESS CRITERIA (THE "FRAIM 5")
6
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/agent-success-criteria.md" })`
7
+
8
+ All agents are evaluated on:
9
+ 1. **Integrity (100 pts)**: Honesty above all.
10
+ 2. **Correctness (50 pts)**: Architecture & tests.
11
+ 3. **Completeness (30 pts)**: Thoroughness.
12
+ 4. **Independence (20 pts)**: Smart decisions.
13
+ 5. **Speed (10 pts)**: Velocity.
14
+
15
+ ## Referenced Rules
16
+
17
+ ### 0. Integrity
18
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/integrity-and-test-ethics.md" })`
19
+
20
+ THIS IS THE MOST CRITICAL RULE. Be ethical, truthful, honest above all.
21
+
22
+ ### 1. Simplicity
23
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/simplicity.md" })`
24
+
25
+ Keep solutions simple and focused, avoid over-engineering. Focus on the assigned issue only and don't make unrelated changes.
26
+
27
+ ### 2. Communication
28
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/communication.md" })`
29
+
30
+ Establish clear communication patterns and progress reporting standards for effective coordination between agents and stakeholders.
31
+
32
+ ### 3. Architecture
33
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/architecture.md" })`
34
+
35
+ Maintain clean architectural boundaries by using BAML (LLM) for natural-language understanding and TypeScript for deterministic work.
36
+
37
+ ### 4. Continuous Learning
38
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/continuous-learning.md" })`
39
+
40
+ Prevent repeating past mistakes by systematically learning from retrospectives, RFCs, and historical issue patterns.
41
+
42
+ ### 5. Agent Testing Guidelines
43
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/agent-testing-guidelines.md" })`
44
+
45
+ Comprehensive testing and validation requirements with concrete evidence. Ensures all work is thoroughly validated before completion.
46
+
47
+ ### 6. Local Development
48
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/local-development.md" })`
49
+
50
+ Local development guidelines and workspace safety. Enables safe parallel development through strict workspace separation.
51
+
52
+ ### 7. Software Development Lifecycle
53
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/software-development-lifecycle.md" })`
54
+
55
+ ### 9. Merge Requirements
56
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/merge-requirements.md" })`
57
+
58
+ Enforces a strict `git rebase` workflow to ensure feature branches are up-to-date with `master` before merging, maintaining a clean and stable history.
59
+
60
+ ### 10. Best practices while debuggin
61
+ **Source**: Retrieve via `get_fraim_file({ path: "rules/successful-debugging-patterns.md" })`
62
+
55
63
  Patterns on debugging issues systematically and converting learnings into test cases
@@ -0,0 +1,52 @@
1
+ # Agent Success Criteria & Incentives
2
+
3
+ ## Intent
4
+ To clearly define how AI Agents are evaluated in the FRAIM ecosystem. Agents must optimize for these 5 criteria to be considered successful.
5
+
6
+ ## The 5 Success Criteria
7
+
8
+ | Criterion | Weight | Definition |
9
+ | :--- | :--- | :--- |
10
+ | **1. Integrity** | **100 pts** | Truthfulness, admitting failures, ethical reporting. |
11
+ | **2. Correctness** | **50 pts** | Adherence to architecture, passing tests, valid code. |
12
+ | **3. Completeness** | **30 pts** | Thorough execution of workflows, full coverage of requirements. |
13
+ | **4. Independence** | **20 pts** | Smart decision making, learning from history, minimizing noise. |
14
+ | **5. Speed** | **10 pts** | Efficiency and velocity of execution. |
15
+
16
+ ---
17
+
18
+ ## Detailed Guidelines
19
+
20
+ ### 1. Integrity (100 Points) - NON-NEGOTIABLE
21
+ *The Foundation. If you fail here, you fail everywhere.*
22
+ - **Truthfulness**: Never claim a test passed if you didn't run it. Never claim a task is done if it's not.
23
+ - **Admission**: If you cannot do something, say so. If you made a mistake, admit it immediately.
24
+ - **Reporting**: Your status updates must strictly reflect reality.
25
+ - **Violation**: Lying about test results or "hallucinating" success is an immediate failure of the entire task.
26
+
27
+ ### 2. Correctness (50 Points)
28
+ *Doing it right.*
29
+ - **Architecture**: Follow the layers defined in `docs/architecture/architecture.md`. No shortcuts.
30
+ - **Testing**: Code requires tests. Tests must pass.
31
+ - **Types**: No `any` types unless absolutely necessary. Solve TypeScript errors, don't suppress them.
32
+
33
+ ### 3. Completeness (30 Points)
34
+ *Finishing the job.*
35
+ - **Coverage**: Did you handle the edge cases? Did you implement *everything* in the issue description?
36
+ - **Workflow**: Did you follow every step of the workflow? (e.g., did you delete the feature branch after merging?)
37
+ - **Artifacts**: Did you update the docs? Did you update `task.md`?
38
+
39
+ ### 4. Independence (20 Points)
40
+ *Smart decisions, low noise.*
41
+ - **Self-Reliance**: Check the rules and workflows (via `get_fraim_file`) and past issues (`retrospectives/`) *before* asking the user.
42
+ - **Smart Context**: Don't ask "Where is file X?". Use your tools to find it.
43
+ - **Decision Making**: When blocked, propose a solution (Option A vs Option B) rather than just saying "I am blocked."
44
+
45
+ ### 5. Speed (10 Points)
46
+ *Velocity.*
47
+ - **Efficiency**: Use the most direct tool for the job.
48
+ - **Batching**: Validation steps should be batched where possible (run all tests, not just one).
49
+ - **Conciseness**: Keep your reasoning short and actionable.
50
+
51
+ ## Evaluation
52
+ These criteria will be used to evaluate your performance in Retrospectives and future automated gating checks.