Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
248 changes: 248 additions & 0 deletions .claude/SETTINGS_GUIDE.md
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"],

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

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.

Suggested change
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/oxtsotsi/Webrnds/DevFlow"],
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/DevFlow/repo"],

"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
4 changes: 4 additions & 0 deletions .claude/commands/update-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ npm install
```

**Read ALL output carefully.** Look for:

- Deprecation warnings (e.g., "package X is deprecated")
- Security vulnerabilities
- Peer dependency warnings
Expand All @@ -57,6 +58,7 @@ For each warning/deprecation found:
- Update peer dependency versions

3. **Re-run installation**

```bash
npm install
```
Expand Down Expand Up @@ -100,6 +102,7 @@ npm run lint:lockfile
```

If this fails, run:

```bash
npm run fix:lockfile
```
Expand Down Expand Up @@ -140,6 +143,7 @@ npm run build:electron:dir
## Summary

After completing all steps:

- ✅ All dependencies updated
- ⚠️ ZERO deprecation warnings
- 🛡️ All security vulnerabilities addressed
Expand Down
31 changes: 30 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The permissions mcp__github__* and mcp__git__* are extremely broad, granting the agent access to all available github and git MCP tools. While this might be necessary for some autonomous tasks, it poses a significant security risk. It's recommended to specify the exact tools needed instead of using wildcards to follow the principle of least privilege. If all tools are indeed required, it would be beneficial to add a comment explaining the necessity for such broad permissions.

],
"defaultMode": "acceptEdits"
},
Expand Down
15 changes: 15 additions & 0 deletions .github/update-pr-25.sh
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"
Copy link

Choose a reason for hiding this comment

The 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
TITLE="feat: Add Vibe Kanban Review Watcher for automated code quality iteration"
TITLE="feat(hybrid): Enhanced checkpoint system for multi-agent orchestration"

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"
4 changes: 3 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# DevFlow (Automaker)
# DevFlow

An autonomous AI development studio where you describe features on a Kanban board and AI agents powered by Claude Code automatically implement them. Build entire applications in days by orchestrating AI agents as a team of developers.

**Note:** DevFlow is a fork of [Automaker](https://github.com/AutoMaker-Org/automaker) with additional features and enhancements.

**Target Users:** Software developers and teams adopting agentic coding workflows with AI agents while maintaining control over architecture and business logic.

## Project Structure
Expand Down
Loading