fraim-framework 2.0.36 → 2.0.38
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/bin/fraim.js +5 -52
- package/dist/registry/scripts/build-scripts-generator.js +205 -0
- package/dist/registry/scripts/fraim-config.js +61 -0
- package/dist/registry/scripts/generic-issues-api.js +100 -0
- package/dist/registry/scripts/openapi-generator.js +664 -0
- package/dist/registry/scripts/performance/profile-server.js +390 -0
- package/dist/scripts/build-stub-registry.js +108 -0
- package/dist/src/cli/commands/doctor.js +5 -5
- package/dist/src/cli/commands/init-project.js +74 -0
- package/dist/src/cli/commands/setup.js +176 -0
- package/dist/src/cli/commands/sync.js +33 -19
- package/dist/src/cli/commands/test-mcp.js +135 -0
- package/dist/src/cli/fraim.js +6 -0
- package/dist/src/cli/setup/auto-mcp-setup.js +367 -0
- package/dist/src/cli/setup/ide-detector.js +163 -0
- package/dist/src/cli/setup/mcp-config-generator.js +115 -0
- package/dist/src/cli/setup/token-validator.js +49 -0
- package/dist/test-utils.js +96 -0
- package/dist/tests/debug-tools.js +2 -2
- package/dist/tests/esm-compat.js +11 -0
- package/dist/tests/shared-server-utils.js +57 -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 +2 -18
- package/dist/tests/test-chalk-resolution-issue.js +304 -0
- package/dist/tests/test-client-scripts-validation.js +27 -5
- package/dist/tests/test-complete-setup-flow.js +110 -0
- package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
- package/dist/tests/test-ide-detector.js +46 -0
- package/dist/tests/test-improved-setup.js +121 -0
- package/dist/tests/test-mcp-config-generator.js +70 -0
- package/dist/tests/test-mcp-connection.js +58 -117
- package/dist/tests/test-mcp-issue-integration.js +2 -2
- package/dist/tests/test-mcp-lifecycle-methods.js +34 -100
- package/dist/tests/test-mcp-shared-server.js +308 -0
- package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
- package/dist/tests/test-package-size.js +101 -0
- package/dist/tests/test-prep-issue.js +34 -1
- package/dist/tests/test-script-location-independence.js +39 -62
- package/dist/tests/test-server-utils.js +32 -0
- package/dist/tests/test-session-rehydration.js +2 -2
- package/dist/tests/test-setup-integration.js +98 -0
- package/dist/tests/test-standalone.js +2 -2
- package/dist/tests/test-stub-registry.js +136 -0
- package/dist/tests/test-sync-stubs.js +143 -0
- package/dist/tests/test-telemetry.js +2 -2
- package/dist/tests/test-token-validator.js +30 -0
- package/dist/tests/test-user-journey.js +2 -1
- package/package.json +7 -9
- package/registry/agent-guardrails.md +62 -62
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/prep-issue.sh +61 -30
- package/registry/scripts/validate-openapi-limits.ts +366 -366
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- package/registry/stubs/workflows/bootstrap/create-architecture.md +11 -0
- package/registry/stubs/workflows/bootstrap/detect-broken-windows.md +11 -0
- package/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +11 -0
- package/registry/stubs/workflows/bootstrap/verify-test-coverage.md +11 -0
- package/registry/stubs/workflows/business-development/create-business-plan.md +11 -0
- package/registry/stubs/workflows/business-development/ideate-business-opportunity.md +11 -0
- package/registry/stubs/workflows/business-development/price-product.md +18 -0
- package/registry/stubs/workflows/convert-to-pdf.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-analysis.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-triage.md +11 -0
- package/registry/stubs/workflows/customer-development/interview-preparation.md +11 -0
- package/registry/stubs/workflows/customer-development/linkedin-outreach.md +11 -0
- package/registry/stubs/workflows/customer-development/strategic-brainstorming.md +11 -0
- package/registry/stubs/workflows/customer-development/thank-customers.md +11 -0
- package/registry/stubs/workflows/customer-development/weekly-newsletter.md +11 -0
- package/registry/stubs/workflows/deploy/cloud-deployment.md +11 -0
- package/registry/stubs/workflows/improve-fraim/contribute.md +11 -0
- package/registry/stubs/workflows/improve-fraim/file-issue.md +11 -0
- package/registry/stubs/workflows/marketing/content-creation.md +11 -0
- package/registry/stubs/workflows/marketing/hbr-article.md +11 -0
- package/registry/stubs/workflows/marketing/launch-checklist.md +11 -0
- package/registry/stubs/workflows/marketing/marketing-strategy.md +11 -0
- package/registry/stubs/workflows/marketing/storytelling.md +11 -0
- package/registry/stubs/workflows/performance/analyze-performance.md +11 -0
- package/registry/stubs/workflows/product-building/design.md +11 -0
- package/registry/stubs/workflows/product-building/implement.md +12 -0
- package/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +11 -0
- package/registry/stubs/workflows/product-building/prep-issue.md +11 -0
- package/registry/stubs/workflows/product-building/prototype.md +11 -0
- package/registry/stubs/workflows/product-building/resolve.md +11 -0
- package/registry/stubs/workflows/product-building/retrospect.md +11 -0
- package/registry/stubs/workflows/product-building/spec.md +11 -0
- package/registry/stubs/workflows/product-building/test.md +11 -0
- package/registry/stubs/workflows/quality-assurance/browser-validation.md +11 -0
- package/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-discovery.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-to-issues.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +11 -0
- package/registry/stubs/workflows/startup-credits/aws-activate-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/google-cloud-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +11 -0
- package/.github/workflows/ci.yml +0 -65
- package/.github/workflows/deploy-fraim.yml +0 -87
- package/.github/workflows/phase-change.yml +0 -251
- package/.github/workflows/status-change.yml +0 -68
- package/.github/workflows/sync-on-pr-review.yml +0 -66
- package/examples/simple-webapp/TESTING.md +0 -62
- package/examples/simple-webapp/example-test.ts +0 -186
- package/registry/github/workflows/ci.yml +0 -51
- package/registry/github/workflows/phase-change.yml +0 -251
- package/registry/github/workflows/status-change.yml +0 -68
- package/registry/github/workflows/sync-on-pr-review.yml +0 -66
- package/registry/mcp-template.jsonc +0 -29
- package/registry/rules/agent-success-criteria.md +0 -52
- package/registry/rules/agent-testing-guidelines.md +0 -502
- package/registry/rules/architecture.md +0 -52
- package/registry/rules/communication.md +0 -122
- package/registry/rules/continuous-learning.md +0 -55
- package/registry/rules/debugging-multitenancy-issues.md +0 -85
- package/registry/rules/ephemeral-execution.md +0 -57
- package/registry/rules/git-safe-commands.md +0 -34
- package/registry/rules/hitl-ppe-record-analysis.md +0 -302
- package/registry/rules/integrity-and-test-ethics.md +0 -275
- package/registry/rules/local-development.md +0 -254
- package/registry/rules/merge-requirements.md +0 -231
- package/registry/rules/simplicity.md +0 -118
- package/registry/rules/software-development-lifecycle.md +0 -105
- package/registry/rules/spike-first-development.md +0 -205
- package/registry/rules/successful-debugging-patterns.md +0 -491
- package/registry/rules/telemetry.md +0 -67
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
- package/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
- package/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
- package/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
- package/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
- package/registry/templates/customer-development/customer-interview-template.md +0 -99
- package/registry/templates/customer-development/follow-up-email-templates.md +0 -132
- package/registry/templates/customer-development/insight-analysis-template.md +0 -74
- package/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
- package/registry/templates/customer-development/thank-you-email-template.html +0 -124
- package/registry/templates/customer-development/thank-you-note-template.md +0 -16
- package/registry/templates/customer-development/triage-log-template.md +0 -278
- package/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
- package/registry/templates/evidence/Design-Evidence.md +0 -30
- package/registry/templates/evidence/Implementation-BugEvidence.md +0 -86
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -121
- package/registry/templates/evidence/Spec-Evidence.md +0 -19
- package/registry/templates/help/HelpNeeded.md +0 -14
- package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
- package/registry/templates/replicate/implementation-checklist.md +0 -39
- package/registry/templates/replicate/use-cases-template.md +0 -88
- package/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
- package/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
- package/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -29
- package/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
- package/registry/workflows/bootstrap/create-architecture.md +0 -38
- package/registry/workflows/bootstrap/evaluate-code-quality.md +0 -36
- package/registry/workflows/bootstrap/verify-test-coverage.md +0 -37
- package/registry/workflows/business-development/create-business-plan.md +0 -737
- package/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
- package/registry/workflows/business-development/price-product.md +0 -325
- package/registry/workflows/convert-to-pdf.md +0 -235
- package/registry/workflows/customer-development/insight-analysis.md +0 -156
- package/registry/workflows/customer-development/insight-triage.md +0 -933
- package/registry/workflows/customer-development/interview-preparation.md +0 -421
- package/registry/workflows/customer-development/linkedin-outreach.md +0 -593
- package/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
- package/registry/workflows/customer-development/thank-customers.md +0 -203
- package/registry/workflows/customer-development/weekly-newsletter.md +0 -366
- package/registry/workflows/deploy/cloud-deployment.md +0 -310
- package/registry/workflows/improve-fraim/contribute.md +0 -32
- package/registry/workflows/improve-fraim/file-issue.md +0 -32
- package/registry/workflows/marketing/content-creation.md +0 -37
- package/registry/workflows/marketing/hbr-article.md +0 -73
- package/registry/workflows/marketing/launch-checklist.md +0 -37
- package/registry/workflows/marketing/marketing-strategy.md +0 -45
- package/registry/workflows/performance/analyze-performance.md +0 -65
- package/registry/workflows/product-building/design.md +0 -130
- package/registry/workflows/product-building/implement.md +0 -315
- package/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
- package/registry/workflows/product-building/prep-issue.md +0 -43
- package/registry/workflows/product-building/prototype.md +0 -60
- package/registry/workflows/product-building/resolve.md +0 -164
- package/registry/workflows/product-building/retrospect.md +0 -86
- package/registry/workflows/product-building/spec.md +0 -117
- package/registry/workflows/product-building/test.md +0 -120
- package/registry/workflows/quality-assurance/browser-validation.md +0 -221
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
- package/registry/workflows/replicate/replicate-discovery.md +0 -336
- package/registry/workflows/replicate/replicate-to-issues.md +0 -319
- package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -632
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -669
- package/registry/workflows/startup-credits/aws-activate-application.md +0 -535
- package/registry/workflows/startup-credits/google-cloud-application.md +0 -647
- package/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const token_validator_1 = require("../src/cli/setup/token-validator");
|
|
9
|
+
(0, node_test_1.test)('isValidTokenFormat should validate FRAIM keys correctly', () => {
|
|
10
|
+
(0, node_assert_1.default)((0, token_validator_1.isValidTokenFormat)('fraim_abc123456789012', 'fraim'), 'Valid FRAIM key should pass');
|
|
11
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('invalid_key', 'fraim'), 'Invalid FRAIM key should fail');
|
|
12
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('fraim_short', 'fraim'), 'Short FRAIM key should fail');
|
|
13
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('', 'fraim'), 'Empty string should fail');
|
|
14
|
+
});
|
|
15
|
+
(0, node_test_1.test)('isValidTokenFormat should validate GitHub tokens correctly', () => {
|
|
16
|
+
(0, node_assert_1.default)((0, token_validator_1.isValidTokenFormat)('ghp_abc123456789', 'github'), 'Valid GitHub classic token should pass');
|
|
17
|
+
(0, node_assert_1.default)((0, token_validator_1.isValidTokenFormat)('github_pat_abc123456789', 'github'), 'Valid GitHub PAT should pass');
|
|
18
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('invalid_token', 'github'), 'Invalid GitHub token should fail');
|
|
19
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('gho_abc123456789', 'github'), 'OAuth token should fail');
|
|
20
|
+
(0, node_assert_1.default)(!(0, token_validator_1.isValidTokenFormat)('', 'github'), 'Empty string should fail');
|
|
21
|
+
});
|
|
22
|
+
(0, node_test_1.test)('validateFraimKey should validate format', async () => {
|
|
23
|
+
const validKey = 'fraim_abc123456789012';
|
|
24
|
+
const invalidKey = 'invalid_key';
|
|
25
|
+
const shortKey = 'fraim_short';
|
|
26
|
+
(0, node_assert_1.default)(await (0, token_validator_1.validateFraimKey)(validKey), 'Valid FRAIM key should pass');
|
|
27
|
+
(0, node_assert_1.default)(!await (0, token_validator_1.validateFraimKey)(invalidKey), 'Invalid FRAIM key should fail');
|
|
28
|
+
(0, node_assert_1.default)(!await (0, token_validator_1.validateFraimKey)(shortKey), 'Short FRAIM key should fail');
|
|
29
|
+
(0, node_assert_1.default)(!await (0, token_validator_1.validateFraimKey)(''), 'Empty key should fail');
|
|
30
|
+
});
|
|
@@ -12,6 +12,7 @@ const tree_kill_1 = __importDefault(require("tree-kill"));
|
|
|
12
12
|
const fs_1 = __importDefault(require("fs"));
|
|
13
13
|
const path_1 = __importDefault(require("path"));
|
|
14
14
|
const os_1 = __importDefault(require("os"));
|
|
15
|
+
const test_server_utils_1 = require("./test-server-utils");
|
|
15
16
|
async function testDualDiscoveryJourney() {
|
|
16
17
|
console.log(' 🚀 Starting Dual Discovery User Journey Test...');
|
|
17
18
|
// Setup
|
|
@@ -156,7 +157,7 @@ async function testDualDiscoveryJourney() {
|
|
|
156
157
|
fs_1.default.writeFileSync(path_1.default.join(tempDir, 'package.json'), JSON.stringify({
|
|
157
158
|
dependencies: { "@fraim/framework": "1.0.0" }
|
|
158
159
|
}));
|
|
159
|
-
const serverScript =
|
|
160
|
+
const serverScript = (0, test_server_utils_1.getServerScriptPath)();
|
|
160
161
|
fraimProcess = (0, node_child_process_1.spawn)(process.execPath, [tsxCli, serverScript], {
|
|
161
162
|
cwd: tempDir,
|
|
162
163
|
env: { ...process.env, FRAIM_MCP_PORT: PORT.toString(), FRAIM_SKIP_INDEX_ON_START: 'true' },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fraim-framework",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.38",
|
|
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,9 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"setup": "node setup.js",
|
|
12
12
|
"dev": "tsx --watch src/fraim-mcp-server.ts",
|
|
13
|
-
"build": "tsc && npm run validate:registry",
|
|
14
|
-
"
|
|
13
|
+
"build": "tsc && npm run build:stubs && npm run validate:registry",
|
|
14
|
+
"build:stubs": "tsx scripts/build-stub-registry.ts",
|
|
15
|
+
"test": "node scripts/test-with-server.js",
|
|
15
16
|
"start:fraim": "tsx src/fraim-mcp-server.ts",
|
|
16
17
|
"dev:fraim": "tsx --watch src/fraim-mcp-server.ts",
|
|
17
18
|
"watch:fraimlogs": "tsx scripts/watch-fraim-logs.ts",
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
"postinstall": "fraim sync || echo 'FRAIM setup skipped.'",
|
|
22
23
|
"prepublishOnly": "npm run build",
|
|
23
24
|
"release": "npm version patch && npm publish",
|
|
24
|
-
"test-smoke-ci": "tsx --test tests/test-genericization.ts tests/test-cli.ts",
|
|
25
|
+
"test-smoke-ci": "tsx --test tests/test-genericization.ts tests/test-cli.ts tests/test-stub-registry.ts tests/test-sync-stubs.ts",
|
|
25
26
|
"test-all-ci": "tsx --test tests/test-*.ts",
|
|
26
27
|
"validate:registry": "tsx scripts/verify-registry-paths.ts"
|
|
27
28
|
},
|
|
@@ -67,11 +68,8 @@
|
|
|
67
68
|
},
|
|
68
69
|
"files": [
|
|
69
70
|
"dist/",
|
|
70
|
-
"registry/",
|
|
71
|
-
"
|
|
72
|
-
".windsurf/",
|
|
73
|
-
".github/",
|
|
74
|
-
"examples/",
|
|
71
|
+
"registry/stubs/",
|
|
72
|
+
"registry/scripts/",
|
|
75
73
|
"bin/",
|
|
76
74
|
"*.js",
|
|
77
75
|
"*.ts",
|
|
@@ -1,63 +1,63 @@
|
|
|
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
|
-
|
|
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
|
+
|
|
63
63
|
Patterns on debugging issues systematically and converting learnings into test cases
|