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.
- package/.github/workflows/deploy-fraim.yml +1 -1
- package/dist/registry/scripts/build-scripts-generator.js +205 -0
- package/dist/registry/scripts/cleanup-branch.js +258 -0
- package/dist/registry/scripts/evaluate-code-quality.js +66 -0
- package/dist/registry/scripts/exec-with-timeout.js +142 -0
- package/dist/registry/scripts/fraim-config.js +61 -0
- package/dist/registry/scripts/generate-engagement-emails.js +630 -0
- package/dist/registry/scripts/generic-issues-api.js +100 -0
- package/dist/registry/scripts/newsletter-helpers.js +731 -0
- package/dist/registry/scripts/openapi-generator.js +664 -0
- package/dist/registry/scripts/performance/profile-server.js +390 -0
- package/dist/registry/scripts/run-thank-you-workflow.js +92 -0
- package/dist/registry/scripts/send-newsletter-simple.js +85 -0
- package/dist/registry/scripts/send-thank-you-emails.js +54 -0
- package/dist/registry/scripts/validate-openapi-limits.js +311 -0
- package/dist/registry/scripts/validate-test-coverage.js +262 -0
- package/dist/registry/scripts/verify-test-coverage.js +66 -0
- package/dist/src/cli/commands/init.js +14 -14
- package/dist/src/cli/commands/sync.js +4 -4
- package/dist/src/cli/fraim.js +24 -22
- package/dist/src/cli/setup/first-run.js +13 -6
- package/dist/src/fraim/db-service.js +26 -15
- package/dist/src/fraim/issues.js +67 -0
- package/dist/src/fraim-mcp-server.js +272 -18
- package/dist/src/utils/git-utils.js +1 -1
- package/dist/tests/debug-tools.js +79 -0
- package/dist/tests/esm-compat.js +11 -0
- package/dist/tests/test-chalk-esm-issue.js +159 -0
- package/dist/tests/test-chalk-real-world.js +265 -0
- package/dist/tests/test-chalk-regression.js +327 -0
- package/dist/tests/test-chalk-resolution-issue.js +304 -0
- package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
- package/dist/tests/test-fraim-issues.js +59 -0
- package/dist/tests/test-genericization.js +1 -1
- package/dist/tests/test-mcp-connection.js +166 -0
- package/dist/tests/test-mcp-issue-integration.js +144 -0
- package/dist/tests/test-mcp-lifecycle-methods.js +312 -0
- package/dist/tests/test-node-compatibility.js +71 -0
- package/dist/tests/test-npm-install.js +66 -0
- package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
- package/dist/tests/test-session-rehydration.js +145 -0
- package/dist/tests/test-standalone.js +2 -8
- package/dist/tests/test-telemetry.js +190 -0
- package/package.json +10 -8
- package/registry/agent-guardrails.md +62 -54
- package/registry/rules/agent-success-criteria.md +52 -0
- package/registry/rules/agent-testing-guidelines.md +502 -502
- package/registry/rules/communication.md +121 -121
- package/registry/rules/continuous-learning.md +54 -54
- package/registry/rules/ephemeral-execution.md +10 -5
- package/registry/rules/hitl-ppe-record-analysis.md +302 -302
- package/registry/rules/local-development.md +251 -251
- package/registry/rules/software-development-lifecycle.md +104 -104
- package/registry/rules/successful-debugging-patterns.md +482 -478
- package/registry/rules/telemetry.md +67 -0
- package/registry/scripts/build-scripts-generator.ts +216 -215
- package/registry/scripts/cleanup-branch.ts +303 -284
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/evaluate-code-quality.ts +1 -1
- package/registry/scripts/generate-engagement-emails.ts +744 -744
- package/registry/scripts/generic-issues-api.ts +110 -150
- package/registry/scripts/newsletter-helpers.ts +874 -874
- package/registry/scripts/openapi-generator.ts +695 -693
- package/registry/scripts/performance/profile-server.ts +5 -3
- package/registry/scripts/prep-issue.sh +468 -455
- package/registry/scripts/validate-openapi-limits.ts +366 -365
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- package/registry/scripts/verify-test-coverage.ts +1 -1
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -53
- package/registry/templates/evidence/Implementation-BugEvidence.md +85 -85
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +120 -120
- package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +66 -0
- package/registry/workflows/bootstrap/create-architecture.md +2 -2
- package/registry/workflows/bootstrap/evaluate-code-quality.md +3 -3
- package/registry/workflows/bootstrap/verify-test-coverage.md +2 -2
- package/registry/workflows/customer-development/insight-analysis.md +156 -156
- package/registry/workflows/customer-development/interview-preparation.md +421 -421
- package/registry/workflows/customer-development/strategic-brainstorming.md +146 -146
- package/registry/workflows/customer-development/thank-customers.md +193 -191
- package/registry/workflows/customer-development/weekly-newsletter.md +362 -352
- package/registry/workflows/improve-fraim/contribute.md +32 -0
- package/registry/workflows/improve-fraim/file-issue.md +32 -0
- package/registry/workflows/marketing/hbr-article.md +73 -0
- package/registry/workflows/performance/analyze-performance.md +63 -59
- package/registry/workflows/product-building/design.md +3 -2
- package/registry/workflows/product-building/implement.md +4 -3
- package/registry/workflows/product-building/prep-issue.md +28 -17
- package/registry/workflows/product-building/resolve.md +3 -2
- package/registry/workflows/product-building/retrospect.md +3 -2
- package/registry/workflows/product-building/spec.md +5 -4
- package/registry/workflows/product-building/test.md +3 -2
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -562
- package/registry/workflows/replicate/website-discovery-analysis.md +3 -3
- package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +632 -632
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
- package/tsconfig.json +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fraim-framework",
|
|
3
|
-
"version": "2.0.
|
|
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
|
|
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.
|
|
84
|
-
"chalk": "
|
|
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
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
###
|
|
18
|
-
**Source**:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
###
|
|
23
|
-
**Source**:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
###
|
|
28
|
-
**Source**:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
###
|
|
33
|
-
**Source**:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
###
|
|
38
|
-
**Source**:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
###
|
|
43
|
-
**Source**:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
###
|
|
48
|
-
**Source**:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
###
|
|
53
|
-
**Source**:
|
|
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.
|