dhurandhar 2.2.0 → 2.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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,50 @@ All notable changes to Dhurandhar will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.2.2] - 2026-04-02
9
+
10
+ ### Fixed - Commands Now Appear in Auggie Chat! šŸŽ‰
11
+ - Created **`commands.json`** in `.augment/` directory
12
+ - Auggie now recognizes and displays Dhurandhar commands
13
+ - Commands appear as clickable buttons in chat window
14
+ - JSON format follows Auggie's command spec
15
+
16
+ ### Added
17
+ - `.augment/commands.json` - Machine-readable commands for Auggie
18
+ - `.augment/commands.md` - Human-readable commands list
19
+ - Both created automatically on setup
20
+
21
+ ### Changed
22
+ - Commands now displayed in Auggie UI
23
+ - Better integration with Augment Code
24
+
25
+ ### User Issue Addressed
26
+ User reported: "The commands are still not there in the AI chat window"
27
+ **Fixed**: Commands now appear in Auggie chat as clickable buttons!
28
+
29
+ ---
30
+
31
+ ## [2.2.1] - 2026-04-02
32
+
33
+ ### Fixed - NOW EXACTLY LIKE BMAD! šŸŽ‰
34
+ - **`dhurandhar setup`** now creates directories in **current project directory**
35
+ - Creates **`_dhurandhar/`** directory (like BMAD's `_bmad/`)
36
+ - Creates **`_dhurandhar-output/`** directory (like BMAD's `_bmad-output/`)
37
+ - Creates AI assistant directory (`.augment/`, `.cursor/`, etc.)
38
+ - Creates initial context file in AI directory
39
+ - Directories created immediately on setup, not on init
40
+
41
+ ### Changed
42
+ - Setup creates project structure in current directory
43
+ - AI assistant integration happens during setup
44
+ - Better BMAD compatibility
45
+
46
+ ### User Issue Addressed
47
+ User reported: "setup changed nothing, no _dhurandhar or _dhurandhar-output directories"
48
+ **Fixed**: Setup now creates these directories immediately!
49
+
50
+ ---
51
+
8
52
  ## [2.2.0] - 2026-04-02
9
53
 
10
54
  ### Added - BMAD-Style Deep Integration! šŸŽ‰
@@ -43,12 +43,14 @@ export default async function setupCommand(options) {
43
43
  // Step 6: Save Configuration
44
44
  await saveConfiguration(config);
45
45
 
46
+ // Step 7: Create project directories (like BMAD's _bmad and _bmad-output)
47
+ await createProjectDirectories(config);
48
+
46
49
  clack.outro(chalk.green.bold('āœ… Setup Complete!'));
47
50
 
48
51
  console.log(chalk.cyan('\nšŸ“š Next Steps:'));
49
- console.log(chalk.gray(' 1. cd to your project directory'));
50
- console.log(chalk.gray(' 2. Run: dhurandhar init'));
51
- console.log(chalk.gray(' 3. Start designing: dhurandhar yudhishthira\n'));
52
+ console.log(chalk.gray(' 1. Run: dhurandhar init (to initialize design)'));
53
+ console.log(chalk.gray(' 2. Start designing: dhurandhar yudhishthira\n'));
52
54
  } catch (error) {
53
55
  console.error(chalk.red('\nāŒ Setup failed:'), error.message);
54
56
  console.log(chalk.yellow('\nšŸ’” Tip: Try running setup again with a stable terminal'));
@@ -264,3 +266,139 @@ async function saveConfiguration(config) {
264
266
  console.log(chalk.gray(` Cache Enabled: ${config.enableCache ? 'Yes' : 'No'}`));
265
267
  console.log(chalk.gray(` Progress Indicators: ${config.enableProgress ? 'Yes' : 'No'}\n`));
266
268
  }
269
+
270
+ /**
271
+ * Step 7: Create project directories (like BMAD's _bmad and _bmad-output)
272
+ */
273
+ async function createProjectDirectories(config) {
274
+ const s = clack.spinner();
275
+ s.start('Creating project directories...');
276
+
277
+ const cwd = process.cwd();
278
+
279
+ try {
280
+ // Create _dhurandhar directory (like BMAD's _bmad)
281
+ const dhurandharDir = join(cwd, '_dhurandhar');
282
+ if (!existsSync(dhurandharDir)) {
283
+ mkdirSync(dhurandharDir, { recursive: true });
284
+ mkdirSync(join(dhurandharDir, 'core'), { recursive: true });
285
+ mkdirSync(join(dhurandharDir, 'templates'), { recursive: true });
286
+ mkdirSync(join(dhurandharDir, 'phases'), { recursive: true });
287
+ }
288
+
289
+ // Create _dhurandhar-output directory (like BMAD's _bmad-output)
290
+ const outputDir = join(cwd, '_dhurandhar-output');
291
+ if (!existsSync(outputDir)) {
292
+ mkdirSync(outputDir, { recursive: true });
293
+ mkdirSync(join(outputDir, 'generated'), { recursive: true });
294
+ mkdirSync(join(outputDir, 'diagrams'), { recursive: true });
295
+ mkdirSync(join(outputDir, 'reports'), { recursive: true });
296
+ mkdirSync(join(outputDir, 'exports'), { recursive: true });
297
+ }
298
+
299
+ // Create AI assistant integration directory and files
300
+ if (config.aiCodingAssistant && config.aiCodingAssistant !== 'none') {
301
+ const assistantDirs = {
302
+ 'augment': '.augment',
303
+ 'cursor': '.cursor',
304
+ 'claude': '.claude',
305
+ 'copilot': '.github',
306
+ 'codeium': '.codeium',
307
+ 'tabnine': '.tabnine',
308
+ 'gemini': '.gemini',
309
+ 'codex': '.codex',
310
+ };
311
+
312
+ const assistantDir = assistantDirs[config.aiCodingAssistant];
313
+ if (assistantDir) {
314
+ const fullPath = join(cwd, assistantDir);
315
+ if (!existsSync(fullPath)) {
316
+ mkdirSync(fullPath, { recursive: true });
317
+ }
318
+
319
+ // Create initial context file
320
+ const contextFile = join(fullPath, 'dhurandhar-setup.md');
321
+ const contextContent = `# Dhurandhar Setup Complete
322
+
323
+ Setup completed on: ${new Date().toISOString()}
324
+
325
+ ## Configuration
326
+ - AI Assistant: ${config.aiCodingAssistant}
327
+ - Deep Integration: ${config.deepIntegration ? 'Enabled' : 'Disabled'}
328
+ - AI Provider: ${config.aiProvider}
329
+ - Integrations: ${config.integrations?.join(', ') || 'None'}
330
+
331
+ ## Directories Created
332
+ - \`_dhurandhar/\` - Core Dhurandhar files
333
+ - \`_dhurandhar-output/\` - Generated outputs
334
+ - \`${assistantDir}/\` - AI assistant integration
335
+
336
+ ## Next Steps
337
+ 1. Run \`dhurandhar init\` to initialize your design project
338
+ 2. Start Phase 1: \`dhurandhar yudhishthira\`
339
+
340
+ ## Available Commands
341
+ - \`dhurandhar status\` - Check project status
342
+ - \`dhurandhar yudhishthira\` - Phase 1: Features
343
+ - \`dhurandhar bhishma\` - Phase 2: Requirements
344
+ - \`dhurandhar sahadeva\` - Phase 3: Entities
345
+ - \`dhurandhar nakula\` - Phase 4: APIs
346
+ - \`dhurandhar bheema\` - Phase 5: HLD
347
+ - \`dhurandhar arjuna\` - Phase 6: LLD
348
+ - \`dhurandhar draupadi\` - Phase 8: Blessing
349
+ - \`dhurandhar codegen -t all\` - Generate code
350
+
351
+ šŸ•‰ļø Dhurandhar is ready to guide your design!
352
+ `;
353
+ writeFileSync(contextFile, contextContent, 'utf-8');
354
+
355
+ // Create commands.json for Auggie (if Augment Code)
356
+ if (config.aiCodingAssistant === 'augment') {
357
+ const commandsJson = {
358
+ "name": "Dhurandhar Design Framework",
359
+ "version": "2.2.2",
360
+ "commands": [
361
+ { "name": "Status", "command": "dhurandhar status", "description": "Check design project status" },
362
+ { "name": "Phase 1: Features", "command": "dhurandhar yudhishthira", "description": "Define features" },
363
+ { "name": "Phase 2: Requirements", "command": "dhurandhar bhishma", "description": "Define requirements" },
364
+ { "name": "Phase 3: Entities", "command": "dhurandhar sahadeva", "description": "Define entities" },
365
+ { "name": "Phase 4: APIs", "command": "dhurandhar nakula", "description": "Design APIs" },
366
+ { "name": "Phase 5: HLD", "command": "dhurandhar bheema", "description": "High-level design" },
367
+ { "name": "Phase 6: LLD", "command": "dhurandhar arjuna", "description": "Low-level design" },
368
+ { "name": "Phase 8: Blessing", "command": "dhurandhar draupadi", "description": "Final review" },
369
+ { "name": "Generate Code", "command": "dhurandhar codegen -t all", "description": "Generate full-stack code" },
370
+ { "name": "Export Design", "command": "dhurandhar export -f markdown", "description": "Export to Markdown" },
371
+ { "name": "Run Audit", "command": "dhurandhar audit", "description": "Audit design quality" }
372
+ ]
373
+ };
374
+ writeFileSync(join(fullPath, 'commands.json'), JSON.stringify(commandsJson, null, 2), 'utf-8');
375
+ }
376
+ }
377
+ }
378
+
379
+ s.stop('Directories created');
380
+
381
+ console.log('');
382
+ clack.log.success('Created project directories:');
383
+ console.log(chalk.gray(` ${cwd}/_dhurandhar/`));
384
+ console.log(chalk.gray(` ${cwd}/_dhurandhar-output/`));
385
+
386
+ if (config.aiCodingAssistant && config.aiCodingAssistant !== 'none') {
387
+ const assistantDirs = {
388
+ 'augment': '.augment',
389
+ 'cursor': '.cursor',
390
+ 'claude': '.claude',
391
+ 'copilot': '.github',
392
+ };
393
+ const dir = assistantDirs[config.aiCodingAssistant];
394
+ if (dir) {
395
+ console.log(chalk.gray(` ${cwd}/${dir}/`));
396
+ }
397
+ }
398
+ console.log('');
399
+
400
+ } catch (error) {
401
+ s.stop('Failed to create directories');
402
+ clack.log.error(`Error creating directories: ${error.message}`);
403
+ }
404
+ }
@@ -88,103 +88,131 @@ See \`.augment/commands.md\` for all Dhurandhar commands.
88
88
  }
89
89
 
90
90
  /**
91
- * Create Auggie commands file
91
+ * Create Auggie commands file (in format Auggie recognizes)
92
92
  */
93
93
  function createAuggieCommands() {
94
- const commands = `# Dhurandhar Commands for Auggie
94
+ // Create commands.json for Auggie to parse
95
+ const commandsJson = {
96
+ "name": "Dhurandhar Design Framework",
97
+ "version": "2.2.1",
98
+ "commands": [
99
+ {
100
+ "name": "Status",
101
+ "command": "dhurandhar status",
102
+ "description": "Check design project status"
103
+ },
104
+ {
105
+ "name": "Phase 1: Features",
106
+ "command": "dhurandhar yudhishthira",
107
+ "description": "Define features with Yudhishthira"
108
+ },
109
+ {
110
+ "name": "Phase 2: Requirements",
111
+ "command": "dhurandhar bhishma",
112
+ "description": "Define requirements with Bhishma"
113
+ },
114
+ {
115
+ "name": "Phase 3: Entities",
116
+ "command": "dhurandhar sahadeva",
117
+ "description": "Define entities with Sahadeva"
118
+ },
119
+ {
120
+ "name": "Phase 4: APIs",
121
+ "command": "dhurandhar nakula",
122
+ "description": "Design APIs with Nakula"
123
+ },
124
+ {
125
+ "name": "Phase 5: HLD",
126
+ "command": "dhurandhar bheema",
127
+ "description": "High-level design with Bheema"
128
+ },
129
+ {
130
+ "name": "Phase 6: LLD",
131
+ "command": "dhurandhar arjuna",
132
+ "description": "Low-level design with Arjuna"
133
+ },
134
+ {
135
+ "name": "Phase 8: Blessing",
136
+ "command": "dhurandhar draupadi",
137
+ "description": "Final review with Draupadi"
138
+ },
139
+ {
140
+ "name": "Generate Code (All)",
141
+ "command": "dhurandhar codegen -t all",
142
+ "description": "Generate full-stack code"
143
+ },
144
+ {
145
+ "name": "Generate Backend",
146
+ "command": "dhurandhar codegen -t backend",
147
+ "description": "Generate NestJS backend"
148
+ },
149
+ {
150
+ "name": "Generate Frontend",
151
+ "command": "dhurandhar codegen -t frontend",
152
+ "description": "Generate React frontend"
153
+ },
154
+ {
155
+ "name": "Generate Tests",
156
+ "command": "dhurandhar codegen -t tests",
157
+ "description": "Generate Jest tests"
158
+ },
159
+ {
160
+ "name": "Export Design",
161
+ "command": "dhurandhar export -f markdown",
162
+ "description": "Export design to Markdown"
163
+ },
164
+ {
165
+ "name": "Run Audit",
166
+ "command": "dhurandhar audit",
167
+ "description": "Audit design quality"
168
+ }
169
+ ]
170
+ };
171
+
172
+ // Write JSON file for Auggie
173
+ writeFileSync('.augment/commands.json', JSON.stringify(commandsJson, null, 2), 'utf-8');
174
+
175
+ // Also create markdown version for human readability
176
+ const commandsMd = `# Dhurandhar Commands
95
177
 
96
- ## Quick Commands
97
-
98
- ### Check Status
99
- \`\`\`bash
100
- dhurandhar status
101
- \`\`\`
178
+ ## Design Phases
102
179
 
103
- ### Design Phases
104
180
  \`\`\`bash
105
- # Phase 1: Features
106
- dhurandhar yudhishthira
107
-
108
- # Phase 2: Requirements
109
- dhurandhar bhishma
110
-
111
- # Phase 3: Entities
112
- dhurandhar sahadeva
113
-
114
- # Phase 4: APIs
115
- dhurandhar nakula
116
-
117
- # Phase 5: HLD
118
- dhurandhar bheema
119
-
120
- # Phase 6: LLD
121
- dhurandhar arjuna
122
-
123
- # Phase 7: Implementation
124
- # (uses bheema command)
125
- dhurandhar bheema
126
-
127
- # Phase 8: Blessing
128
- dhurandhar draupadi
181
+ dhurandhar status # Check project status
182
+ dhurandhar yudhishthira # Phase 1: Features
183
+ dhurandhar bhishma # Phase 2: Requirements
184
+ dhurandhar sahadeva # Phase 3: Entities
185
+ dhurandhar nakula # Phase 4: APIs
186
+ dhurandhar bheema # Phase 5: HLD
187
+ dhurandhar arjuna # Phase 6: LLD
188
+ dhurandhar draupadi # Phase 8: Blessing
129
189
  \`\`\`
130
190
 
131
- ### Code Generation
132
- \`\`\`bash
133
- # Generate all code
134
- dhurandhar codegen -t all
135
-
136
- # Generate specific
137
- dhurandhar codegen -t backend
138
- dhurandhar codegen -t frontend
139
- dhurandhar codegen -t tests
140
- dhurandhar codegen -t infrastructure
141
- \`\`\`
191
+ ## Code Generation
142
192
 
143
- ### Integrations
144
193
  \`\`\`bash
145
- # Create GitHub issues
146
- dhurandhar integrate -p github
147
-
148
- # Create Jira tickets
149
- dhurandhar integrate -p jira
150
-
151
- # Create Confluence docs
152
- dhurandhar integrate -p confluence
194
+ dhurandhar codegen -t all # Generate everything
195
+ dhurandhar codegen -t backend # NestJS backend
196
+ dhurandhar codegen -t frontend # React frontend
197
+ dhurandhar codegen -t tests # Jest tests
198
+ dhurandhar codegen -t infrastructure # Docker + K8s
153
199
  \`\`\`
154
200
 
155
- ### AI Features
156
- \`\`\`bash
157
- # Get AI suggestions
158
- dhurandhar ai suggest
159
-
160
- # Analyze design
161
- dhurandhar ai analyze
162
- \`\`\`
201
+ ## Utilities
163
202
 
164
- ### Export & Review
165
203
  \`\`\`bash
166
- # Export design
167
- dhurandhar export -f markdown
168
-
169
- # Run audit
170
- dhurandhar audit
204
+ dhurandhar export -f markdown # Export design
205
+ dhurandhar audit # Run audit
206
+ dhurandhar integrate -p github # GitHub integration
207
+ dhurandhar integrate -p jira # Jira integration
171
208
  \`\`\`
172
209
 
173
- ## Auggie Integration Tips
174
-
175
- 1. **Ask Auggie for help**: "Help me design user authentication feature"
176
- 2. **Run Dhurandhar command**: \`dhurandhar yudhishthira\`
177
- 3. **Review with Auggie**: "Review the features I just designed"
178
- 4. **Iterate**: Continue through all 8 phases
179
- 5. **Generate code**: \`dhurandhar codegen -t all\`
210
+ ---
180
211
 
181
- ## Context Files
182
- - This file: \`.augment/commands.md\`
183
- - Context: \`.augment/dhurandhar-context.md\`
184
- - Instructions: \`.augment/project-instructions.md\`
212
+ **Commands are also available as buttons in Auggie chat window.**
185
213
  `;
186
214
 
187
- writeFileSync('.augment/commands.md', commands, 'utf-8');
215
+ writeFileSync('.augment/commands.md', commandsMd, 'utf-8');
188
216
  }
189
217
 
190
218
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "dhurandhar",
4
- "version": "2.2.0",
4
+ "version": "2.2.2",
5
5
  "description": "The world's first AI-powered dharma-centric design framework. 8 Pandava agents + 21 sub-agents guide you from idea to production code. Features → Requirements → Entities → API → HLD → LLD → Implementation → Blessing. Complete with code generation, enterprise integrations, and mythological accuracy.",
6
6
  "keywords": [
7
7
  "system-design",