dhurandhar 2.3.0 → 2.4.0

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,65 @@ 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.4.0] - 2026-04-02
9
+
10
+ ### Added - LOCAL EXECUTABLE! No Global Install Needed! šŸŽ‰
11
+ - **Created `./dhurandhar` executable** in project directory
12
+ - **Created `dhurandhar.bat`** for Windows
13
+ - Works just like BMAD - no global installation required!
14
+ - Uses `npx` internally to always get latest version
15
+
16
+ ### Changed
17
+ - All command files use `./dhurandhar` instead of global `dhurandhar`
18
+ - Setup message updated: "No global installation needed!"
19
+ - README updated: Instructions use `./dhurandhar`
20
+ - Removed global install warnings
21
+
22
+ ### How It Works
23
+ Setup creates:
24
+ - `./dhurandhar` - Shell script (Linux/Mac)
25
+ - `dhurandhar.bat` - Batch file (Windows)
26
+
27
+ Both use `npx --yes dhurandhar@latest` internally.
28
+
29
+ ### User Feedback Implemented
30
+ User: "I never needed to install bmad globally. So we should ensure
31
+ that dhurandhar doesn't require global installation either."
32
+
33
+ **SOLUTION**: Local executables just like BMAD! āœ…
34
+
35
+ ### Benefits
36
+ - āœ… No global npm install needed
37
+ - āœ… Works immediately after setup
38
+ - āœ… Always uses latest version
39
+ - āœ… Same workflow as BMAD
40
+ - āœ… Auggie commands work out of the box
41
+
42
+ This is a MINOR version bump (2.3.x → 2.4.0) adding significant
43
+ functionality while maintaining backward compatibility.
44
+
45
+ ---
46
+
47
+ ## [2.3.1] - 2026-04-02
48
+
49
+ ### Fixed - Installation Instructions Added
50
+ - Setup now checks if Dhurandhar is installed globally
51
+ - Warns user if `dhurandhar` command not found
52
+ - Added installation instructions to command files
53
+ - Created README.md in .augment/commands/
54
+ - Added auggie-install-help.md guide
55
+
56
+ ### Changed
57
+ - All command .md files now include: `npm install -g dhurandhar@latest`
58
+ - Setup displays warning if not installed globally
59
+ - Better guidance for Auggie users
60
+
61
+ ### User Issue Addressed
62
+ Auggie found commands but showed "command not found" because
63
+ Dhurandhar wasn't installed globally. Now setup warns users!
64
+
65
+ ---
66
+
8
67
  ## [2.3.0] - 2026-04-02
9
68
 
10
69
  ### Added - COMPLETE Command Set! šŸŽ‰
