-
Notifications
You must be signed in to change notification settings - Fork 0
feat(hybrid): Enhanced checkpoint system for multi-agent orchestration #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c79491b
1fb04ef
2f024fe
c90d23c
b23d67b
009a6d2
247a7a9
0368851
dba16b1
5708907
1c2ece1
54fb7c4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,248 @@ | ||
| # DevFlow Claude Code Settings Guide | ||
|
|
||
| ## Overview | ||
|
|
||
| This guide explains the optimal Claude Code settings for the DevFlow autonomous AI development studio workflow. | ||
|
|
||
| --- | ||
|
|
||
| ## 1. General Settings (Settings UI) | ||
|
|
||
| ### Theme & Appearance | ||
|
|
||
| ```json | ||
| { | ||
| "theme": "dark", | ||
| "fontSize": 14, | ||
| "fontFamily": "JetBrains Mono, Fira Code, monospace", | ||
| "showLineNumbers": true, | ||
| "wordWrap": true, | ||
| "minimap": true | ||
| } | ||
| ``` | ||
|
|
||
| ### Notifications | ||
|
|
||
| - **Enabled**: Yes | ||
| - **Sounds**: No ( distraction-free ) | ||
| - **Task Completion**: Yes | ||
| - **Errors**: Yes | ||
|
|
||
| --- | ||
|
|
||
| ## 2. Project Settings | ||
|
|
||
| ### Project Scripts | ||
|
|
||
| These scripts are available in the CLI via `npm run`: | ||
|
|
||
| ```json | ||
| { | ||
| "dev": "npm run dev", | ||
| "dev:server": "npm run dev:server", | ||
| "dev:ui": "npm run dev:ui", | ||
| "build": "npm run build", | ||
| "build:packages": "npm run build:packages", | ||
| "test": "npm run test:all", | ||
| "test:server": "npm run test:server", | ||
| "lint": "npm run lint", | ||
| "format": "npm run format", | ||
| "typecheck": "npx tsc -p apps/server/tsconfig.json --noEmit" | ||
| } | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 3. MCP Servers Configuration | ||
|
|
||
| Configure these MCP servers for the **CLAUDE_CODE** agent: | ||
|
|
||
| ### Core MCP Servers | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "vibe-kanban": { | ||
| "command": "npx", | ||
| "args": ["-y", "@vibe-kanban/mcp-server@latest"], | ||
| "disabled": false | ||
| }, | ||
| "greptile": { | ||
| "command": "npx", | ||
| "args": ["-y", "@greptile/mcp-server@latest"], | ||
| "env": { | ||
| "GREPTILE_API_KEY": "YOUR_KEY_HERE", | ||
| "GREPTILE_REPO": "oxtsotsi/DevFlow", | ||
| "GREPTILE_BRANCH": "main" | ||
| }, | ||
| "disabled": false | ||
| }, | ||
| "exa": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-exa@latest"], | ||
| "env": { | ||
| "EXA_API_KEY": "YOUR_KEY_HERE" | ||
| }, | ||
| "disabled": false | ||
| }, | ||
| "filesystem": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/oxtsotsi/Webrnds/DevFlow"], | ||
| "disabled": false | ||
| }, | ||
| "github": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-github"], | ||
| "env": { | ||
| "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_HERE" | ||
| }, | ||
| "disabled": false | ||
| }, | ||
| "git": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-git"], | ||
| "disabled": false | ||
| }, | ||
| "brave-search": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-brave-search"], | ||
| "disabled": false | ||
| }, | ||
| "puppeteer": { | ||
| "command": "npx", | ||
| "args": ["-y", "@modelcontextprotocol/server-puppeteer"], | ||
| "disabled": false | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### MCP Tool Permissions | ||
|
|
||
| Add these to `permissions.allow` in `.claude/settings.json`: | ||
|
|
||
| ```json | ||
| [ | ||
| "Read(.claude/**)", | ||
| "Write(.claude/**)", | ||
| "Edit(.claude/**)", | ||
| "mcp__vibe_kanban__*", | ||
| "mcp__plugin_greptile_greptile__*", | ||
| "mcp__exa__*", | ||
| "mcp__web_reader__webReader", | ||
| "mcp__grep__searchGitHub", | ||
| "mcp__4_5v_mcp__analyze_image" | ||
| ] | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 4. Agent Configuration | ||
|
|
||
| ### CLAUDE_CODE Agent | ||
|
|
||
| ```json | ||
| { | ||
| "model": "claude-sonnet-4.5-20250114", | ||
| "maxTokens": 200000, | ||
| "temperature": 0.0, | ||
| "timeout": 300000, | ||
| "maxToolRoundtrips": 30 | ||
| } | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 5. Orchestrator Environment Variables | ||
|
|
||
| Set these in `apps/server/.env`: | ||
|
|
||
| ```bash | ||
| # Greptile API key for semantic code search | ||
| GREPTILE_API_KEY=your-key-here | ||
|
|
||
| # Exa API key for web research | ||
| EXA_API_KEY=your-key-here | ||
|
|
||
| # Vibe-Kanban project | ||
| ORCHESTRATOR_PROJECT_NAME=DevFlow | ||
|
|
||
| # Orchestrator behavior | ||
| ORCHESTRATOR_AUTO_START_TASKS=true | ||
| ORCHESTRATOR_AUTO_START_WORKSPACE=false | ||
| ORCHESTRATOR_POLL_INTERVAL=30000 | ||
| ORCHESTRATOR_MAX_CONCURRENT_RESEARCH=3 | ||
|
|
||
| # GitHub repository | ||
| ORCHESTRATOR_GITHUB_REPO=oxtsotsi/DevFlow | ||
| ORCHESTRATOR_DEFAULT_BRANCH=main | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## 6. Vibe-Kanban MCP Tools | ||
|
|
||
| Available tools (configured in permissions): | ||
|
|
||
| | Tool | Description | | ||
| | ------------------------- | ------------------------------------- | | ||
| | `list_projects` | List all Vibe-Kanban projects | | ||
| | `list_tasks` | List tasks in a project | | ||
| | `create_task` | Create a new task | | ||
| | `update_task` | Update task title/description/status | | ||
| | `get_task` | Get detailed task information | | ||
| | `delete_task` | Delete a task | | ||
| | `list_repos` | List repositories in a project | | ||
| | `start_workspace_session` | Start a Claude Code workspace session | | ||
|
|
||
| ### Can Vibe-Kanban create PRs? | ||
|
|
||
| **No**, Vibe-Kanban MCP does NOT directly create PRs. PR creation is handled by: | ||
|
|
||
| 1. The orchestrator via GitHub CLI (`gh pr create`) | ||
| 2. GitHub MCP server (`@modelcontextprotocol/server-github`) | ||
|
|
||
| --- | ||
|
|
||
| ## 7. File Edit Permissions | ||
|
|
||
| **Key Addition**: Agents can now edit `.claude/**` files including: | ||
|
|
||
| - `.claude/settings.json` - Agent can configure its own settings | ||
| - `.claude/commands/` - Agent can create custom commands | ||
| - `.claude/SETTINGS_GUIDE.md` - This file | ||
|
|
||
| This enables self-configuration workflows where the orchestrator can adjust settings based on project needs. | ||
|
|
||
| --- | ||
|
|
||
| ## 8. Quick Setup Checklist | ||
|
|
||
| - [ ] Add API keys to `apps/server/.env` (Greptile, Exa) | ||
| - [ ] Add API keys to MCP Server Configuration (Greptile, Exa, GitHub) | ||
| - [ ] Verify Vibe-Kanban MCP is connected | ||
| - [ ] Test orchestrator: `POST /orchestrator/start` | ||
| - [ ] Create a test task in Vibe-Kanban | ||
| - [ ] Verify workspace session starts (if enabled) | ||
|
|
||
| --- | ||
|
|
||
| ## 9. Troubleshooting | ||
|
|
||
| ### MCP Tools Not Available | ||
|
|
||
| - Check MCP server is running: `npx @vibe-kanban/mcp-server@latest` | ||
| - Verify API keys are set | ||
| - Check permissions.allow includes the MCP tools | ||
|
|
||
| ### Orchestrator Not Starting | ||
|
|
||
| - Check `apps/server/.env` has required variables | ||
| - Verify Vibe-Kanban project exists or can be auto-created | ||
| - Check server logs: `npm run dev:server` | ||
|
|
||
| ### Workspace Sessions Not Starting | ||
|
|
||
| - Set `ORCHESTRATOR_AUTO_START_WORKSPACE=true` | ||
| - Verify repos are configured in Vibe-Kanban project | ||
| - Check CLAUDE_CODE agent has MCP server configuration | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,13 +7,42 @@ | |
| "Glob(./**)", | ||
| "Grep(./**)", | ||
| "Bash", | ||
| "Read(.claude/**)", | ||
| "Write(.claude/**)", | ||
| "Edit(.claude/**)", | ||
| "mcp__puppeteer__puppeteer_navigate", | ||
| "mcp__puppeteer__puppeteer_screenshot", | ||
| "mcp__puppeteer__puppeteer_click", | ||
| "mcp__puppeteer__puppeteer_fill", | ||
| "mcp__puppeteer__puppeteer_select", | ||
| "mcp__puppeteer__puppeteer_hover", | ||
| "mcp__puppeteer__puppeteer_evaluate" | ||
| "mcp__puppeteer__puppeteer_evaluate", | ||
| "mcp__vibe_kanban__list_projects", | ||
| "mcp__vibe_kanban__list_tasks", | ||
| "mcp__vibe_kanban__create_task", | ||
| "mcp__vibe_kanban__update_task", | ||
| "mcp__vibe_kanban__get_task", | ||
| "mcp__vibe_kanban__delete_task", | ||
| "mcp__vibe_kanban__list_repos", | ||
| "mcp__vibe_kanban__start_workspace_session", | ||
| "mcp__plugin_greptile_greptile__list_pull_requests", | ||
| "mcp__plugin_greptile_greptile__search_greptile_comments", | ||
| "mcp__plugin_greptile_greptile__get_merge_request", | ||
| "mcp__plugin_greptile_greptile__trigger_code_review", | ||
| "mcp__plugin_greptile_greptile__list_code_reviews", | ||
| "mcp__plugin_greptile_greptile__get_code_review", | ||
| "mcp__exa__web_search_exa", | ||
| "mcp__exa__get_code_context_exa", | ||
| "mcp__exa__crawling_exa", | ||
| "mcp__exa__company_research_exa", | ||
| "mcp__exa__linkedin_search_exa", | ||
| "mcp__exa__deep_researcher_start", | ||
| "mcp__exa__deep_researcher_check", | ||
| "mcp__web_reader__webReader", | ||
| "mcp__grep__searchGitHub", | ||
| "mcp__4_5v_mcp__analyze_image", | ||
| "mcp__github__*", | ||
| "mcp__git__*" | ||
|
Comment on lines
+44
to
+45
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The permissions |
||
| ], | ||
| "defaultMode": "acceptEdits" | ||
| }, | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,15 @@ | ||||||
| #!/bin/bash | ||||||
| # Script to update PR #25 with better title and description | ||||||
| # Run this when network connectivity is restored | ||||||
|
|
||||||
| set -e | ||||||
|
|
||||||
| PR_NUMBER=25 | ||||||
| TITLE="feat: Add Vibe Kanban Review Watcher for automated code quality iteration" | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. logic: The title string doesn't match the actual PR title in the body, which mentions 'Enhanced checkpoint system for multi-agent orchestration'
Suggested change
Should this script be updating PR #25 specifically, or is this a template that needs to be updated with the correct PR details? |
||||||
|
|
||||||
| gh pr edit $PR_NUMBER \ | ||||||
| --title "$TITLE" \ | ||||||
| --body-file pr_description.md | ||||||
|
|
||||||
| echo "✅ PR #$PR_NUMBER updated successfully!" | ||||||
| echo "Title: $TITLE" | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This configuration contains a hardcoded absolute local path (
/home/oxtsotsi/Webrnds/DevFlow). This will cause the setup to fail for any other developer or in any other environment. Configuration files, even examples, should use placeholders or relative paths to ensure portability.