Skip to content

Commit 87b7a08

Browse files
author
Test User
committed
feat: implement Phase 3 IDE Integration
- Update RulesGenerator to generate rules to .doplan/ai/rules/ - Create AgentsGenerator for 6 agent types (planner, coder, designer, reviewer, tester, devops) - Enhance Cursor integration with rules file and improved symlink handling - Implement VS Code integration with tasks.json, settings.json, and Copilot prompts - Implement CLI IDE integrations (Gemini, Claude, Codex, OpenCode, Qwen) with usage guides - Implement other IDE integrations (Kiro, Windsurf, Qoder) with setup guides - Add verification functions for all 10 supported IDEs - Create integration guide generator with master and IDE-specific guides - Update install command to call integration setup, generate agents, and verify - Add comprehensive integration tests for all IDE setups and Windows compatibility All IDEs now use central .doplan/ai/ storage with symlinks/copies to IDE-specific directories.
1 parent 322d755 commit 87b7a08

File tree

9 files changed

+2086
-19
lines changed

9 files changed

+2086
-19
lines changed

internal/commands/install.go

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/DoPlan-dev/CLI/internal/config"
1010
doplanerror "github.com/DoPlan-dev/CLI/internal/error"
1111
"github.com/DoPlan-dev/CLI/internal/generators"
12+
"github.com/DoPlan-dev/CLI/internal/integration"
1213
"github.com/DoPlan-dev/CLI/internal/tui"
1314
"github.com/DoPlan-dev/CLI/internal/utils"
1415
"github.com/fatih/color"
@@ -68,8 +69,20 @@ func runInstall(cmd *cobra.Command, args []string) error {
6869
}
6970

7071
color.Green("\n✅ DoPlan installed successfully for %s!", ide)
71-
color.Yellow("\nYou can now use DoPlan commands in Cursor.")
72-
color.Yellow("Run 'doplan dashboard' to view progress, or use slash commands in Cursor.\n")
72+
color.Yellow("\nYou can now use DoPlan commands in your IDE/CLI.")
73+
color.Yellow("Run 'doplan dashboard' to view progress, or use slash commands in your IDE.\n")
74+
75+
// Show IDE-specific instructions
76+
switch ide {
77+
case "vscode":
78+
color.Cyan("📝 VS Code: Use tasks from Command Palette (Ctrl+Shift+P) or Copilot Chat")
79+
case "gemini", "claude", "codex", "opencode", "qwen":
80+
color.Cyan("📝 %s: Type '/' to see available commands", ide)
81+
case "cursor", "windsurf":
82+
color.Cyan("📝 %s: Type '/' in chat to see available commands", ide)
83+
}
84+
85+
color.Cyan("📚 Integration guide: .doplan/guides/IDE_INTEGRATION.md\n")
7386

7487
return nil
7588
}
@@ -96,12 +109,15 @@ func (i *Installer) Install() error {
96109
}{
97110
{"Creating directory structure", i.createDirectories},
98111
{"Installing IDE commands", i.installCommands},
99-
{"Creating templates", i.createTemplates},
112+
{"Generating AI agents", i.generateAgents},
100113
{"Generating workflow rules", i.generateRules},
114+
{"Setting up IDE integration", i.setupIDEIntegration},
115+
{"Creating templates", i.createTemplates},
101116
{"Generating tech stack context", i.generateContext},
102117
{"Generating configuration", i.generateConfig},
103118
{"Creating README", i.createREADME},
104119
{"Creating initial dashboard", i.createDashboard},
120+
{"Verifying installation", i.verifyInstallation},
105121
}
106122

107123
useAnimations := utils.AnimationsEnabled()
@@ -1510,11 +1526,26 @@ func (i *Installer) createTemplates() error {
15101526
return templatesGen.Generate()
15111527
}
15121528

1529+
func (i *Installer) generateAgents() error {
1530+
agentsGen := generators.NewAgentsGenerator(i.projectRoot)
1531+
return agentsGen.Generate()
1532+
}
1533+
15131534
func (i *Installer) generateRules() error {
15141535
rulesGen := generators.NewRulesGenerator(i.projectRoot)
15151536
return rulesGen.Generate()
15161537
}
15171538

1539+
func (i *Installer) setupIDEIntegration() error {
1540+
// Setup IDE-specific integration (symlinks, config files, etc.)
1541+
return integration.SetupIDE(i.projectRoot, i.ide)
1542+
}
1543+
1544+
func (i *Installer) verifyInstallation() error {
1545+
// Verify the installation was successful
1546+
return integration.VerifyIDE(i.projectRoot, i.ide)
1547+
}
1548+
15181549
func (i *Installer) generateContext() error {
15191550
contextGen := generators.NewContextGenerator(i.projectRoot)
15201551
return contextGen.Generate()

0 commit comments

Comments
 (0)