agentic-sdlc 1.0.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.
Files changed (98) hide show
  1. package/.agent/ide-integration/README.md +298 -0
  2. package/.agent/ide-integration/aider-commands.md +40 -0
  3. package/.agent/ide-integration/cline-config.json +108 -0
  4. package/.agent/ide-integration/cursor-rules.md +63 -0
  5. package/.agent/ide-integration/github-copilot-instructions.md +75 -0
  6. package/.agent/ide-integration/vscode-commands.json +190 -0
  7. package/.agent/ide-integration/windsurf-cascade.md +125 -0
  8. package/.agent/knowledge-base/README.md +202 -0
  9. package/.agent/knowledge-base/architecture/.gitkeep +1 -0
  10. package/.agent/knowledge-base/bugs/.gitkeep +1 -0
  11. package/.agent/knowledge-base/features/.gitkeep +1 -0
  12. package/.agent/knowledge-base/index.md +202 -0
  13. package/.agent/knowledge-base/performance/.gitkeep +1 -0
  14. package/.agent/knowledge-base/platform-specific/.gitkeep +1 -0
  15. package/.agent/knowledge-base/security/.gitkeep +1 -0
  16. package/.agent/legacy/roles/designer.md +311 -0
  17. package/.agent/legacy/roles/dev.md +177 -0
  18. package/.agent/legacy/roles/devops.md +146 -0
  19. package/.agent/legacy/roles/orchestrator.md +339 -0
  20. package/.agent/legacy/roles/pm.md +120 -0
  21. package/.agent/legacy/roles/po.md +89 -0
  22. package/.agent/legacy/roles/qa.md +108 -0
  23. package/.agent/legacy/roles/reporter.md +70 -0
  24. package/.agent/legacy/roles/sa.md +118 -0
  25. package/.agent/legacy/roles/seca.md +112 -0
  26. package/.agent/legacy/roles/stakeholder.md +111 -0
  27. package/.agent/legacy/roles/tester.md +129 -0
  28. package/.agent/rules/artifacts.md +58 -0
  29. package/.agent/rules/git-workflow.md +65 -0
  30. package/.agent/rules/global.md +154 -0
  31. package/.agent/rules/global.md.bak +154 -0
  32. package/.agent/rules/knowledge-base.md +45 -0
  33. package/.agent/templates/Design-Verification-Report-Template.md +67 -0
  34. package/.agent/templates/DevOps-Plan-Template.md +90 -0
  35. package/.agent/templates/Development-Log-Template.md +51 -0
  36. package/.agent/templates/Final-Approval-Report-Template.md +82 -0
  37. package/.agent/templates/Final-Project-Report-Template.md +280 -0
  38. package/.agent/templates/Knowledge-Entry-Template.md +164 -0
  39. package/.agent/templates/Master-Documentation-Template.md +269 -0
  40. package/.agent/templates/Phase-Report-Template.md +70 -0
  41. package/.agent/templates/Product-Backlog-Template.md +84 -0
  42. package/.agent/templates/Project-Plan-Template.md +79 -0
  43. package/.agent/templates/Security-Review-Report-Template.md +80 -0
  44. package/.agent/templates/System-Design-Spec-Template.md +170 -0
  45. package/.agent/templates/Test-Report-Template.md +97 -0
  46. package/.agent/templates/UIUX-Design-Spec-Template.md +280 -0
  47. package/.agent/templates/definition-of-done.md +151 -0
  48. package/.agent/templates/incident-response.md +111 -0
  49. package/.agent/usage.md +653 -0
  50. package/.agent/workflows/auto.md +35 -0
  51. package/.agent/workflows/brain.md +56 -0
  52. package/.agent/workflows/dev.md +30 -0
  53. package/.agent/workflows/devops.md +28 -0
  54. package/.agent/workflows/kb-search.md +22 -0
  55. package/.agent/workflows/pm.md +42 -0
  56. package/.agent/workflows/po.md +21 -0
  57. package/.agent/workflows/qa.md +31 -0
  58. package/.agent/workflows/reporter.md +21 -0
  59. package/.agent/workflows/sa.md +51 -0
  60. package/.agent/workflows/seca.md +21 -0
  61. package/.agent/workflows/stakeholder.md +26 -0
  62. package/.agent/workflows/tester.md +21 -0
  63. package/.agent/workflows/uiux.md +38 -0
  64. package/.cursorrules +49 -0
  65. package/.env.template +10 -0
  66. package/.github/ISSUE_TEMPLATE/bug_report.yml +47 -0
  67. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  68. package/.github/ISSUE_TEMPLATE/feature_request.yml +33 -0
  69. package/.github/ISSUE_TEMPLATE/security_alert.yml +28 -0
  70. package/.github/ISSUE_TEMPLATE/task_implementation.yml +37 -0
  71. package/.github/copilot-instructions.md +60 -0
  72. package/CHANGELOG.md +13 -0
  73. package/README.md +136 -0
  74. package/bin/cli.js +104 -0
  75. package/bin/commands/create.js +96 -0
  76. package/bin/commands/help.js +69 -0
  77. package/bin/commands/ide.js +116 -0
  78. package/bin/commands/init-kb.js +74 -0
  79. package/bin/commands/install.js +68 -0
  80. package/bin/commands/list.js +35 -0
  81. package/bin/graph_brain.py +86 -0
  82. package/bin/sync_github.py +75 -0
  83. package/bin/utils/args-parser.js +33 -0
  84. package/bin/utils/colors.js +21 -0
  85. package/bin/verify_neo4j.py +25 -0
  86. package/docs/OUTLINE.md +23 -0
  87. package/docs/architecture/brain.md +36 -0
  88. package/docs/architecture/neo4j-learning-queries.md +49 -0
  89. package/docs/guides/CLI-EXAMPLES.md +649 -0
  90. package/docs/guides/INTEGRATION-GUIDE.md +709 -0
  91. package/docs/guides/MCP-GUIDE.md +53 -0
  92. package/docs/guides/QUICK-START.md +104 -0
  93. package/docs/reports/comparison-leann-neo4j.md +49 -0
  94. package/docs/setup/github-management.md +37 -0
  95. package/docs/sprints/sprint-github-issues.md +36 -0
  96. package/docs/sprints/sprint-leann-integration.md +41 -0
  97. package/docs/sprints/sprint-neo4j-brain.md +38 -0
  98. package/package.json +16 -0
