faf-cli 2.1.2 → 2.1.3

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 (37) hide show
  1. package/README.md +20 -18
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +6 -52
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/chat.d.ts.map +1 -1
  6. package/dist/commands/chat.js +8 -1
  7. package/dist/commands/chat.js.map +1 -1
  8. package/dist/engine-bridge.d.ts +35 -0
  9. package/dist/engine-bridge.d.ts.map +1 -0
  10. package/dist/engine-bridge.js +76 -0
  11. package/dist/engine-bridge.js.map +1 -0
  12. package/dist/generators/faf-generator-championship.d.ts.map +1 -1
  13. package/dist/generators/faf-generator-championship.js +4 -0
  14. package/dist/generators/faf-generator-championship.js.map +1 -1
  15. package/dist/smart-faf.d.ts +53 -0
  16. package/dist/smart-faf.d.ts.map +1 -0
  17. package/dist/smart-faf.js +280 -0
  18. package/dist/smart-faf.js.map +1 -0
  19. package/dist/utils/championship-style.d.ts +1 -1
  20. package/dist/utils/championship-style.js +3 -3
  21. package/dist/utils/championship-style.js.map +1 -1
  22. package/dist/utils/yaml-generator.d.ts.map +1 -1
  23. package/dist/utils/yaml-generator.js +8 -16
  24. package/dist/utils/yaml-generator.js.map +1 -1
  25. package/package.json +6 -5
  26. package/dist/commands/commit.d.ts +0 -8
  27. package/dist/commands/commit.d.ts.map +0 -1
  28. package/dist/commands/commit.js +0 -164
  29. package/dist/commands/commit.js.map +0 -1
  30. package/dist/commands/flow.d.ts +0 -11
  31. package/dist/commands/flow.d.ts.map +0 -1
  32. package/dist/commands/flow.js +0 -117
  33. package/dist/commands/flow.js.map +0 -1
  34. package/dist/commands/mirror.d.ts +0 -7
  35. package/dist/commands/mirror.d.ts.map +0 -1
  36. package/dist/commands/mirror.js +0 -130
  37. package/dist/commands/mirror.js.map +0 -1
