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 +59 -0
- package/cli/commands/setup.js +97 -30
- package/core/integrations/auggie-install-help.md +54 -0
- package/package.json +1 -1
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! š
|
package/cli/commands/setup.js
CHANGED
|
@@ -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.
|
|
53
|
-
console.log(chalk.gray(' 2.
|
|
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
|
|
366
|
-
{ file: 'next.md', content: '---\ndescription: Move to next phase\n---\n\nRun
|
|
367
|
-
{ file: 'back.md', content: '---\ndescription: Go back to previous phase\n---\n\nRun
|
|
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
|
|
371
|
-
{ file: 'bhishma.md', content: '---\ndescription: Phase 2 - Requirements with Bhishma (Grandfather)\n---\n\nRun
|
|
372
|
-
{ file: 'sahadeva.md', content: '---\ndescription: Phase 3 - Entities with Sahadeva (Wisdom)\n---\n\nRun
|
|
373
|
-
{ file: 'nakula.md', content: '---\ndescription: Phase 4 - APIs with Nakula (Handsome)\n---\n\nRun
|
|
374
|
-
{ file: 'bheema.md', content: '---\ndescription: Phase 5 & 7 - HLD & Implementation with Bheema (Strength)\n---\n\nRun
|
|
375
|
-
{ file: 'arjuna.md', content: '---\ndescription: Phase 6 - LLD with Arjuna (Warrior)\n---\n\nRun
|
|
376
|
-
{ file: 'draupadi.md', content: '---\ndescription: Phase 8 - Blessing with Draupadi (Queen)\n---\n\nRun
|
|
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
|
|
380
|
-
{ file: 'codegen-backend.md', content: '---\ndescription: Generate NestJS backend only\n---\n\nRun
|
|
381
|
-
{ file: 'codegen-frontend.md', content: '---\ndescription: Generate React frontend only\n---\n\nRun
|
|
382
|
-
{ file: 'codegen-tests.md', content: '---\ndescription: Generate Jest tests only\n---\n\nRun
|
|
383
|
-
{ file: 'codegen-infra.md', content: '---\ndescription: Generate infrastructure code\n---\n\nRun
|
|
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
|
|
387
|
-
{ file: 'export-json.md', content: '---\ndescription: Export design to JSON\n---\n\nRun
|
|
388
|
-
{ file: 'export-html.md', content: '---\ndescription: Export design to HTML\n---\n\nRun
|
|
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
|
|
392
|
-
{ file: 'integrate-jira.md', content: '---\ndescription: Create Jira tickets from design\n---\n\nRun
|
|
393
|
-
{ file: 'integrate-confluence.md', content: '---\ndescription: Create Confluence documentation\n---\n\nRun
|
|
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
|
|
397
|
-
{ file: 'ai-analyze.md', content: '---\ndescription: AI design analysis\n---\n\nRun
|
|
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
|
|
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
|
|
404
|
-
{ file: 'audit.md', content: '---\ndescription: Audit design quality\n---\n\nRun
|
|
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
|
|
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
|
|
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.
|
|
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",
|