Skip to content

Commit 78cb3d7

Browse files
Merge pull request #26 from AndreJorgeLopes/heuristic-darwin-866b47
chore: complete agent-deck removal across lib/
2 parents fcb2b7b + 89c5a55 commit 78cb3d7

6 files changed

Lines changed: 44 additions & 160 deletions

File tree

CLAUDE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Devflow Project Instructions
22

3-
Devflow is a 6-layer AI dev environment orchestrator (bash CLI, zero build deps).
4-
It composes Hindsight, Agent Deck, Worktrunk, Code Review, Skills/CLAUDE.md, and Langfuse
3+
Devflow is a 5-layer AI dev environment orchestrator (bash CLI, zero build deps).
4+
It composes Hindsight, Worktrunk, Code Review, Skills/CLAUDE.md, and Langfuse
55
into a unified workflow for AI coding agents (Claude Code, OpenCode).
66

77
## Project Structure
@@ -10,7 +10,7 @@ into a unified workflow for AI coding agents (Claude Code, OpenCode).
1010
bin/devflow # CLI entry point — sources all lib/*.sh, routes subcommands
1111
lib/ # Core command implementations (bash)
1212
utils.sh # Shared utilities: logging, VCS detection, merge detection
13-
init.sh # devflow init — full 6-layer setup (idempotent)
13+
init.sh # devflow init — full 5-layer setup (idempotent)
1414
services.sh # devflow up/down/status — Docker service orchestration
1515
check.sh # devflow check — multi-CLI code review abstraction
1616
skills.sh # devflow skills — list/install/remove/convert
@@ -119,7 +119,7 @@ Git only allows one worktree per branch. To support multiple concurrent worktree
119119
- `devflow worktree` auto-detaches any worktree that has main locked before creating a new one.
120120
- Feature worktrees always create NEW branches from main (`git worktree add <path> -b <branch> main`).
121121
- When done, remove worktrees with `devflow done <branch>` — don't leave them lingering on main.
122-
- This matches the pattern used by OpenCode/Superpowers, Agent-deck, and Claude Code's worktree isolation.
122+
- This matches the pattern used by OpenCode/Superpowers and Claude Code's worktree isolation.
123123

124124
## Skill Interaction Rules
125125

@@ -129,7 +129,7 @@ When any skill or command needs to present choices, confirmations, or selections
129129
you **MUST** use the `AskUserQuestion` tool instead of printing a text question and waiting
130130
for input. This applies to:
131131

132-
- Yes/No confirmations (e.g., "Want me to launch via agent-deck?")
132+
- Yes/No confirmations (e.g., "Continue with these changes?")
133133
- Multiple choice selections (e.g., "Which group?", "Which template?")
134134
- Approval gates (e.g., "Proceed with these changes?")
135135

README.md

Lines changed: 21 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# devflow
44

5-
**The 6-layer AI dev environment that gives your coding agents persistent memory, isolated worktrees, automated code review, and full observability — from a single `devflow init`.**
5+
**The 5-layer AI dev environment that gives your coding agents persistent memory, isolated worktrees, automated code review, and full observability — from a single `devflow init`.**
66