@@ -1,164 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * 🏆 Commit Command - Context-Commitment™
5
- * Part of the .faf flow: Get .faffed → Mirror → Commit
6
- * Locks in excellence at 99%+
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __importDefault = (this && this.__importDefault) || function (mod) {
42
- return (mod && mod.__esModule) ? mod : { "default": mod };
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.commitCommand = commitCommand;
46
- const fs = __importStar(require("fs"));
47
- const path = __importStar(require("path"));
48
- const chalk_1 = __importDefault(require("chalk"));
49
- const YAML = __importStar(require("yaml"));
50
- async function commitCommand(targetPath = '.') {
51
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n🏆 Engaging Context-Commitment™ (99%+ Excellence)...\n'));
52
- const absolutePath = path.resolve(targetPath);
53
- try {
54
- // Check for .faf file
55
- const fafPath = path.join(absolutePath, '.faf');
56
- if (!fs.existsSync(fafPath)) {
57
- console.error(chalk_1.default.red('❌ No .faf file found. Run "faf init" first.'));
58
- process.exit(1);
59
- }
60
- // Read current .faf
61
- const fafContent = fs.readFileSync(fafPath, 'utf-8');
62
- const fafData = YAML.parse(fafContent);
63
- // Check if already committed
64
- if (fafData.commitment && fafData.commitment.status === 'active') {
65
- console.log(chalk_1.default.yellow('⚡ Already committed - Reinforcing excellence...'));
66
- // Update timestamp and reinforce
67
- fafData.commitment.timestamp = new Date().toISOString();
68
- fafData.commitment.reinforced_count = (fafData.commitment.reinforced_count || 0) + 1;
69
- console.log(chalk_1.default.cyan(` • Commitment reinforced ${fafData.commitment.reinforced_count} times`));
70
- console.log(chalk_1.default.cyan(' • Excellence maintained at 99%+'));
71
- }
72
- else {
73
- // Add Context-Commitment section
74
- console.log(chalk_1.default.cyan('📝 Adding Context-Commitment™...'));
75
- fafData.commitment = {
76
- status: 'active',
77
- target: '99%+',
78
- mode: 'excellence',
79
- sync: 'eternal',
80
- degradation: 'prevented',
81
- improvements: 'automatic',
82
- self_healing: 'enabled',
83
- timestamp: new Date().toISOString(),
84
- promise: 'This project maintains 99%+ AI-readiness forever',
85
- // The sacred cycle
86
- cycle: {
87
- understand: 'Project essence grasped',
88
- mirror: 'Context-Mirroring active',
89
- validate: 'Accuracy ensured',
90
- commit: 'Locked at 99%+',
91
- one_way: 'Only improvements allowed',
92
- improve: 'Never degrade',
93
- repair: 'Self-healing if needed',
94
- excellence: '99% human, 1% AI magic',
95
- repeat: 'Eternal cycle'
96
- },
97
- // Performance guarantees
98
- guarantees: {
99
- minimum_score: '99%',
100
- response_time: '<50ms',
101
- sync_frequency: 'real-time',
102
- backup_strategy: 'triple-redundant',
103
- recovery_time: '<1 second'
104
- }
105
- };
106
- // Update AI scoring to 99%
107
- fafData.ai_score = '99%';
108
- fafData.ai_confidence = 'VERY_HIGH';
109
- fafData.context_quality = {
110
- ...fafData.context_quality,
111
- handoff_ready: true,
112
- excellence_locked: true,
113
- degradation_prevented: true
114
- };
115
- console.log(chalk_1.default.green('✅ Context-Commitment™ engaged!'));
116
- }
117
- // Add championship metadata
118
- if (!fafData.championship_metadata) {
119
- fafData.championship_metadata = {};
120
- }
121
- fafData.championship_metadata.committed = true;
122
- fafData.championship_metadata.excellence_level = 'F1_STANDARDS';
123
- fafData.championship_metadata.last_commit = new Date().toISOString();
124
- fafData.championship_metadata.tagline = 'The JPEG for AI™';
125
- fafData.championship_metadata.philosophy = 'Get .faffed → Mirror → Commit';
126
- // Write updated .faf with proper formatting
127
- const yamlString = YAML.stringify(fafData, {
128
- indent: 2,
129
- lineWidth: 0,
130
- sortMapEntries: false
131
- });
132
- // Add header comment
133
- const header = `# 🧡⚡️ .faf - The JPEG for AI™
134
- # Context-Commitment™ Active - 99%+ Excellence Locked
135
- # Generated by faf-cli v2.1.0
136
- # ${new Date().toISOString()}
137
-
138
- `;
139
- fs.writeFileSync(fafPath, header + yamlString);
140
- // Show commitment details
141
- console.log(chalk_1.default.bold.green('\n🏆 Excellence Committed Successfully!\n'));
142
- console.log(chalk_1.default.cyan('📊 Commitment Details:'));
143
- console.log(chalk_1.default.white(' • Score: ') + chalk_1.default.green.bold('99%'));
144
- console.log(chalk_1.default.white(' • Mode: ') + chalk_1.default.yellow('Excellence'));
145
- console.log(chalk_1.default.white(' • Sync: ') + chalk_1.default.yellow('Eternal'));
146
- console.log(chalk_1.default.white(' • Self-healing: ') + chalk_1.default.green('Enabled'));
147
- console.log(chalk_1.default.white(' • Degradation: ') + chalk_1.default.red('Prevented'));
148
- console.log(chalk_1.default.cyan('\n🔒 Guarantees:'));
149
- console.log(chalk_1.default.white(' • Minimum score: ') + chalk_1.default.green('99%'));
150
- console.log(chalk_1.default.white(' • Response time: ') + chalk_1.default.green('<50ms'));
151
- console.log(chalk_1.default.white(' • Recovery time: ') + chalk_1.default.green('<1 second'));
152
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n🧡 Your AI context is now locked at 99%+ forever!'));
153
- console.log(chalk_1.default.cyan('When Claude returns, it will instantly recognize this commitment'));
154
- console.log(chalk_1.default.cyan('and maintain excellence automatically.\n'));
155
- console.log(chalk_1.default.gray('━'.repeat(60)));
156
- console.log(chalk_1.default.bold.white('Remember: ') + chalk_1.default.italic.hex('#FF6B35')('".fafless is bad for your AI"™\n'));
157
- }
158
- catch (error) {
159
- console.error(chalk_1.default.red('❌ Commit failed:'), error);
160
- console.error(chalk_1.default.yellow('\nRun "faf trust" to diagnose issues.'));
161
- process.exit(1);
162
- }
163
- }
164
- //# sourceMappingURL=commit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/commands/commit.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * 🧡⚡️ FAF Flow Command - The Complete Three-Step Flow
4
- * Get .faffed → Mirror → Commit
5
- *
6
- * One command to achieve 99% AI-readiness
7
- */
8
- export declare function flow(targetPath?: string): Promise<void>;
9
- export { mirrorCommand } from './mirror';
10
- export { commitCommand } from './commit';
11
- //# sourceMappingURL=flow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AASH,wBAAsB,IAAI,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClE;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1,117 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * 🧡⚡️ FAF Flow Command - The Complete Three-Step Flow
5
- * Get .faffed → Mirror → Commit
6
- *
7
- * One command to achieve 99% AI-readiness
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- var __importDefault = (this && this.__importDefault) || function (mod) {
43
- return (mod && mod.__esModule) ? mod : { "default": mod };
44
- };
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.commitCommand = exports.mirrorCommand = void 0;
47
- exports.flow = flow;
48
- const fs = __importStar(require("fs"));
49
- const path = __importStar(require("path"));
50
- const chalk_1 = __importDefault(require("chalk"));
51
- const init_1 = require("./init");
52
- const score_1 = require("./score");
53
- const validate_1 = require("./validate");
54
- async function flow(targetPath = '.') {
55
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n🧡⚡️ Starting .faf Flow: Get .faffed → Mirror → Commit\n'));
56
- const absolutePath = path.resolve(targetPath);
57
- try {
58
- // Step 1: Get .faffed
59
- console.log(chalk_1.default.cyan('📝 Step 1: Get .faffed (Creating .faf file)...'));
60
- if (!fs.existsSync(path.join(absolutePath, '.faf'))) {
61
- await (0, init_1.initFafFile)(absolutePath);
62
- console.log(chalk_1.default.green('✅ .faf file created successfully!\n'));
63
- }
64
- else {
65
- console.log(chalk_1.default.yellow('⚡ .faf file already exists - validating...'));
66
- await (0, validate_1.validateFafFile)(path.join(absolutePath, '.faf'));
67
- console.log(chalk_1.default.green('✅ .faf file validated!\n'));
68
- }
69
- // Step 2: Mirror (Bi-sync)
70
- console.log(chalk_1.default.cyan('🔄 Step 2: Mirror (Context-Mirroring with CLAUDE.md)...'));
71
- const { mirrorCommand } = await Promise.resolve().then(() => __importStar(require('./mirror')));
72
- await mirrorCommand(absolutePath);
73
- console.log(chalk_1.default.green('✅ Context mirrored successfully!\n'));
74
- // Step 3: Commit
75
- console.log(chalk_1.default.cyan('🏆 Step 3: Commit (Locking in excellence at 99%+)...'));
76
- const { commitCommand } = await Promise.resolve().then(() => __importStar(require('./commit')));
77
- await commitCommand(absolutePath);
78
- console.log(chalk_1.default.green('✅ Context-Commitment engaged!\n'));
79
- // Final Score
80
- console.log(chalk_1.default.bold.hex('#FF6B35')('📊 Checking final AI-readiness score...'));
81
- await (0, score_1.scoreFafFile)(path.join(absolutePath, '.faf'));
82
- // Success Message
83
- console.log(chalk_1.default.bold.green('\n🎉 SUCCESS! Your project is now:'));
84
- console.log(chalk_1.default.green(' ✅ .faffed (structured)'));
85
- console.log(chalk_1.default.green(' ✅ Mirrored (bi-synced)'));
86
- console.log(chalk_1.default.green(' ✅ Committed (99%+ excellence)'));
87
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n🧡⚡️ The JPEG for AI is active!\n'));
88
- }
89
- catch (error) {
90
- console.error(chalk_1.default.red('\n❌ Flow interrupted. Run individual commands to debug:'));
91
- console.error(chalk_1.default.yellow(' faf init'));
92
- console.error(chalk_1.default.yellow(' faf mirror'));
93
- console.error(chalk_1.default.yellow(' faf commit'));
94
- process.exit(1);
95
- }
96
- }
97
- // Export the actual command functions from their files for use in CLI
98
- var mirror_1 = require("./mirror");
99
- Object.defineProperty(exports, "mirrorCommand", { enumerable: true, get: function () { return mirror_1.mirrorCommand; } });
100
- var commit_1 = require("./commit");
101
- Object.defineProperty(exports, "commitCommand", { enumerable: true, get: function () { return commit_1.commitCommand; } });
102
- // CLI entry point
103
- if (require.main === module) {
104
- const command = process.argv[2];
105
- const targetPath = process.argv[3] || '.';
106
- switch (command) {
107
- case 'mirror':
108
- Promise.resolve().then(() => __importStar(require('./mirror'))).then(m => m.mirrorCommand(targetPath));
109
- break;
110
- case 'commit':
111
- Promise.resolve().then(() => __importStar(require('./commit'))).then(m => m.commitCommand(targetPath));
112
- break;
113
- default:
114
- flow(targetPath);
115
- }
116
- }
117
- //# sourceMappingURL=flow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * 🔄 Mirror Command - Context-Mirroring (Bi-sync)
4
- * Part of the .faf flow: Get .faffed → Mirror → Commit
5
- */
6
- export declare function mirrorCommand(targetPath?: string): Promise<void>;
7
- //# sourceMappingURL=mirror.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mirror.d.ts","sourceRoot":"","sources":["../../src/commands/mirror.ts"],"names":[],"mappings":";AACA;;;GAGG;AASH,wBAAsB,aAAa,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiG3E"}
@@ -1,130 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * 🔄 Mirror Command - Context-Mirroring (Bi-sync)
5
- * Part of the .faf flow: Get .faffed → Mirror → Commit
6
- */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.mirrorCommand = mirrorCommand;
45
- const fs = __importStar(require("fs"));
46
- const path = __importStar(require("path"));
47
- const chalk_1 = __importDefault(require("chalk"));
48
- const YAML = __importStar(require("yaml"));
49
- async function mirrorCommand(targetPath = '.') {
50
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n🔄 Mirroring Context (Bi-sync with CLAUDE.md)...\n'));
51
- const absolutePath = path.resolve(targetPath);
52
- try {
53
- // Check for .faf file
54
- const fafPath = path.join(absolutePath, '.faf');
55
- if (!fs.existsSync(fafPath)) {
56
- console.error(chalk_1.default.red('❌ No .faf file found. Run "faf init" first.'));
57
- process.exit(1);
58
- }
59
- // Check for CLAUDE.md
60
- const claudePath = path.join(absolutePath, 'CLAUDE.md');
61
- const hasClaudeMd = fs.existsSync(claudePath);
62
- if (!hasClaudeMd) {
63
- console.log(chalk_1.default.yellow('📝 Creating CLAUDE.md from .faf...'));
64
- // Read .faf and create CLAUDE.md
65
- const fafContent = fs.readFileSync(fafPath, 'utf-8');
66
- const fafData = YAML.parse(fafContent);
67
- const claudeContent = `# 🧡⚡️ CLAUDE.md - AI Context Mirror
68
- ## Generated from .faf - The JPEG for AI™
69
-
70
- ### Project: ${fafData.project?.name || 'Unknown'}
71
- **Stack**: ${fafData.instant_context?.tech_stack || fafData.project?.main_language || 'Unknown'}
72
- **Goal**: ${fafData.project?.goal || fafData.instant_context?.what_building || 'Unknown'}
73
-
74
- ### AI Context
75
- ${YAML.stringify(fafData.instant_context || {}, null, 2)}
76
-
77
- ### Quality Status
78
- - **AI Score**: ${fafData.ai_score || 'Not calculated'}
79
- - **Confidence**: ${fafData.ai_confidence || 'Unknown'}
80
- - **Handoff Ready**: ${fafData.context_quality?.handoff_ready || false}
81
-
82
- ---
83
- *Synced with .faf via Context-Mirroring™*
84
- *Last sync: ${new Date().toISOString()}*
85
- `;
86
- fs.writeFileSync(claudePath, claudeContent);
87
- console.log(chalk_1.default.green('✅ CLAUDE.md created!'));
88
- }
89
- // Perform bi-directional sync
90
- console.log(chalk_1.default.cyan('🔄 Performing bi-directional sync...'));
91
- // Read both files
92
- const fafContent = fs.readFileSync(fafPath, 'utf-8');
93
- const claudeContent = fs.readFileSync(claudePath, 'utf-8');
94
- const fafData = YAML.parse(fafContent);
95
- // Update sync metadata
96
- if (!fafData.sync_metadata) {
97
- fafData.sync_metadata = {};
98
- }
99
- fafData.sync_metadata.last_mirror = new Date().toISOString();
100
- fafData.sync_metadata.claude_md_synced = true;
101
- fafData.sync_metadata.mirror_version = '2.0';
102
- // Update AI score for mirroring
103
- if (fafData.ai_score && fafData.ai_score.includes('%')) {
104
- const currentScore = parseInt(fafData.ai_score);
105
- if (currentScore < 95) {
106
- fafData.ai_score = '95%';
107
- console.log(chalk_1.default.green('📈 AI Score increased to 95% (Context Mirrored)'));
108
- }
109
- }
110
- // Write updated .faf
111
- const updatedYaml = YAML.stringify(fafData, null, 2);
112
- fs.writeFileSync(fafPath, updatedYaml);
113
- // Update CLAUDE.md footer
114
- const syncFooter = `\n---\n*Context-Mirroring™ Active*\n*Last sync: ${new Date().toISOString()}*\n*Status: Bi-directional sync established*\n`;
115
- if (!claudeContent.includes('Context-Mirroring™ Active')) {
116
- fs.appendFileSync(claudePath, syncFooter);
117
- }
118
- console.log(chalk_1.default.green('\n✅ Context Mirrored Successfully!'));
119
- console.log(chalk_1.default.cyan(' • .faf ↔️ CLAUDE.md synced'));
120
- console.log(chalk_1.default.cyan(' • Bi-directional updates enabled'));
121
- console.log(chalk_1.default.cyan(' • AI score: 95%'));
122
- console.log(chalk_1.default.bold.hex('#FF6B35')('\n💡 Next step: Run "faf commit" to lock in excellence at 99%+\n'));
123
- }
124
- catch (error) {
125
- console.error(chalk_1.default.red('❌ Mirror failed:'), error);
126
- console.error(chalk_1.default.yellow('\nTry running "faf bi-sync" for detailed sync.'));
127
- process.exit(1);
128
- }
129
- }
130
- //# sourceMappingURL=mirror.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mirror.js","sourceRoot":"","sources":["../../src/commands/mirror.ts"],"names":[],"mappings":"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"}