@@ -0,0 +1,60 @@
1
+ # TeamLifecycle SDLC System
2
+
3
+ This project uses a structured SDLC workflow with specialized roles. All instructions are in `.agent/`.
4
+
5
+ ## Slash Commands (Role Shortcuts)
6
+
7
+ When user types these commands, interpret as role tags:
8
+
9
+ ### Core Roles
10
+ - `/pm` → @PM (Project Manager)
11
+ - `/orchestrator` → @ORCHESTRATOR (Workflow Automation)
12
+ - `/po` → @PO (Product Owner)
13
+ - `/sa` → @SA (System Analyst)
14
+ - `/uiux` → @UIUX (UI/UX Designer)
15
+ - `/qa` → @QA (Quality Assurance)
16
+ - `/seca` → @SECA (Security Analyst)
17
+ - `/dev` → @DEV (Developer)
18
+ - `/devops` → @DEVOPS (DevOps Engineer)
19
+ - `/tester` → @TESTER (Tester)
20
+ - `/reporter` → @REPORTER (Reporter)
21
+ - `/stakeholder` → @STAKEHOLDER (Stakeholder)
22
+
23
+ ### Quick Actions
24
+ - `/auto [requirements]` → @PM [requirements] --mode=full-auto
25
+ - `/semi-auto [requirements]` → @PM [requirements] --mode=semi-auto
26
+ - `/kb-search [query]` → Search `.agent/knowledge-base/`
27
+ - `/kb-add [topic]` → Create knowledge base entry
28
+
29
+ ## Role Behavior
30
+
31
+ Each role has specific responsibilities defined in `.agent/workflows/[role].md`:
32
+
33
+ 1. **Load role file** when command is used
34
+ 2. **Follow role rules** strictly
35
+ 3. **Create artifacts** in `docs/sprints/sprint-[N]/[category]/`
36
+ 4. **Tag next roles** using @tags
37
+ 5. **Use templates** from `.agent/templates/`
38
+
39
+ ## Workflow
40
+
41
+ ```
42
+ Planning → Design → Verification → Development → Testing → Reporting → Approval
43
+ ```
44
+
45
+ ## Key Files
46
+
47
+ - Global Rules: `.agent/rules/global.md`
48
+ - Usage Guide: `.agent/usage.md`
49
+ - Roles: `.agent/workflows/*.md`
50
+ - Templates: `.agent/templates/*.md`
51
+ - Knowledge Base: `.agent/knowledge-base/`
52
+
53
+ ## Examples
54
+
55
+ ```
56
+ /pm Build a REST API for task management
57
+ /auto Create a mobile app for expense tracking
58
+ /dev Implement JWT authentication
59
+ /kb-search OAuth token refresh
60
+ ```
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
+
7
+ ## [Unreleased]
8
+
9
+ ### Added
10
+ - [2025-12-31] [INITIAL] Docs: Initialized project with TeamLifecycle SDLC workflow (@Antigravity)
11
+ - [2025-12-31] [REF-001] Refactor: Migrated project structure to native `.agent/` standard (@Antigravity)
12
+ - [2025-12-31] [FEAT-001] Feature: Added Jira-style task management and atomic commit rules (@Antigravity)
13
+ - [2025-12-31] [FEAT-002] Feature: Integrated automated changelog update requirement (@Antigravity)
package/README.md ADDED
@@ -0,0 +1,136 @@
1
+ # Agentic SDLC
2
+
3
+ > Simulating a complete Software Development Lifecycle (SDLC) with specialized AI Agents.
4
+
5
+ Transform your IDE into a full SDLC team with 12 specialized AI roles, automated workflows, and knowledge management.
6
+
7
+ ## ✨ Features
8
+
9
+ - 🤖 **12 AI Roles** - PM, SA, UI/UX, QA, Security, Dev, DevOps, Tester, Reporter, Stakeholder, PO, Orchestrator
10
+ - ⚡ **Slash Commands** - `/pm`, `/dev`, `/auto` in your IDE
11
+ - 🔄 **Auto Workflow** - Full automation or manual control
12
+ - 🧠 **Knowledge Base** - Learn from past challenges
13
+ - 🎨 **IDE Integration** - Cursor, Copilot, Windsurf, Cline, Aider
14
+ - 📚 **16 Templates** - Plans, designs, reports, documentation
15
+ - 🌐 **All Platforms** - Web, Mobile, Desktop, CLI, API, Embedded
16
+
17
+ ## 🚀 Quick Start
18
+
19
+ ```bash
20
+ # Install
21
+ npm install -g agentic-sdlc
22
+
23
+ # Create project
24
+ agentic-sdlc create my-project
25
+ cd my-project
26
+
27
+ # Setup IDE
28
+ agentic-sdlc ide cursor
29
+
30
+ # Start building (in IDE)
31
+ /pm Build a todo app with authentication
32
+ ```
33
+
34
+ **That's it!** See [Quick Start](docs/guides/QUICK-START.md) for details.
35
+
36
+ ## 📖 Documentation
37
+
38
+ - **[Documentation Outline](docs/OUTLINE.md)** - Central hub for all guides
39
+ - **Quick Start:** [QUICK-START.md](docs/guides/QUICK-START.md) - Get started in 5 minutes
40
+ - **CLI Examples:** [CLI-EXAMPLES.md](docs/guides/CLI-EXAMPLES.md) - Complete usage guide
41
+ - **Usage Guide:** `.agent/usage.md` - Full documentation
42
+ - **IDE Integration:** `.agent/ide-integration/README.md`
43
+
44
+ ## 🎯 Use Cases
45
+
46
+ ### Solo Developer
47
+ ```bash
48
+ /auto Create a SaaS platform for project management
49
+ # Automated workflow, complete in days
50
+ ```
51
+
52
+ ### Team Project
53
+ ```bash
54
+ agentic-sdlc ide all
55
+ agentic-sdlc init-kb
56
+ # Shared workflow, consistent quality
57
+ ```
58
+
59
+ ### Existing Project
60
+ ```bash
61
+ agentic-sdlc install
62
+ agentic-sdlc ide cursor
63
+ # Add SDLC to any project
64
+ ```
65
+
66
+ ## 🔧 CLI Commands
67
+
68
+ ```bash
69
+ agentic-sdlc install # Install in current directory
70
+ agentic-sdlc create <name> # Create new project
71
+ agentic-sdlc ide <cursor|all> # Setup IDE integration
72
+ agentic-sdlc init-kb # Initialize knowledge base
73
+ agentic-sdlc list # List templates & roles
74
+ agentic-sdlc --help # Show help
75
+ ```
76
+
77
+ ## 🎨 IDE Slash Commands
78
+
79
+ After setup, use these in your IDE:
80
+
81
+ ```bash
82
+ /pm # Project Manager
83
+ /auto # Full automation
84
+ /sa # System Analyst
85
+ /uiux # UI/UX Designer
86
+ /dev # Developer
87
+ /devops # DevOps Engineer
88
+ /tester # Tester
89
+ /kb-search # Search knowledge base
90
+ ```
91
+
92
+ ## 📊 Project Structure
93
+
94
+ ```
95
+ my-project/
96
+ ├── .agent/
97
+ │ ├── roles/ # 12 AI roles
98
+ │ ├── templates/ # 16 templates
99
+ │ ├── knowledge-base/ # Learning system
100
+ │ └── ide-integration/ # IDE configs
101
+ ├── docs/sprints/ # Sprint documentation
102
+ ├── .cursorrules # Cursor config
103
+ └── .github/copilot-instructions.md
104
+ ```
105
+
106
+ ## 🌟 Examples
107
+
108
+ See [CLI-EXAMPLES.md](docs/guides/CLI-EXAMPLES.md) for:
109
+ - Real-world workflows
110
+ - Team collaboration
111
+ - Automation scripts
112
+ - Troubleshooting
113
+ - Pro tips
114
+
115
+ ## 📦 What's Included
116
+
117
+ - **12 Roles:** Complete SDLC team
118
+ - **16 Templates:** All documentation needs
119
+ - **Knowledge Base:** Learn and improve
120
+ - **IDE Integration:** 5+ IDEs supported
121
+ - **Automation:** Full-auto or manual modes
122
+ - **Multi-platform:** Web, mobile, desktop, CLI, API
123
+
124
+ ## 🤝 Contributing
125
+
126
+ Contributions welcome! See issues for ideas.
127
+
128
+ ## 📄 License
129
+
130
+ MIT
131
+
132
+ ## 🔗 Links
133
+
134
+ - **Repository:** https://github.com/truongnat/agentic-sdlc
135
+ - **Issues:** https://github.com/truongnat/agentic-sdlc/issues
136
+ - **NPM:** https://www.npmjs.com/package/agentic-sdlc
package/bin/cli.js ADDED
@@ -0,0 +1,104 @@
1
+ #!/usr/bin/env node
2
+
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { fileURLToPath } from 'url';
6
+ import { log } from './utils/colors.js';
7
+ import { parseArgs } from './utils/args-parser.js';
8
+ import { showHelp, showVersion } from './commands/help.js';
9
+ import { listTemplates } from './commands/list.js';
10
+ import { install } from './commands/install.js';
11
+ import { createProject } from './commands/create.js';
12
+ import { setupIDE } from './commands/ide.js';
13
+ import { initKnowledgeBase } from './commands/init-kb.js';
14
+
15
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
+ const templatePath = path.join(__dirname, '../.agent');
17
+
18
+ // Package info
19
+ const packageJson = JSON.parse(
20
+ await fs.readFile(path.join(__dirname, '../package.json'), 'utf-8')
21
+ );
22
+
23
+ /**
24
+ * Main CLI entry point
25
+ */
26
+ async function main() {
27
+ const args = process.argv.slice(2);
28
+
29
+ // Handle no arguments
30
+ if (args.length === 0) {
31
+ showHelp(packageJson);
32
+ process.exit(0);
33
+ }
34
+
35
+ const { options, args: filteredArgs } = parseArgs(args);
36
+ const command = filteredArgs[0];
37
+
38
+ // Handle help flags
39
+ if (command === '-h' || command === '--help' || command === 'help') {
40
+ showHelp(packageJson);
41
+ process.exit(0);
42
+ }
43
+
44
+ // Handle version flags
45
+ if (command === '-v' || command === '--version' || command === 'version') {
46
+ showVersion(packageJson);
47
+ process.exit(0);
48
+ }
49
+
50
+ // Handle commands
51
+ switch (command) {
52
+ case 'install':
53
+ await install(templatePath, options);
54
+ break;
55
+
56
+ case 'create':
57
+ const projectName = filteredArgs[1];
58
+ if (!projectName) {
59
+ log.error('Project name is required');
60
+ console.log('Usage: agentic-sdlc create <project-name>');
61
+ process.exit(1);
62
+ }
63
+ await createProject(templatePath, projectName, options);
64
+ break;
65
+
66
+ case 'list':
67
+ await listTemplates(templatePath);
68
+ break;
69
+
70
+ case 'ide':
71
+ const ideName = filteredArgs[1];
72
+ if (!ideName) {
73
+ log.error('IDE name is required');
74
+ console.log('Usage: agentic-sdlc ide <cursor|copilot|windsurf|cline|aider|all>');
75
+ process.exit(1);
76
+ }
77
+ await setupIDE(templatePath, ideName, options);
78
+ break;
79
+
80
+ case 'init-kb':
81
+ await initKnowledgeBase(templatePath, options);
82
+ break;
83
+
84
+ default:
85
+ log.error(`Unknown command: ${command}`);
86
+ console.log('Run agentic-sdlc --help for usage information');
87
+ process.exit(1);
88
+ }
89
+ }
90
+
91
+ // Error handlers
92
+ process.on('uncaughtException', (err) => {
93
+ log.error('Unexpected error occurred');
94
+ log.error(err.message);
95
+ process.exit(1);
96
+ });
97
+
98
+ process.on('unhandledRejection', (err) => {
99
+ log.error('Unhandled promise rejection');
100
+ log.error(err.message);
101
+ process.exit(1);
102
+ });
103
+
104
+ main();
@@ -0,0 +1,96 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { colors, log } from '../utils/colors.js';
4
+
5
+ /**
6
+ * Create new project with instructions
7
+ */
8
+ export async function createProject(templatePath, projectName, options = {}) {
9
+ const startTime = Date.now();
10
+ const targetPath = path.join(process.cwd(), projectName);
11
+
12
+ try {
13
+ if (!options.quiet) log.header(`🚀 Creating Project: ${projectName}`);
14
+
15
+ // Check if project exists
16
+ if (await fs.pathExists(targetPath)) {
17
+ if (!options.force) {
18
+ log.error(`Directory '${projectName}' already exists`);
19
+ log.info('Use --force to overwrite');
20
+ process.exit(1);
21
+ } else {
22
+ log.warning('Overwriting existing project...');
23
+ await fs.remove(targetPath);
24
+ }
25
+ }
26
+
27
+ // Create project directory
28
+ if (!options.quiet) log.step('Creating project directory...');
29
+ await fs.ensureDir(targetPath);
30
+
31
+ // Copy instructions
32
+ if (!options.quiet) log.step('Installing instructions...');
33
+ await fs.copy(templatePath, path.join(targetPath, '.agent'));
34
+
35
+ // Create basic project structure
36
+ if (!options.quiet) log.step('Setting up project structure...');
37
+
38
+ // Create docs structure
39
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'plans'));
40
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'designs'));
41
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'reviews'));
42
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'logs'));
43
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'tests'));
44
+ await fs.ensureDir(path.join(targetPath, 'docs', 'sprints', 'sprint-1', 'reports'));
45
+ await fs.ensureDir(path.join(targetPath, 'docs', 'global', 'reports'));
46
+
47
+ // Create package.json
48
+ await fs.writeJson(
49
+ path.join(targetPath, 'package.json'),
50
+ {
51
+ name: projectName,
52
+ version: '1.0.0',
53
+ description: 'Project created with agentic-sdlc',
54
+ main: 'index.js',
55
+ scripts: {
56
+ test: 'echo "Error: no test specified" && exit 1',
57
+ },
58
+ },
59
+ { spaces: 2 }
60
+ );
61
+
62
+ // Create README
63
+ await fs.writeFile(
64
+ path.join(targetPath, 'README.md'),
65
+ `# ${projectName}\n\nProject created with agentic-sdlc.\n\n## Getting Started\n\n1. Review instructions: \`.agent/usage.md\`\n2. Setup IDE: \`agentic-sdlc ide cursor\`\n3. Start planning: \`/pm Build your project\`\n\n## Documentation\n\nAll project documentation is in \`docs/\` folder organized by sprints.\n`
66
+ );
67
+
68
+ // Create .gitignore
69
+ await fs.writeFile(
70
+ path.join(targetPath, '.gitignore'),
71
+ `node_modules/\n.DS_Store\n*.log\n.env\n.env.local\n.agent/\n`
72
+ );
73
+
74
+ // Success
75
+ if (!options.quiet) {
76
+ log.success('Project created successfully!');
77
+ console.log(`Location: ${targetPath}`);
78
+ console.log(`\nNext Steps:`);
79
+ console.log(` ${colors.cyan}cd ${projectName}${colors.reset}`);
80
+ console.log(' agentic-sdlc ide cursor');
81
+ console.log(' • Review .agent/usage.md');
82
+ console.log(' • Initialize git repository');
83
+ console.log(' • Start: /pm Build your project\n');
84
+
85
+ const duration = ((Date.now() - startTime) / 1000).toFixed(2);
86
+ log.info(`Completed in ${duration}s`);
87
+ }
88
+
89
+ process.exit(0);
90
+ } catch (err) {
91
+ log.error('Project creation failed');
92
+ log.error(err.message);
93
+ if (options.verbose) console.error('\nStack trace:', err.stack);
94
+ process.exit(1);
95
+ }
96
+ }
@@ -0,0 +1,69 @@
1
+ import { colors } from '../utils/colors.js';
2
+
3
+ /**
4
+ * Display help information
5
+ */
6
+ export function showHelp(packageJson) {
7
+ console.log(`
8
+ ${colors.bright}${colors.cyan}agentic-sdlc${colors.reset} ${colors.dim}v${packageJson.version}${colors.reset}
9
+
10
+ ${colors.bright}USAGE${colors.reset}
11
+ ${colors.cyan}agentic-sdlc${colors.reset} ${colors.yellow}<command>${colors.reset} ${colors.dim}[options]${colors.reset}
12
+
13
+ ${colors.bright}COMMANDS${colors.reset}
14
+ ${colors.yellow}install${colors.reset} Install instructions into current directory
15
+ ${colors.yellow}create${colors.reset} ${colors.dim}<name>${colors.reset} Create new project with instructions
16
+ ${colors.yellow}list${colors.reset} List available templates and roles
17
+ ${colors.yellow}ide${colors.reset} ${colors.dim}<ide-name>${colors.reset} Setup IDE integration (cursor, copilot, windsurf, cline, aider, all)
18
+ ${colors.yellow}init-kb${colors.reset} Initialize knowledge base structure
19
+ ${colors.yellow}version${colors.reset} Show version information
20
+ ${colors.yellow}help${colors.reset} Show this help message
21
+
22
+ ${colors.bright}OPTIONS${colors.reset}
23
+ ${colors.dim}-h, --help${colors.reset} Show help
24
+ ${colors.dim}-v, --version${colors.reset} Show version
25
+ ${colors.dim}-f, --force${colors.reset} Force overwrite existing files
26
+ ${colors.dim}-q, --quiet${colors.reset} Suppress output
27
+ ${colors.dim}--verbose${colors.reset} Show detailed output
28
+ ${colors.dim}--no-color${colors.reset} Disable colored output
29
+
30
+ ${colors.bright}EXAMPLES${colors.reset}
31
+ ${colors.dim}# Install in current directory${colors.reset}
32
+ ${colors.cyan}agentic-sdlc${colors.reset} install
33
+
34
+ ${colors.dim}# Create new project${colors.reset}
35
+ ${colors.cyan}agentic-sdlc${colors.reset} create my-project
36
+
37
+ ${colors.dim}# Setup Cursor IDE integration${colors.reset}
38
+ ${colors.cyan}agentic-sdlc${colors.reset} ide cursor
39
+
40
+ ${colors.dim}# Setup all IDE integrations${colors.reset}
41
+ ${colors.cyan}agentic-sdlc${colors.reset} ide all
42
+
43
+ ${colors.dim}# Initialize knowledge base${colors.reset}
44
+ ${colors.cyan}agentic-sdlc${colors.reset} init-kb
45
+
46
+ ${colors.dim}# List available templates${colors.reset}
47
+ ${colors.cyan}agentic-sdlc${colors.reset} list
48
+
49
+ ${colors.bright}IDE INTEGRATIONS${colors.reset}
50
+ ${colors.dim}cursor${colors.reset} - Cursor IDE (.cursorrules)
51
+ ${colors.dim}copilot${colors.reset} - GitHub Copilot (.github/copilot-instructions.md)
52
+ ${colors.dim}windsurf${colors.reset} - Windsurf Cascade (.windsurfrules)
53
+ ${colors.dim}cline${colors.reset} - Cline VS Code Extension
54
+ ${colors.dim}aider${colors.reset} - Aider CLI (.aider.conf.yml)
55
+ ${colors.dim}all${colors.reset} - Setup all IDE integrations
56
+
57
+ ${colors.bright}DOCUMENTATION${colors.reset}
58
+ ${colors.dim}Repository:${colors.reset} https://github.com/yourusername/template-instructions
59
+ ${colors.dim}Issues:${colors.reset} https://github.com/yourusername/template-instructions/issues
60
+ `);
61
+ }
62
+
63
+ /**
64
+ * Display version information
65
+ */
66
+ export function showVersion(packageJson) {
67
+ console.log(`${colors.cyan}agentic-sdlc${colors.reset} ${colors.bright}v${packageJson.version}${colors.reset}`);
68
+ console.log(`${colors.dim}${packageJson.description}${colors.reset}`);
69
+ }
@@ -0,0 +1,116 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { log } from '../utils/colors.js';
4
+
5
+ /**
6
+ * Setup single IDE configuration
7
+ */
8
+ async function setupSingleIDE(config, options) {
9
+ // Create directory if needed
10
+ if (config.createDir) {
11
+ await fs.ensureDir(config.createDir);
12
+ }
13
+
14
+ // Check if file exists
15
+ if (await fs.pathExists(config.target)) {
16
+ if (!options.force) {
17
+ log.warning(`${config.name} config already exists`);
18
+ log.info('Use --force to overwrite');
19
+ return;
20
+ } else {
21
+ log.warning(`Overwriting ${config.name} config...`);
22
+ }
23
+ }
24
+
25
+ // Copy config file
26
+ if (!options.quiet) log.step(`Installing ${config.name}...`);
27
+ await fs.copy(config.source, config.target);
28
+ if (!options.quiet) log.success(`${config.name} installed`);
29
+ }
30
+
31
+ /**
32
+ * Setup IDE integration
33
+ */
34
+ export async function setupIDE(templatePath, ideName, options = {}) {
35
+ const startTime = Date.now();
36
+ const targetPath = process.cwd();
37
+ const ideIntegrationPath = path.join(templatePath, 'ide-integration');
38
+
39
+ try {
40
+ if (!options.quiet) log.header(`🔧 Setting up ${ideName.toUpperCase()} Integration`);
41
+
42
+ const ideConfigs = {
43
+ cursor: {
44
+ source: path.join(ideIntegrationPath, 'cursor-rules.md'),
45
+ target: path.join(targetPath, '.cursorrules'),
46
+ name: 'Cursor IDE'
47
+ },
48
+ copilot: {
49
+ source: path.join(ideIntegrationPath, 'github-copilot-instructions.md'),
50
+ target: path.join(targetPath, '.github', 'copilot-instructions.md'),
51
+ name: 'GitHub Copilot',
52
+ createDir: path.join(targetPath, '.github')
53
+ },
54
+ windsurf: {
55
+ source: path.join(ideIntegrationPath, 'windsurf-cascade.md'),
56
+ target: path.join(targetPath, '.windsurfrules'),
57
+ name: 'Windsurf Cascade'
58
+ },
59
+ cline: {
60
+ source: path.join(ideIntegrationPath, 'cline-config.json'),
61
+ target: path.join(targetPath, '.vscode', 'cline-config.json'),
62
+ name: 'Cline Extension',
63
+ createDir: path.join(targetPath, '.vscode')
64
+ },
65
+ aider: {
66
+ source: path.join(ideIntegrationPath, 'aider-commands.md'),
67
+ target: path.join(targetPath, '.aider.conf.yml'),
68
+ name: 'Aider CLI'
69
+ }
70
+ };
71
+
72
+ if (ideName === 'all') {
73
+ // Setup all IDEs
74
+ for (const [ide, config] of Object.entries(ideConfigs)) {
75
+ await setupSingleIDE(config, options);
76
+ }
77
+
78
+ if (!options.quiet) {
79
+ log.success('All IDE integrations installed!');
80
+ console.log(`\nNext Steps:`);
81
+ console.log(' • Restart your IDE');
82
+ console.log(' • Type / in chat to see available commands');
83
+ console.log(' • Try: /pm Build a todo app\n');
84
+ }
85
+ } else {
86
+ // Setup single IDE
87
+ const config = ideConfigs[ideName];
88
+ if (!config) {
89
+ log.error(`Unknown IDE: ${ideName}`);
90
+ console.log(`Available: cursor, copilot, windsurf, cline, aider, all`);
91
+ process.exit(1);
92
+ }
93
+
94
+ await setupSingleIDE(config, options);
95
+
96
+ if (!options.quiet) {
97
+ log.success(`${config.name} integration installed!`);
98
+ console.log(`Location: ${config.target}`);
99
+ console.log(`\nNext Steps:`);
100
+ console.log(` • Restart ${config.name}`);
101
+ console.log(' • Type / in chat to see commands');
102
+ console.log(' • Try: /pm Build a todo app\n');
103
+ }
104
+ }
105
+
106
+ const duration = ((Date.now() - startTime) / 1000).toFixed(2);
107
+ if (!options.quiet) log.info(`Completed in ${duration}s`);
108
+
109
+ process.exit(0);
110
+ } catch (err) {
111
+ log.error('IDE setup failed');
112
+ log.error(err.message);
113
+ if (options.verbose) console.error('\nStack trace:', err.stack);
114
+ process.exit(1);
115
+ }
116
+ }
@@ -0,0 +1,74 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ import { log } from '../utils/colors.js';
4
+
5
+ /**
6
+ * Initialize knowledge base structure
7
+ */
8
+ export async function initKnowledgeBase(templatePath, options = {}) {
9
+ const startTime = Date.now();
10
+ const targetPath = path.join(process.cwd(), '.gemini', 'instructions', 'knowledge-base');
11
+
12
+ try {
13
+ if (!options.quiet) log.header('🧠 Initializing Knowledge Base');
14
+
15
+ // Check if already exists
16
+ if (await fs.pathExists(targetPath)) {
17
+ if (!options.force) {
18
+ log.warning('Knowledge base already exists');
19
+ log.info('Use --force to reinitialize');
20
+ process.exit(0);
21
+ }
22
+ }
23
+
24
+ // Create directory structure
25
+ if (!options.quiet) log.step('Creating directory structure...');
26
+
27
+ const dirs = [
28
+ 'bugs/critical',
29
+ 'bugs/high',
30
+ 'bugs/medium',
31
+ 'bugs/low',
32
+ 'features/authentication',
33
+ 'features/performance',
34
+ 'features/integration',
35
+ 'features/ui-ux',
36
+ 'architecture',
37
+ 'security',
38
+ 'performance',
39
+ 'platform-specific/web',
40
+ 'platform-specific/mobile',
41
+ 'platform-specific/desktop',
42
+ 'platform-specific/cli',
43
+ 'platform-specific/embedded'
44
+ ];
45
+
46
+ for (const dir of dirs) {
47
+ await fs.ensureDir(path.join(targetPath, dir));
48
+ }
49
+
50
+ // Copy README and index
51
+ const kbSourcePath = path.join(templatePath, 'knowledge-base');
52
+ await fs.copy(path.join(kbSourcePath, 'README.md'), path.join(targetPath, 'README.md'));
53
+ await fs.copy(path.join(kbSourcePath, 'index.md'), path.join(targetPath, 'index.md'));
54
+
55
+ if (!options.quiet) {
56
+ log.success('Knowledge base initialized!');
57
+ console.log(`Location: ${targetPath}`);
58
+ console.log(`\nNext Steps:`);
59
+ console.log(' • Read: .gemini/instructions/knowledge-base/README.md');
60
+ console.log(' • Use template: Knowledge-Entry-Template.md');
61
+ console.log(' • Search: Check index.md\n');
62
+
63
+ const duration = ((Date.now() - startTime) / 1000).toFixed(2);
64
+ log.info(`Completed in ${duration}s`);
65
+ }
66
+
67
+ process.exit(0);
68
+ } catch (err) {
69
+ log.error('Knowledge base initialization failed');
70
+ log.error(err.message);
71
+ if (options.verbose) console.error('\nStack trace:', err.stack);
72
+ process.exit(1);
73
+ }
74
+ }