brainforge-ai 1.2.0 → 1.2.2

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 (53) hide show
  1. package/README.md +193 -570
  2. package/dist/cli.js +47 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/defensePack.d.ts +2 -0
  5. package/dist/commands/defensePack.d.ts.map +1 -0
  6. package/dist/commands/defensePack.js +269 -0
  7. package/dist/commands/defensePack.js.map +1 -0
  8. package/dist/commands/difficulty.d.ts +2 -0
  9. package/dist/commands/difficulty.d.ts.map +1 -0
  10. package/dist/commands/difficulty.js +177 -0
  11. package/dist/commands/difficulty.js.map +1 -0
  12. package/dist/commands/doctor.d.ts.map +1 -1
  13. package/dist/commands/doctor.js +53 -1
  14. package/dist/commands/doctor.js.map +1 -1
  15. package/dist/commands/help.d.ts.map +1 -1
  16. package/dist/commands/help.js +24 -1
  17. package/dist/commands/help.js.map +1 -1
  18. package/dist/commands/init.d.ts +6 -1
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +64 -2
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/professorCheck.d.ts +2 -0
  23. package/dist/commands/professorCheck.d.ts.map +1 -0
  24. package/dist/commands/professorCheck.js +203 -0
  25. package/dist/commands/professorCheck.js.map +1 -0
  26. package/dist/commands/simplify.d.ts +2 -0
  27. package/dist/commands/simplify.d.ts.map +1 -0
  28. package/dist/commands/simplify.js +174 -0
  29. package/dist/commands/simplify.js.map +1 -0
  30. package/dist/commands/status.d.ts +2 -0
  31. package/dist/commands/status.d.ts.map +1 -0
  32. package/dist/commands/status.js +105 -0
  33. package/dist/commands/status.js.map +1 -0
  34. package/dist/commands/study.d.ts +2 -0
  35. package/dist/commands/study.d.ts.map +1 -0
  36. package/dist/commands/study.js +193 -0
  37. package/dist/commands/study.js.map +1 -0
  38. package/dist/commands/update.js +2 -2
  39. package/dist/commands/update.js.map +1 -1
  40. package/dist/core/dashboard.d.ts +41 -0
  41. package/dist/core/dashboard.d.ts.map +1 -1
  42. package/dist/core/dashboard.js +121 -0
  43. package/dist/core/dashboard.js.map +1 -1
  44. package/dist/core/dashboardTemplate.d.ts.map +1 -1
  45. package/dist/core/dashboardTemplate.js +523 -92
  46. package/dist/core/dashboardTemplate.js.map +1 -1
  47. package/dist/core/fileSystem.d.ts.map +1 -1
  48. package/dist/core/fileSystem.js +175 -0
  49. package/dist/core/fileSystem.js.map +1 -1
  50. package/dist/core/templates.d.ts.map +1 -1
  51. package/dist/core/templates.js +652 -233
  52. package/dist/core/templates.js.map +1 -1
  53. package/package.json +5 -1
package/dist/cli.js CHANGED
@@ -9,6 +9,12 @@ const updateDashboard_1 = require("./commands/updateDashboard");
9
9
  const serve_1 = require("./commands/serve");
10
10
  const help_1 = require("./commands/help");
11
11
  const update_1 = require("./commands/update");
12
+ const status_1 = require("./commands/status");
13
+ const simplify_1 = require("./commands/simplify");
14
+ const professorCheck_1 = require("./commands/professorCheck");
15
+ const study_1 = require("./commands/study");
16
+ const difficulty_1 = require("./commands/difficulty");
17
+ const defensePack_1 = require("./commands/defensePack");
12
18
  // eslint-disable-next-line @typescript-eslint/no-var-requires
13
19
  const pkg = require('../package.json');
14
20
  const program = new commander_1.Command();
@@ -19,8 +25,10 @@ program
19
25
  program
20
26
  .command('init')
21
27
  .description('Initialize BrainForge in the current directory')