77
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
88
[![Bash](https://img.shields.io/badge/Language-Bash-4EAA25.svg)](bin/devflow)
@@ -25,7 +25,7 @@ devflow composes 6 independent tools into one CLI that runs alongside your AI ag
2525
## What Makes It Different
2626

2727
- **Memory that persists across sessions** — Hindsight's 3-tier memory (mental models, observations, facts) means your agent recalls past decisions, patterns, and mistakes without you repeating them. 29 MCP tools for recall, retain, and reflect.
28-
- **One command, six layers**`devflow init` installs tools, configures MCP servers, registers hooks, sets up skills, and seeds memory. No manual wiring. Idempotent — safe to re-run.
28+
- **One command, five layers**`devflow init` installs tools, configures MCP servers, registers hooks, sets up skills, and seeds memory. No manual wiring. Idempotent — safe to re-run.
2929
- **Zero build dependencies** — Pure Bash CLI. No Node, Python, or Go build step. Works with what's already on your macOS dev machine.
3030
- **Agent-agnostic** — Works with Claude Code, OpenCode, or any tool that reads CLAUDE.md and speaks MCP. Skills and hooks adapt to your CLI.
3131
- **Local-first, privacy-first** — Memory, code review, and observability all run on your machine. Langfuse is self-hosted. No data leaves your laptop.
@@ -34,16 +34,15 @@ devflow composes 6 independent tools into one CLI that runs alongside your AI ag
3434

3535
## Architecture
3636

37-
devflow orchestrates 6 independent layers. Each tool works standalone; devflow wires them together.
37+
devflow orchestrates 5 independent layers. Each tool works standalone; devflow wires them together.
3838

3939
| Layer | Tool | What It Does | Runtime |
4040
|:-----:|------|-------------|---------|
4141
| 1 | [**Hindsight**](https://github.com/vectorize-io/hindsight) | 3-tier persistent memory via MCP (mental models, observations, facts) | Local daemon (`uvx`) |
42-
| 2 | [**Agent Deck**](https://github.com/asheshgoplani/agent-deck) | TUI session wrapper with Conductor auto-monitoring, web dashboard | Homebrew |
43-
| 3 | [**Worktrunk**](https://github.com/max-sixty/worktrunk) | Git worktree lifecycle — `wt step copy-ignored` eliminates cold starts | Homebrew |
44-
| 4 | **Code Review** | Local pre-push AI review via individual markdown check rules | `claude` / `opencode` |
45-
| 5 | **CLAUDE.md + Skills** | Process discipline baked into agent config. 18 slash commands | Files |
46-
| 6 | [**Langfuse**](https://github.com/langfuse/langfuse) | Multi-agent tracing, MCP call spans, cost tracking. Self-hosted | Docker |
42+
| 2 | [**Worktrunk**](https://github.com/max-sixty/worktrunk) | Git worktree lifecycle — `wt step copy-ignored` eliminates cold starts | Homebrew |
43+
| 3 | **Code Review** | Local pre-push AI review via individual markdown check rules | `claude` / `opencode` |
44+
| 4 | **CLAUDE.md + Skills** | Process discipline baked into agent config. 18 slash commands | Files |
45+
| 5 | [**Langfuse**](https://github.com/langfuse/langfuse) | Multi-agent tracing, MCP call spans, cost tracking. Self-hosted | Docker |
4746

4847
```mermaid
4948
graph TD
@@ -53,58 +52,45 @@ graph TD
5352
HS["Hindsight<br/>:8888 API · :9999 UI"]
5453
end
5554
56-
subgraph L2 ["Layer 2 — Sessions"]
57-
AD["Agent Deck"]
58-
COND["Conductor<br/>auto-monitor"]
59-
WEB["Web UI<br/>:8420"]
60-
end
61-
62-
subgraph L3 ["Layer 3 — Isolation"]
55+
subgraph L2 ["Layer 2 — Isolation"]
6356
WT["Worktrunk<br/>git worktrees"]
6457
end
6558
66-
subgraph L4 ["Layer 4 — Code Review"]
59+
subgraph L3 ["Layer 3 — Code Review"]
6760
CR["devflow check<br/>.devflow/checks/*.md"]
6861
RV["devflow review<br/>local or PR/MR URL"]
6962
end
7063
71-
subgraph L5 ["Layer 5 — Process"]
64+
subgraph L4 ["Layer 4 — Process"]
7265
SK["18 Skills<br/>slash commands"]
7366
HK["3 Hooks<br/>auto-guards"]
7467
end
7568
76-
subgraph L6 ["Layer 6 — Observability"]
69+
subgraph L5 ["Layer 5 — Observability"]
7770
LF["Langfuse<br/>:3100 UI"]
7871
end
7972
8073
CLI --> HS
81-
CLI --> AD
8274
CLI --> WT
8375
CLI --> CR
8476
CLI --> RV
8577
CLI --> SK
8678
CLI --> LF
87-
AD --> COND
88-
AD --> WEB
8979
HK -->|"guards"| SK
9080
9181
classDef mem fill:#7c3aed,color:#fff,stroke:#5b21b6
92-
classDef sess fill:#3b82f6,color:#fff,stroke:#1e40af
9382
classDef iso fill:#059669,color:#fff,stroke:#047857
9483
classDef rev fill:#d97706,color:#fff,stroke:#b45309
9584
classDef proc fill:#be185d,color:#fff,stroke:#9d174d
9685
classDef obs fill:#0891b2,color:#fff,stroke:#0e7490
9786
classDef cli fill:#374151,color:#fff,stroke:#1f2937
98-
classDef cond fill:#f59e0b,color:#fff,stroke:#d97706
9987
10088
class HS mem
101-
class AD,WEB sess
10289
class WT iso
10390
class CR,RV rev
10491
class SK,HK proc
10592
class LF obs
10693
class CLI cli
107-
class COND cond
10894
```
10995

11096
### Development Workflow
@@ -166,7 +152,7 @@ devflow up
166152
# 3. Seed memory from project files
167153
devflow seed
168154

169-
# 4. Verify all 6 layers are healthy
155+
# 4. Verify all 5 layers are healthy
170156
devflow status
171157

172158
# 5. Start a feature in an isolated worktree
@@ -185,7 +171,7 @@ USAGE
185171
devflow <command> [options]
186172
187173
CORE
188-
init [dir] Initialize project with all 6 layers
174+
init [dir] Initialize project with all 5 layers
189175
status Health check across all layers
190176
version Print version
191177
@@ -211,10 +197,6 @@ SKILLS
211197
skills install <name> Copy skill to .claude/commands/
212198
skills remove <name> Remove skill from project
213199
skills convert Convert skills to plugin format
214-
215-
SESSIONS
216-
web [args] Open Agent Deck web dashboard
217-
conductor [args] Manage Conductor (auto-monitor)
218200
```
219201

220202
---
@@ -255,7 +237,7 @@ devflow skills install new-feature # Copy to .claude/commands/
255237

256238
## What `devflow init` Does
257239

258-
A single command that sets up all 6 layers (idempotent — safe to re-run):
240+
A single command that sets up all 5 layers (idempotent — safe to re-run):
259241

260242
```mermaid
261243
graph TD
@@ -266,7 +248,7 @@ graph TD
266248
end
267249
268250
subgraph Step2 ["2. Install Tools"]
269-
TOOLS["Agent Deck + Worktrunk + uv + Hindsight"]
251+
TOOLS["Worktrunk + uv + Hindsight"]
270252
end
271253
272254
subgraph Step3 ["3. User Config"]
@@ -278,7 +260,7 @@ graph TD
278260
end
279261
280262
subgraph Step5 ["5. Plugins & Marketplace"]
281-
PLUGINS["Agent Deck + Worktrunk plugins<br/>devflow marketplace (auto-update)"]
263+
PLUGINS["Worktrunk plugin<br/>devflow marketplace (auto-update)"]
282264
end
283265
284266
subgraph Step6 ["6. Commands & Skills"]
@@ -459,7 +441,7 @@ devflow/
459441
├── bin/devflow # CLI entry point (routes subcommands)
460442
├── lib/ # Core implementations (2,740 lines of Bash)
461443
│ ├── utils.sh # Logging, VCS detection, Docker helpers
462-
│ ├── init.sh # 9-step 6-layer initialization
444+
│ ├── init.sh # 5-layer initialization
463445
│ ├── services.sh # Docker service orchestration
464446
│ ├── check.sh # Multi-CLI code review
465447
│ ├── skills.sh # Skill list/install/remove/convert
@@ -476,17 +458,16 @@ devflow/
476458
├── skills/ # Categorized skill marketplace (15 skills)
477459
│ ├── registry.json # Authoritative skill registry
478460
│ ├── memory-recall/ # Layer 1 skills
479-
│ ├── worktree-flow/ # Layer 3 skills
480-
│ ├── code-review/ # Layer 4 skills
481-
│ ├── process-discipline/ # Layer 5 skills
482-
│ └── observability/ # Layer 6 skills
461+
│ ├── worktree-flow/ # Layer 2 skills
462+
│ ├── code-review/ # Layer 3 skills
463+
│ ├── process-discipline/ # Layer 4 skills
464+
│ └── observability/ # Layer 5 skills
483465
├── templates/ # Init templates (CLAUDE.md, checks, configs)
484466
├── docker/ # Docker Compose (Langfuse + Postgres)
485467
├── visualizations/ # Architecture diagrams (Mermaid)
486468
├── tests/ # Bats test framework
487469
├── docs/plans/ # 12 design documents
488470
├── tasks/ # Backlog (P0-P4 priority folders)
489-
├── config/ # Agent Deck config templates
490471
├── Formula/devflow.rb # Homebrew formula
491472
├── install.sh # Curl-pipe installer
492473
├── Makefile # install, link, test, plugin-dev, release

bin/devflow

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,16 @@ ${BOLD}COMMANDS${RESET}
6060
${CYAN}version-bump${RESET} <version> Bump version in all files
6161
${CYAN}release${RESET} Preview next release (dry-run)
6262
${CYAN}visualizations${RESET} [action] Manage visualizations (config, list, open, update)
63-
${CYAN}web${RESET} [args] Open agent-deck web UI
64-
${CYAN}conductor${RESET} [args] Run agent-deck conductor
6563
${CYAN}root${RESET} Print devflow installation path
6664
${CYAN}version${RESET} Print version
6765
${CYAN}help${RESET} Show this help
6866
6967
${BOLD}LAYERS${RESET}
7068
1. Hindsight — Memory MCP (Docker)
71-
2. Agent Deck — Session wrapper (brew)
72-
3. Worktrunk — Git worktrees (brew)
73-
4. Code Review — AI-powered (claude/opencode)
74-
5. CLAUDE.md — Process discipline (skills)
75-
6. Langfuse — Observability (Docker)
69+
2. Worktrunk — Git worktrees (brew)
70+
3. Code Review — AI-powered (claude/opencode)
71+
4. CLAUDE.md — Process discipline (skills)
72+
5. Langfuse — Observability (Docker)
7673
7774
${BOLD}EXAMPLES${RESET}
7875
devflow init ~/projects/myapp
@@ -287,8 +284,6 @@ main() {
287284
version-bump) devflow_version_bump "$@" ;;
288285
release) devflow_release_preview "$@" ;;
289286
visualizations|viz) devflow_visualizations "$@" ;;
290-
web) need_cmd agent-deck; agent-deck web "$@" ;;
291-
conductor) need_cmd agent-deck; agent-deck conductor "$@" ;;
292287
root) devflow_root "$@" ;;
293288
version) echo "devflow v${DEVFLOW_VERSION}" ;;
294289
help|-h|--help) usage ;;

lib/done.sh

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ devflow_done() {
1010
cat <<EOF
1111
${BOLD}Usage:${RESET} devflow done <branch-name> [options]
1212
13-
Clean up a completed work session: remove worktree, delete local branch,
14-
close agent-deck session.
13+
Clean up a completed work session: remove worktree and delete local branch.
1514
1615
${BOLD}Arguments:${RESET}
1716
<branch-name> The branch to clean up (e.g., feat/smart-hooks)
@@ -40,23 +39,7 @@ EOF
4039

4140
section "Cleaning up: ${branch}"
4241

43-
# Step 1: Close agent-deck session (if exists)
44-
if has_cmd agent-deck; then
45-
local session_match
46-
session_match="$(agent-deck list 2>/dev/null | grep -i "${branch}" | head -1 || true)"
47-
if [[ -n "$session_match" ]]; then
48-
local session_id
49-
session_id="$(echo "$session_match" | awk '{print $1}')"
50-
info "Closing agent-deck session: ${session_id}"
51-
agent-deck stop "$session_id" 2>/dev/null || true
52-
agent-deck remove "$session_id" 2>/dev/null || true
53-
ok "Agent-deck session closed"
54-
else
55-
skip "No active agent-deck session for ${branch}"
56-
fi
57-
fi
58-
59-
# Step 2: Remove worktree
42+
# Step 1: Remove worktree
6043
local worktree_path
6144
worktree_path="$(git worktree list --porcelain 2>/dev/null | grep -B2 "branch refs/heads/${branch}" | grep "^worktree " | sed 's/^worktree //' || true)"
6245

@@ -78,7 +61,7 @@ EOF
7861
# Prune stale worktree references
7962
git worktree prune 2>/dev/null || true
8063

81-
# Step 3: Delete local branch
64+
# Step 2: Delete local branch
8265
if git rev-parse --verify "$branch" >/dev/null 2>&1; then
8366
info "Deleting local branch: ${branch}"
8467
if [[ "$force" == "true" ]]; then

0 commit comments

Comments
 (0)