@@ -49,8 +49,17 @@ export default async function setupCommand(options) {
49
49
  clack.outro(chalk.green.bold('āœ… Setup Complete!'));
50
50
 
51
51
  console.log(chalk.cyan('\nšŸ“š Next Steps:'));
52
- console.log(chalk.gray(' 1. Run: dhurandhar init (to initialize design)'));
53
- console.log(chalk.gray(' 2. Start designing: dhurandhar yudhishthira\n'));
52
+ console.log(chalk.gray(' 1. ./dhurandhar init (to initialize design)'));
53
+ console.log(chalk.gray(' 2. ./dhurandhar yudhishthira (start Phase 1)\n'));
54
+
55
+ console.log(chalk.green('✨ No global installation needed!'));
56
+ console.log(chalk.gray(' Use ./dhurandhar (just like BMAD)\n'));
57
+
58
+ if (config.aiCodingAssistant === 'augment') {
59
+ console.log(chalk.magenta('šŸ’” Auggie Integration:'));
60
+ console.log(chalk.gray(' - Type / in Auggie chat to see 32 commands'));
61
+ console.log(chalk.gray(' - All commands use ./dhurandhar\n'));
62
+ }
54
63
  } catch (error) {
55
64
  console.error(chalk.red('\nāŒ Setup failed:'), error.message);
56
65
  console.log(chalk.yellow('\nšŸ’” Tip: Try running setup again with a stable terminal'));
@@ -286,6 +295,9 @@ async function createProjectDirectories(config) {
286
295
  mkdirSync(join(dhurandharDir, 'phases'), { recursive: true });
287
296
  }
288
297
 
298
+ // Create local dhurandhar executable (like BMAD)
299
+ createLocalExecutable(cwd);
300
+
289
301
  // Create _dhurandhar-output directory (like BMAD's _bmad-output)
290
302
  const outputDir = join(cwd, '_dhurandhar-output');
291
303
  if (!existsSync(outputDir)) {
@@ -359,55 +371,78 @@ Setup completed on: ${new Date().toISOString()}
359
371
  mkdirSync(commandsDir, { recursive: true });
360
372
  }
361
373
 
374
+ // Create README first
375
+ const readmeContent = `# Dhurandhar Commands
376
+
377
+ ## No Installation Needed!
378
+
379
+ Dhurandhar works locally (just like BMAD). Use the \`./dhurandhar\` script in your project directory.
380
+
381
+ ## Usage
382
+
383
+ \`\`\`bash
384
+ ./dhurandhar yudhishthira # Phase 1: Features
385
+ ./dhurandhar status # Check status
386
+ ./dhurandhar codegen -t all # Generate code
387
+ \`\`\`
388
+
389
+ ## All Commands
390
+
391
+ See individual .md files in this directory for each command.
392
+
393
+ All commands use \`./dhurandhar <command>\` - no global install required!
394
+ `;
395
+ writeFileSync(join(commandsDir, 'README.md'), readmeContent, 'utf-8');
396
+
362
397
  // Create comprehensive .md files for ALL commands
363
398
  const commands = [
364
399
  // Status & Navigation
365
- { file: 'status.md', content: '---\ndescription: Check design project status\n---\n\nRun `dhurandhar status` to see the current state of your design project.' },
366
- { file: 'next.md', content: '---\ndescription: Move to next phase\n---\n\nRun `dhurandhar next` to automatically move to the next design phase.' },
367
- { file: 'back.md', content: '---\ndescription: Go back to previous phase\n---\n\nRun `dhurandhar back` to return to the previous design phase.' },
400
+ { file: 'status.md', content: '---\ndescription: Check design project status\n---\n\n**No installation needed!** Use the local executable.\n\nRun `./dhurandhar status` to see the current state of your design project.' },
401
+ { file: 'next.md', content: '---\ndescription: Move to next phase\n---\n\n**No installation needed!** Use the local executable.\n\nRun `./dhurandhar next` to automatically move to the next design phase.' },
402
+ { file: 'back.md', content: '---\ndescription: Go back to previous phase\n---\n\n**No installation needed!** Use the local executable.\n\nRun `./dhurandhar back` to return to the previous design phase.' },
368
403
 
369
404
  // Master Agents (All 8)
370
- { file: 'yudhishthira.md', content: '---\ndescription: Phase 1 - Features with Yudhishthira (Dharma)\n---\n\nRun `dhurandhar yudhishthira` to define features with the master of dharma.' },
371
- { file: 'bhishma.md', content: '---\ndescription: Phase 2 - Requirements with Bhishma (Grandfather)\n---\n\nRun `dhurandhar bhishma` to define functional and non-functional requirements.' },
372
- { file: 'sahadeva.md', content: '---\ndescription: Phase 3 - Entities with Sahadeva (Wisdom)\n---\n\nRun `dhurandhar sahadeva` to design domain model and entities.' },
373
- { file: 'nakula.md', content: '---\ndescription: Phase 4 - APIs with Nakula (Handsome)\n---\n\nRun `dhurandhar nakula` to design REST APIs.' },
374
- { file: 'bheema.md', content: '---\ndescription: Phase 5 & 7 - HLD & Implementation with Bheema (Strength)\n---\n\nRun `dhurandhar bheema` for high-level design and implementation planning.' },
375
- { file: 'arjuna.md', content: '---\ndescription: Phase 6 - LLD with Arjuna (Warrior)\n---\n\nRun `dhurandhar arjuna` for low-level design and class diagrams.' },
376
- { file: 'draupadi.md', content: '---\ndescription: Phase 8 - Blessing with Draupadi (Queen)\n---\n\nRun `dhurandhar draupadi` for the final quality review and imperial blessing.' },
405
+ { file: 'yudhishthira.md', content: '---\ndescription: Phase 1 - Features with Yudhishthira (Dharma)\n---\n\nRun `./dhurandhar yudhishthira` to define features with the master of dharma.' },
406
+ { file: 'bhishma.md', content: '---\ndescription: Phase 2 - Requirements with Bhishma (Grandfather)\n---\n\nRun `./dhurandhar bhishma` to define functional and non-functional requirements.' },
407
+ { file: 'sahadeva.md', content: '---\ndescription: Phase 3 - Entities with Sahadeva (Wisdom)\n---\n\nRun `./dhurandhar sahadeva` to design domain model and entities.' },
408
+ { file: 'nakula.md', content: '---\ndescription: Phase 4 - APIs with Nakula (Handsome)\n---\n\nRun `./dhurandhar nakula` to design REST APIs.' },
409
+ { file: 'bheema.md', content: '---\ndescription: Phase 5 & 7 - HLD & Implementation with Bheema (Strength)\n---\n\nRun `./dhurandhar bheema` for high-level design and implementation planning.' },
410
+ { file: 'arjuna.md', content: '---\ndescription: Phase 6 - LLD with Arjuna (Warrior)\n---\n\nRun `./dhurandhar arjuna` for low-level design and class diagrams.' },
411
+ { file: 'draupadi.md', content: '---\ndescription: Phase 8 - Blessing with Draupadi (Queen)\n---\n\nRun `./dhurandhar draupadi` for the final quality review and imperial blessing.' },
377
412
 
378
413
  // Code Generation (All options)
379
- { file: 'codegen-all.md', content: '---\ndescription: Generate complete full-stack application\n---\n\nRun `dhurandhar codegen -t all` to generate backend, frontend, tests, and infrastructure.' },
380
- { file: 'codegen-backend.md', content: '---\ndescription: Generate NestJS backend only\n---\n\nRun `dhurandhar codegen -t backend` to generate NestJS + TypeORM backend code.' },
381
- { file: 'codegen-frontend.md', content: '---\ndescription: Generate React frontend only\n---\n\nRun `dhurandhar codegen -t frontend` to generate React + Vite + Tailwind frontend.' },
382
- { file: 'codegen-tests.md', content: '---\ndescription: Generate Jest tests only\n---\n\nRun `dhurandhar codegen -t tests` to generate unit and E2E tests.' },
383
- { file: 'codegen-infra.md', content: '---\ndescription: Generate infrastructure code\n---\n\nRun `dhurandhar codegen -t infrastructure` to generate Docker and Kubernetes configs.' },
414
+ { file: 'codegen-all.md', content: '---\ndescription: Generate complete full-stack application\n---\n\nRun `./dhurandhar codegen -t all` to generate backend, frontend, tests, and infrastructure.' },
415
+ { file: 'codegen-backend.md', content: '---\ndescription: Generate NestJS backend only\n---\n\nRun `./dhurandhar codegen -t backend` to generate NestJS + TypeORM backend code.' },
416
+ { file: 'codegen-frontend.md', content: '---\ndescription: Generate React frontend only\n---\n\nRun `./dhurandhar codegen -t frontend` to generate React + Vite + Tailwind frontend.' },
417
+ { file: 'codegen-tests.md', content: '---\ndescription: Generate Jest tests only\n---\n\nRun `./dhurandhar codegen -t tests` to generate unit and E2E tests.' },
418
+ { file: 'codegen-infra.md', content: '---\ndescription: Generate infrastructure code\n---\n\nRun `./dhurandhar codegen -t infrastructure` to generate Docker and Kubernetes configs.' },
384
419
 
385
420
  // Export (All formats)
386
- { file: 'export-markdown.md', content: '---\ndescription: Export design to Markdown\n---\n\nRun `dhurandhar export -f markdown` to export design as Markdown document.' },
387
- { file: 'export-json.md', content: '---\ndescription: Export design to JSON\n---\n\nRun `dhurandhar export -f json` to export design as JSON data.' },
388
- { file: 'export-html.md', content: '---\ndescription: Export design to HTML\n---\n\nRun `dhurandhar export -f html` to export design as interactive HTML.' },
421
+ { file: 'export-markdown.md', content: '---\ndescription: Export design to Markdown\n---\n\nRun `./dhurandhar export -f markdown` to export design as Markdown document.' },
422
+ { file: 'export-json.md', content: '---\ndescription: Export design to JSON\n---\n\nRun `./dhurandhar export -f json` to export design as JSON data.' },
423
+ { file: 'export-html.md', content: '---\ndescription: Export design to HTML\n---\n\nRun `./dhurandhar export -f html` to export design as interactive HTML.' },
389
424
 
390
425
  // Integrations
391
- { file: 'integrate-github.md', content: '---\ndescription: Create GitHub issues from design\n---\n\nRun `dhurandhar integrate -p github` to create GitHub issues for all features.' },
392
- { file: 'integrate-jira.md', content: '---\ndescription: Create Jira tickets from design\n---\n\nRun `dhurandhar integrate -p jira` to create Jira epics, stories, and tasks.' },
393
- { file: 'integrate-confluence.md', content: '---\ndescription: Create Confluence documentation\n---\n\nRun `dhurandhar integrate -p confluence` to create Confluence pages from design.' },
426
+ { file: 'integrate-github.md', content: '---\ndescription: Create GitHub issues from design\n---\n\nRun `./dhurandhar integrate -p github` to create GitHub issues for all features.' },
427
+ { file: 'integrate-jira.md', content: '---\ndescription: Create Jira tickets from design\n---\n\nRun `./dhurandhar integrate -p jira` to create Jira epics, stories, and tasks.' },
428
+ { file: 'integrate-confluence.md', content: '---\ndescription: Create Confluence documentation\n---\n\nRun `./dhurandhar integrate -p confluence` to create Confluence pages from design.' },
394
429
 
395
430
  // AI Features
396
- { file: 'ai-suggest.md', content: '---\ndescription: Get AI design suggestions\n---\n\nRun `dhurandhar ai suggest` to get AI-powered design improvement suggestions.' },
397
- { file: 'ai-analyze.md', content: '---\ndescription: AI design analysis\n---\n\nRun `dhurandhar ai analyze` to get comprehensive AI analysis of your design.' },
431
+ { file: 'ai-suggest.md', content: '---\ndescription: Get AI design suggestions\n---\n\nRun `./dhurandhar ai suggest` to get AI-powered design improvement suggestions.' },
432
+ { file: 'ai-analyze.md', content: '---\ndescription: AI design analysis\n---\n\nRun `./dhurandhar ai analyze` to get comprehensive AI analysis of your design.' },
398
433
 
399
434
  // Diagrams
400
- { file: 'diagrams.md', content: '---\ndescription: Generate architecture diagrams\n---\n\nRun `dhurandhar diagrams` to generate visual architecture diagrams.' },
435
+ { file: 'diagrams.md', content: '---\ndescription: Generate architecture diagrams\n---\n\nRun `./dhurandhar diagrams` to generate visual architecture diagrams.' },
401
436
 
402
437
  // Review & Audit
403
- { file: 'review.md', content: '---\ndescription: Run cascading review\n---\n\nRun `dhurandhar review` to run a comprehensive design review across all phases.' },
404
- { file: 'audit.md', content: '---\ndescription: Audit design quality\n---\n\nRun `dhurandhar audit` to check for design issues and quality problems.' },
438
+ { file: 'review.md', content: '---\ndescription: Run cascading review\n---\n\nRun `./dhurandhar review` to run a comprehensive design review across all phases.' },
439
+ { file: 'audit.md', content: '---\ndescription: Audit design quality\n---\n\nRun `./dhurandhar audit` to check for design issues and quality problems.' },
405
440
 
406
441
  // Decisions
407
- { file: 'decisions.md', content: '---\ndescription: Manage technical decisions\n---\n\nRun `dhurandhar decisions` to view and manage technical decisions in the registry.' },
442
+ { file: 'decisions.md', content: '---\ndescription: Manage technical decisions\n---\n\nRun `./dhurandhar decisions` to view and manage technical decisions in the registry.' },
408
443
 
409
444
  // Undo
410
- { file: 'undo.md', content: '---\ndescription: Undo last change\n---\n\nRun `dhurandhar undo` to undo the last change (up to 20 versions).' }
445
+ { file: 'undo.md', content: '---\ndescription: Undo last change\n---\n\nRun `./dhurandhar undo` to undo the last change (up to 20 versions).' }
411
446
  ];
412
447
 
413
448
  commands.forEach(cmd => {
@@ -443,3 +478,35 @@ Setup completed on: ${new Date().toISOString()}
443
478
  clack.log.error(`Error creating directories: ${error.message}`);
444
479
  }
445
480
  }
481
+
482
+ /**
483
+ * Create local dhurandhar executable (like BMAD)
484
+ */
485
+ function createLocalExecutable(cwd) {
486
+ // Create dhurandhar shell script
487
+ const scriptContent = `#!/usr/bin/env bash
488
+ # Local Dhurandhar executable (no global install needed!)
489
+ # This works just like BMAD - local installation only
490
+
491
+ # Get the directory of this script
492
+ SCRIPT_DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
493
+
494
+ # Use npx to run dhurandhar with the exact version
495
+ npx --yes dhurandhar@latest "$@"
496
+ `;
497
+
498
+ const scriptPath = join(cwd, 'dhurandhar');
499
+ writeFileSync(scriptPath, scriptContent, { mode: 0o755 });
500
+
501
+ // Make it executable
502
+ const { chmodSync } = require('fs');
503
+ chmodSync(scriptPath, 0o755);
504
+
505
+ // Create Windows batch file too
506
+ const batContent = `@echo off
507
+ REM Local Dhurandhar executable for Windows
508
+ npx --yes dhurandhar@latest %*
509
+ `;
510
+
511
+ writeFileSync(join(cwd, 'dhurandhar.bat'), batContent, 'utf-8');
512
+ }
@@ -0,0 +1,54 @@
1
+ # Dhurandhar Installation for Auggie
2
+
3
+ ## Issue: Command Not Found
4
+
5
+ If you see `bash: dhurandhar: command not found`, it means Dhurandhar is not installed globally.
6
+
7
+ ## Solution
8
+
9
+ Install Dhurandhar globally using npm:
10
+
11
+ ```bash
12
+ npm install -g dhurandhar@latest
13
+ ```
14
+
15
+ ## Verify Installation
16
+
17
+ ```bash
18
+ # Check if installed
19
+ which dhurandhar
20
+
21
+ # Check version
22
+ dhurandhar --version
23
+ # Should show: 2.3.0 or higher
24
+ ```
25
+
26
+ ## After Installation
27
+
28
+ Once installed, all the slash commands in Auggie will work:
29
+ - `/yudhishthira` → `dhurandhar yudhishthira`
30
+ - `/bhishma` → `dhurandhar bhishma`
31
+ - `/codegen-all` → `dhurandhar codegen -t all`
32
+ - etc.
33
+
34
+ ## Alternative: Use npx (Slower)
35
+
36
+ If you don't want global installation, use npx:
37
+
38
+ ```bash
39
+ npx dhurandhar@latest yudhishthira
40
+ npx dhurandhar@latest status
41
+ ```
42
+
43
+ But this is slower as it downloads each time.
44
+
45
+ ## For Auggie Users
46
+
47
+ 1. Open terminal
48
+ 2. Run: `npm install -g dhurandhar@latest`
49
+ 3. Reload Auggie workspace
50
+ 4. Use slash commands!
51
+
52
+ ---
53
+
54
+ **Recommended**: Global installation for best performance.
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.3.0",
4
+ "version": "2.4.0",
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",