22
- .action(async () => {
23
- await (0, init_1.initCommand)();
28
+ .option('-y, --yes', 'Skip prompts and use defaults (non-interactive)')
29
+ .option('--preset <name>', 'Use a preset configuration: student')
30
+ .action(async (opts) => {
31
+ await (0, init_1.initCommand)(opts);
24
32
  });
25
33
  program
26
34
  .command('doctor')
@@ -59,6 +67,43 @@ program
59
67
  .action(() => {
60
68
  (0, help_1.helpCommand)();
61
69
  });
70
+ program
71
+ .command('status')
72
+ .description('Show a compact summary of the current BrainForge project')
73
+ .action(async () => {
74
+ await (0, status_1.statusCommand)();
75
+ });
76
+ program
77
+ .command('simplify')
78
+ .description('Generate a prompt to simplify code to match the project code level')
79
+ .action(() => {
80
+ (0, simplify_1.simplifyCommand)();
81
+ });
82
+ program
83
+ .command('professor-check')
84
+ .description('Generate a prompt to detect suspiciously AI-generated code patterns')
85
+ .action(() => {
86
+ (0, professorCheck_1.professorCheckCommand)();
87
+ });
88
+ program
89
+ .command('study')
90
+ .description('Initialize Study Mode files to help understand and explain the project')
91
+ .action(async () => {
92
+ await (0, study_1.studyCommand)();
93
+ });
94
+ program
95
+ .command('difficulty')
96
+ .alias('analyze-difficulty')
97
+ .description('Generate a difficulty analysis workflow for studying important files')
98
+ .action(async () => {
99
+ await (0, difficulty_1.difficultyCommand)();
100
+ });
101
+ program
102
+ .command('defense-pack')
103
+ .description('Generate an oral defense and presentation preparation workflow')
104
+ .action(async () => {
105
+ await (0, defensePack_1.defensePackCommand)();
106
+ });
62
107
  program
63
108
  .command('version')
64
109
  .description('Show version information')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,8CAAkD;AAClD,oDAAwD;AACxD,gEAAoE;AACpE,4CAAgD;AAChD,0CAA8C;AAC9C,8CAAkD;AAClD,8DAA8D;AAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CACV,yGAAyG,CAC1G;KACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,kBAAW,GAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,sBAAa,GAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,4BAAgB,GAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,mDAAmD,CAAC;KAChE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,wCAAsB,GAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAA,oBAAY,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0FAA0F,CAAC;KACvG,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,sBAAa,GAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,kBAAW,GAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function defensePackCommand(): Promise<void>;
2
+ //# sourceMappingURL=defensePack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defensePack.d.ts","sourceRoot":"","sources":["../../src/commands/defensePack.ts"],"names":[],"mappings":"AAMA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4DxD"}
@@ -0,0 +1,269 @@
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
+ exports.defensePackCommand = defensePackCommand;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const config_1 = require("../core/config");
11
+ const logger_1 = require("../utils/logger");
12
+ async function defensePackCommand() {
13
+ const cwd = process.cwd();
14
+ if (!(0, config_1.configExists)(cwd)) {
15
+ logger_1.logger.error('BrainForge not initialized. Run: brainforge init');
16
+ return;
17
+ }
18
+ const config = (0, config_1.readConfig)(cwd);
19
+ const brainDir = (0, config_1.getBrainforgeDir)(cwd);
20
+ const studyDir = path_1.default.join(brainDir, 'study');
21
+ logger_1.logger.title('⚡ BrainForge Defense Pack');
22
+ logger_1.logger.divider();
23
+ logger_1.logger.info(`Project: ${chalk_1.default.white(config.projectName)}`);
24
+ console.log();
25
+ await fs_extra_1.default.ensureDir(path_1.default.join(brainDir, 'reports'));
26
+ await fs_extra_1.default.ensureDir(studyDir);
27
+ const reportPath = path_1.default.join(brainDir, 'reports', 'defense-pack.md');
28
+ const commandPath = path_1.default.join(brainDir, 'commands', 'defense-pack.md');
29
+ const oralPath = path_1.default.join(studyDir, 'oral-defense.md');
30
+ if (!fs_extra_1.default.existsSync(reportPath)) {
31
+ await fs_extra_1.default.writeFile(reportPath, generateDefensePackTemplate(config.projectName));
32
+ console.log(chalk_1.default.green(' ✔ Created: ') + chalk_1.default.gray('.brainforge/reports/defense-pack.md'));
33
+ }
34
+ else {
35
+ console.log(chalk_1.default.gray(' ○ Exists: ') + chalk_1.default.gray('.brainforge/reports/defense-pack.md'));
36
+ }
37
+ if (!fs_extra_1.default.existsSync(oralPath)) {
38
+ await fs_extra_1.default.writeFile(oralPath, generateOralDefenseTemplate());
39
+ console.log(chalk_1.default.green(' ✔ Created: ') + chalk_1.default.gray('.brainforge/study/oral-defense.md'));
40
+ }
41
+ else {
42
+ console.log(chalk_1.default.gray(' ○ Exists: ') + chalk_1.default.gray('.brainforge/study/oral-defense.md'));
43
+ }
44
+ await fs_extra_1.default.writeFile(commandPath, generateDefensePackCommand(config));
45
+ console.log(chalk_1.default.green(' ✔ Written: ') + chalk_1.default.gray('.brainforge/commands/defense-pack.md'));
46
+ console.log();
47
+ logger_1.logger.divider();
48
+ logger_1.logger.success('Defense Pack workflow ready.');
49
+ console.log();
50
+ console.log(chalk_1.default.bold.white(' Paste this prompt into your AI tool:'));
51
+ console.log();
52
+ console.log(chalk_1.default.yellow(' ────────────────────────────────────────────────────────'));
53
+ console.log(chalk_1.default.white(' /defense-pack'));
54
+ console.log(chalk_1.default.gray(''));
55
+ console.log(chalk_1.default.gray(' Read .brainforge/commands/defense-pack.md for full instructions.'));
56
+ console.log(chalk_1.default.yellow(' ────────────────────────────────────────────────────────'));
57
+ console.log();
58
+ console.log(chalk_1.default.gray(' The AI will generate:'));
59
+ console.log(chalk_1.default.gray(' - 30-second / 1-minute / 5-minute project explanations'));
60
+ console.log(chalk_1.default.gray(' - Architecture explanation in simple terms'));
61
+ console.log(chalk_1.default.gray(' - Professor questions with suggested answers'));
62
+ console.log(chalk_1.default.gray(' - Demo script for presentation'));
63
+ console.log(chalk_1.default.gray(' - Final presentation checklist'));
64
+ console.log();
65
+ }
66
+ function generateDefensePackTemplate(projectName) {
67
+ return `# Defense Pack — ${projectName}
68
+
69
+ _Generated by \`brainforge defense-pack\`. Run \`/defense-pack\` in your AI tool to fill this in._
70
+
71
+ ## Project summary
72
+
73
+ ### 30-second explanation
74
+
75
+ _To be filled._
76
+
77
+ ### 1-minute explanation
78
+
79
+ _To be filled._
80
+
81
+ ### 5-minute explanation
82
+
83
+ _To be filled._
84
+
85
+ ## Problem and solution
86
+
87
+ _To be filled._
88
+
89
+ ## Main features
90
+
91
+ _To be filled._
92
+
93
+ ## Architecture explained simply
94
+
95
+ _To be filled._
96
+
97
+ ## Folder structure explained
98
+
99
+ _To be filled._
100
+
101
+ ## Database / API / UI explanation
102
+
103
+ _Only sections relevant to the project stack._
104
+
105
+ ## What each important file does
106
+
107
+ | File | Role | How to explain it |
108
+ |------|------|------------------|
109
+ | _To be filled_ | | |
110
+
111
+ ## Difficult parts to revise
112
+
113
+ | Topic | Why it is difficult | How to explain simply |
114
+ |-------|-------------------|----------------------|
115
+ | _To be filled_ | | |
116
+
117
+ ## Professor questions and answers
118
+
119
+ | Question | Suggested answer |
120
+ |----------|-----------------|
121
+ | _To be filled_ | |
122
+
123
+ ## Demo script
124
+
125
+ _To be filled._
126
+
127
+ ## What to say if asked "Did you use AI?"
128
+
129
+ _To be filled._
130
+
131
+ ## Final checklist before presentation
132
+
133
+ - [ ] I can explain the project goal
134
+ - [ ] I can explain the architecture
135
+ - [ ] I can explain the important files
136
+ - [ ] I can run the project
137
+ - [ ] I can answer likely questions
138
+ `;
139
+ }
140
+ function generateOralDefenseTemplate() {
141
+ return `# Oral Defense Preparation
142
+
143
+ ## 30-second project explanation
144
+
145
+ _To be filled by /defense-pack._
146
+
147
+ ## 1-minute project explanation
148
+
149
+ _To be filled._
150
+
151
+ ## 5-minute project explanation
152
+
153
+ _To be filled._
154
+
155
+ ## Architecture explanation
156
+
157
+ _To be filled._
158
+
159
+ ## Main features
160
+
161
+ _To be filled._
162
+
163
+ ## What I built myself
164
+
165
+ _To be filled._
166
+
167
+ ## What I should be ready to explain
168
+
169
+ _To be filled._
170
+ `;
171
+ }
172
+ function generateDefensePackCommand(config) {
173
+ return `# /defense-pack
174
+
175
+ **Objective:** Generate a complete presentation and oral defense preparation document.
176
+
177
+ ## Context to Read First
178
+
179
+ Read these files (skip gracefully if they don't exist):
180
+
181
+ - \`.brainforge/brain.md\`
182
+ - \`.brainforge/project.md\`
183
+ - \`.brainforge/roadmap.md\`
184
+ - \`.brainforge/phases/\` (all phase files)
185
+ - \`.brainforge/memory/architecture.md\`
186
+ - \`.brainforge/memory/learning-notes.md\`
187
+ - \`.brainforge/reports/difficulty-report.md\`
188
+ - \`.brainforge/reports/professor-check.md\`
189
+
190
+ ## Project Info
191
+
192
+ - **Project:** ${config.projectName}
193
+ - **Stack:** ${config.stack.join(', ')}
194
+ - **Code level:** ${config.codeLevel}
195
+ - **User level:** ${config.userLevel}
196
+ - **Academic:** ${config.isAcademic ? 'Yes' : 'No'}
197
+
198
+ ## Steps
199
+
200
+ 1. Read all available context files
201
+ 2. Generate all sections of the Defense Pack
202
+ 3. Write results to \`.brainforge/reports/defense-pack.md\`
203
+ 4. Update \`.brainforge/study/oral-defense.md\` with the 30s / 1min / 5min explanations
204
+
205
+ ## Output Format
206
+
207
+ Write to \`.brainforge/reports/defense-pack.md\`:
208
+
209
+ \`\`\`md
210
+ # Defense Pack — ${config.projectName}
211
+
212
+ ## Project summary
213
+
214
+ ### 30-second explanation
215
+ [One clear sentence anyone can understand]
216
+
217
+ ### 1-minute explanation
218
+ [3-4 sentences: problem, solution, main features, tech used]
219
+
220
+ ### 5-minute explanation
221
+ [Full story: context, problem, solution, architecture, features, demo flow]
222
+
223
+ ## Problem and solution
224
+ [What problem does the project solve? For whom?]
225
+
226
+ ## Main features
227
+ [Bullet list of core features]
228
+
229
+ ## Architecture explained simply
230
+ [Simple diagram or description — no jargon]
231
+
232
+ ## Folder structure explained
233
+ [Each folder and what it contains]
234
+
235
+ ## Database / API / UI explanation
236
+ [Only sections relevant to: ${config.stack.join(', ')}]
237
+
238
+ ## What each important file does
239
+ | File | Role | How to explain it |
240
+
241
+ ## Difficult parts to revise
242
+ | Topic | Why it is difficult | How to explain simply |
243
+
244
+ ## Professor questions and answers
245
+ | Question | Suggested answer |
246
+
247
+ ## Demo script
248
+ Step 1: [Show...]
249
+ Step 2: [Navigate to...]
250
+ Step 3: [Demonstrate...]
251
+
252
+ ## What to say if asked "Did you use AI?"
253
+ Give an honest, ethical answer:
254
+ - AI was used as an assistant for structure, review, and learning
255
+ - The student understands the code and can defend the choices
256
+ - Do not encourage lying
257
+ - Example: "Yes, I used AI as a tool to help structure my work and review my code,
258
+ similar to how a developer uses Stack Overflow. I wrote and understand all the code."
259
+
260
+ ## Final checklist before presentation
261
+ - [ ] I can explain the project goal
262
+ - [ ] I can explain the architecture
263
+ - [ ] I can explain every important file
264
+ - [ ] I can run the project without errors
265
+ - [ ] I can answer the professor questions above
266
+ \`\`\`
267
+ `;
268
+ }
269
+ //# sourceMappingURL=defensePack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defensePack.js","sourceRoot":"","sources":["../../src/commands/defensePack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function difficultyCommand(): Promise<void>;
2
+ //# sourceMappingURL=difficulty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"difficulty.d.ts","sourceRoot":"","sources":["../../src/commands/difficulty.ts"],"names":[],"mappings":"AAMA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiDvD"}
@@ -0,0 +1,177 @@
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
+ exports.difficultyCommand = difficultyCommand;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const config_1 = require("../core/config");
11
+ const logger_1 = require("../utils/logger");
12
+ async function difficultyCommand() {
13
+ const cwd = process.cwd();
14
+ if (!(0, config_1.configExists)(cwd)) {
15
+ logger_1.logger.error('BrainForge not initialized. Run: brainforge init');
16
+ return;
17
+ }
18
+ const config = (0, config_1.readConfig)(cwd);
19
+ const brainDir = (0, config_1.getBrainforgeDir)(cwd);
20
+ logger_1.logger.title('⚡ BrainForge Difficulty Analysis');
21
+ logger_1.logger.divider();
22
+ logger_1.logger.info(`Project: ${chalk_1.default.white(config.projectName)}`);
23
+ console.log();
24
+ await fs_extra_1.default.ensureDir(path_1.default.join(brainDir, 'reports'));
25
+ const reportPath = path_1.default.join(brainDir, 'reports', 'difficulty-report.md');
26
+ const commandPath = path_1.default.join(brainDir, 'commands', 'analyze-difficulty.md');
27
+ if (!fs_extra_1.default.existsSync(reportPath)) {
28
+ await fs_extra_1.default.writeFile(reportPath, generateDifficultyReportTemplate(config.projectName));
29
+ console.log(chalk_1.default.green(' ✔ Created: ') + chalk_1.default.gray('.brainforge/reports/difficulty-report.md'));
30
+ }
31
+ else {
32
+ console.log(chalk_1.default.gray(' ○ Exists: ') + chalk_1.default.gray('.brainforge/reports/difficulty-report.md'));
33
+ }
34
+ await fs_extra_1.default.writeFile(commandPath, generateAnalyzeDifficultyCommand(config));
35
+ console.log(chalk_1.default.green(' ✔ Written: ') + chalk_1.default.gray('.brainforge/commands/analyze-difficulty.md'));
36
+ console.log();
37
+ logger_1.logger.divider();
38
+ logger_1.logger.success('Difficulty analysis workflow ready.');
39
+ console.log();
40
+ console.log(chalk_1.default.bold.white(' Paste this prompt into your AI tool:'));
41
+ console.log();
42
+ console.log(chalk_1.default.yellow(' ────────────────────────────────────────────────────────'));
43
+ console.log(chalk_1.default.white(' /analyze-difficulty'));
44
+ console.log(chalk_1.default.gray(''));
45
+ console.log(chalk_1.default.gray(' Read .brainforge/commands/analyze-difficulty.md for full instructions.'));
46
+ console.log(chalk_1.default.yellow(' ────────────────────────────────────────────────────────'));
47
+ console.log();
48
+ console.log(chalk_1.default.gray(' The AI will:'));
49
+ console.log(chalk_1.default.gray(' - Score every important file from 1–10'));
50
+ console.log(chalk_1.default.gray(' - Flag concepts you need to review'));
51
+ console.log(chalk_1.default.gray(' - Update .brainforge/study/file-map.md'));
52
+ console.log(chalk_1.default.gray(' - Update .brainforge/memory/learning-notes.md'));
53
+ console.log();
54
+ }
55
+ function generateDifficultyReportTemplate(projectName) {
56
+ return `# Difficulty Report — ${projectName}
57
+
58
+ _Generated by \`brainforge difficulty\`. Run \`/analyze-difficulty\` in your AI tool to fill this in._
59
+
60
+ ## Summary
61
+
62
+ - **Overall difficulty:** _To be filled_
63
+ - **Risk for oral defense:** _To be filled_
64
+
65
+ ## File Difficulty Map
66
+
67
+ | File | Difficulty /10 | Reason | Concepts needed | Defense risk |
68
+ |------|---------------:|--------|-----------------|-------------|
69
+ | _To be filled_ | | | | |
70
+
71
+ ## Top files to study first
72
+
73
+ 1. _To be filled_
74
+ 2.
75
+ 3.
76
+
77
+ ## Too advanced patterns
78
+
79
+ | File | Pattern | Why difficult | Simpler alternative |
80
+ |------|---------|--------------|-------------------|
81
+ | _To be filled_ | | | |
82
+
83
+ ## Concepts to review
84
+
85
+ | Concept | Files | Priority |
86
+ |---------|-------|----------|
87
+ | _To be filled_ | | |
88
+
89
+ ## Recommended study plan
90
+
91
+ 1. _To be filled_
92
+ 2.
93
+ 3.
94
+ `;
95
+ }
96
+ function generateAnalyzeDifficultyCommand(config) {
97
+ return `# /analyze-difficulty
98
+
99
+ **Objective:** Scan the project codebase, score file complexity, and produce a difficulty report.
100
+
101
+ ## Context to Read First
102
+
103
+ - \`.brainforge/brain.md\`
104
+ - \`.brainforge/memory/coding-style.md\`
105
+ - \`.brainforge/memory/architecture.md\`
106
+
107
+ ## Project Info
108
+
109
+ - **Project:** ${config.projectName}
110
+ - **Stack:** ${config.stack.join(', ')}
111
+ - **Code level:** ${config.codeLevel}
112
+ - **User level:** ${config.userLevel}
113
+
114
+ ## Steps
115
+
116
+ 1. Scan all source files in the project (exclude node_modules, dist, .git)
117
+ 2. For each file, compute a difficulty score 1–10 using the criteria below
118
+ 3. Identify patterns that would be hard to explain to a professor
119
+ 4. Generate a recommended study plan
120
+ 5. Write results to \`.brainforge/reports/difficulty-report.md\`
121
+ 6. Update \`.brainforge/study/file-map.md\`
122
+ 7. Update \`.brainforge/study/concepts-to-review.md\`
123
+ 8. Update \`.brainforge/memory/learning-notes.md\` with files to understand
124
+
125
+ ## Difficulty Scoring Criteria
126
+
127
+ Score each file from 1 (trivial) to 10 (very hard):
128
+
129
+ | Factor | Points |
130
+ |--------|--------|
131
+ | Multiple responsibilities in one file | +1-2 |
132
+ | Async / database / API logic | +1 |
133
+ | Authentication / session / security logic | +1-2 |
134
+ | Advanced TypeScript (generics, utility types) | +1-2 |
135
+ | Complex state management | +1 |
136
+ | Hidden side effects | +1 |
137
+ | External services integration | +1 |
138
+ | Testing / mocking complexity | +1 |
139
+ | Architecture patterns (middleware, DI, etc.) | +1-2 |
140
+ | Large file (>200 lines) | +1 |
141
+
142
+ ## Output Format
143
+
144
+ Write to \`.brainforge/reports/difficulty-report.md\`:
145
+
146
+ \`\`\`md
147
+ ## Summary
148
+ Overall difficulty: beginner | intermediate | advanced | professional
149
+ Risk for oral defense: low | medium | high
150
+
151
+ ## File Difficulty Map
152
+ | File | Difficulty /10 | Reason | Concepts needed | Defense risk |
153
+
154
+ ## Top files to study first
155
+ 1.
156
+ 2.
157
+ 3.
158
+
159
+ ## Too advanced patterns
160
+ | File | Pattern | Why difficult | Simpler alternative |
161
+
162
+ ## Concepts to review
163
+ | Concept | Files | Priority |
164
+
165
+ ## Recommended study plan
166
+ 1.
167
+ 2.
168
+ 3.
169
+ \`\`\`
170
+
171
+ Also update:
172
+ - \`.brainforge/study/file-map.md\` — add each file with difficulty and must-understand flag
173
+ - \`.brainforge/study/concepts-to-review.md\` — add key concepts
174
+ - \`.brainforge/memory/learning-notes.md\` — add files to understand section
175
+ `;
176
+ }
177
+ //# sourceMappingURL=difficulty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"difficulty.js","sourceRoot":"","sources":["../../src/commands/difficulty.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAaA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAkFnD"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAaA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA6InD"}
@@ -43,7 +43,7 @@ async function doctorCommand() {
43
43
  checks.push({ label: 'config.json valid', ok: false, detail: String(e) });
44
44
  }
45
45
  // Required directories
46
- const dirs = ['memory', 'phases', 'agents', 'commands', 'dashboard'];
46
+ const dirs = ['memory', 'phases', 'agents', 'commands', 'dashboard', 'reports'];
47
47
  for (const dir of dirs) {
48
48
  const exists = fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', dir));
49
49
  checks.push({ label: `.brainforge/${dir}/`, ok: exists });
@@ -60,6 +60,58 @@ async function doctorCommand() {
60
60
  const exists = fs_extra_1.default.existsSync(path_1.default.join(cwd, f));
61
61
  checks.push({ label: `${f} in root`, ok: exists });
62
62
  }
63
+ // Extended memory files
64
+ const extMemoryFiles = [
65
+ 'memory/project-context.md',
66
+ 'memory/constraints.md',
67
+ 'memory/learning-notes.md',
68
+ ];
69
+ for (const f of extMemoryFiles) {
70
+ const exists = fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', f));
71
+ checks.push({ label: `.brainforge/${f}`, ok: exists });
72
+ }
73
+ // Reports README
74
+ checks.push({
75
+ label: '.brainforge/reports/README.md',
76
+ ok: fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'reports', 'README.md')),
77
+ });
78
+ // v1.2 — Router agent
79
+ checks.push({
80
+ label: '.brainforge/agents/brainforge-router.md',
81
+ ok: fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'agents', 'brainforge-router.md')),
82
+ detail: fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'agents', 'brainforge-router.md'))
83
+ ? undefined
84
+ : 'Run: brainforge update',
85
+ });
86
+ // v1.2 — Agents README
87
+ checks.push({
88
+ label: '.brainforge/agents/README.md',
89
+ ok: fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'agents', 'README.md')),
90
+ detail: fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'agents', 'README.md'))
91
+ ? undefined
92
+ : 'Run: brainforge update',
93
+ });
94
+ // v1.2 — Study mode (recommended, not required)
95
+ const studyEnabled = fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'study'));
96
+ checks.push({
97
+ label: '.brainforge/study/ (Study Mode)',
98
+ ok: studyEnabled,
99
+ detail: studyEnabled ? undefined : 'Recommended: brainforge study',
100
+ });
101
+ // v1.2 — Defense pack report (recommended)
102
+ const defenseExists = fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'reports', 'defense-pack.md'));
103
+ checks.push({
104
+ label: '.brainforge/reports/defense-pack.md',
105
+ ok: defenseExists,
106
+ detail: defenseExists ? undefined : 'Recommended: brainforge defense-pack',
107
+ });
108
+ // v1.2 — Difficulty report (recommended)
109
+ const diffExists = fs_extra_1.default.existsSync(path_1.default.join(cwd, '.brainforge', 'reports', 'difficulty-report.md'));
110
+ checks.push({
111
+ label: '.brainforge/reports/difficulty-report.md',
112
+ ok: diffExists,
113
+ detail: diffExists ? undefined : 'Recommended: brainforge difficulty',
114
+ });
63
115
  }
64
116
  // Git repo
65
117
  const hasGit = await (0, git_1.isGitRepo)(cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AA0DA,wBAAgB,WAAW,IAAI,IAAI,CAmFlC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAoEA,wBAAgB,WAAW,IAAI,IAAI,CAmGlC"}