AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
실행 중인 앱의 요소를 가리키면 AI 에이전트가 선택자·파일·라인 정보를 포함한 작업을 수행합니다 로컬 우선 오픈소스 한 명령
Point at any element in your running app and your AI agent gets a real task — selector, file and line attached. Local-first, open source, one command.
개발 도구TypeScript · JavaScriptGitHub @zorcec온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기AI-powered task tracker: annotate elements in a running web page, capture screenshots, and export structured prompts for LLM implementation.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Tell your AI agent exactly what to fix — by clicking on it.
Vibeflow eliminates the back-and-forth of describing UI bugs in words. Click any element on a page to create a task with its exact CSS selector, URL, and source location. Your agent gets precise, actionable context — no "the button in the top right" needed.
AI agents write code fast, but understanding what to change is slow. Describing a UI issue in prose wastes tokens and produces wrong fixes.
Vibeflow turns visual feedback into structured tasks:README 전문 보기 ↗Task management for AI coding agents — with annotation and verification built in.
Vibeflow gives your coding agent sequenced, claimable work: tasks with hierarchy, an atomic --next claim, and a review gate with verification verdicts — on a local-first kanban board that stays in your repo. Clicking a UI element to file a ticket with its exact selector, URL, and source location is built in, so visual feedback arrives as structured tasks instead of prose.
npm install -g @vibeflow-tools/cli
vibeflow kanban
AI agents write code fast, but understanding what to change is slow. Describing a UI issue in prose wastes tokens and produces wrong fixes.
Vibeflow turns visual feedback into structured tasks:
Perfect for small UI fixes, broken layouts, spacing issues, and anything where pointing is faster than explaining.
# 1. Embed the overlay into your app (bookmarklet, script tag, or devtools)
# Visit /inject on your running server for ready-to-use snippets
# 2. Open the Kanban board
vibeflow kanban
# 3. Click elements in your app to annotate, or create tasks on the board
# 4. Your agent picks the next task with full context executing following command
vibeflow tasks --next
| Command | Description |
|---|---|
vibeflow kanban [dir] | Start the server and open the live Kanban board in your browser |
vibeflow serve [target] | Serve HTML files with live annotation overlay, or run API-only task server for existing apps |
vibeflow tasks | List, filter, create, edit, and comment on tasks |
vibeflow telemetry | Manage CLI usage telemetry (opt-out at any time) |
vibeflow kanban [dir]vibeflow kanban # open Kanban board for current directory
vibeflow kanban ./my-project # open Kanban for a specific project
The Kanban board provides a visual task tracker with drag-and-drop columns, agent status display, and file attachments. Create tasks directly on the board or import them from annotated prototypes.
vibeflow serve [target]vibeflow serve . # serve all HTML files in current directory
vibeflow serve dashboard.html # serve a single file
vibeflow serve -p 4000 . # custom port
vibeflow serve --no-open . # don't open browser automatically
vibeflow serve # API-only mode — connects to an existing hosted app
Serve HTML prototypes with the annotation overlay — click any element to create a task with its CSS selector, URL, and source location.
vibeflow tasksFull task management from the command line — designed to be agent-friendly.
# Pick the next task (auto-claims a ROOT task in todo)
vibeflow tasks --next # highest-priority ROOT task in todo
vibeflow tasks --next --type Bug # next bug ROOT task only
# List tasks
vibeflow tasks # ROOT tasks only (default: 20 most recent)
vibeflow tasks --children # include child tasks
vibeflow tasks --all # show all tasks (explicit paging, bounded per request)
# NOTE (ticket b2e56212): --limit 0 is NOT an unbounded mode — it resolves
# to the default (20) loudly. Use --all for everything.
vibeflow tasks --json # machine-readable JSON output
# Filter
vibeflow tasks --status todo # by status
vibeflow tasks --type Bug # by type (Task, Bug, Feature, Enhancement, Research)
vibeflow tasks --user [email protected] # by author email
vibeflow tasks --tag frontend --tag urgent # by tags (AND matching)
# Get full details of a single task
vibeflow tasks --get <id> # supports partial ID prefix
# Create a task
vibeflow tasks --add --title "Fix header" --description "Button overflows on mobile"
# Edit a task
vibeflow tasks --edit <id> --set-status in-progress
vibeflow tasks --edit <id> --title "Updated title" --description "More detail"
# Mark as review (requires implementation report)
vibeflow tasks --edit <id> --set-status review \
--commit-message "fix: header layout" \
--comment "Fixed the alignment issue by adjusting flex-wrap"
Task types: Task · Bug · Feature · Enhancement · Research
Task statuses: backlog → todo → in-progress → review → done
Priorities: Critical · High · Medium · Low
A task with a parent link is a child; a task without one is a root. The CLI hands an agent
whole units of work, so both listing and claiming operate on roots:
vibeflow tasks lists root tasks only. A child belongs to its parent and is rendered inside
that parent's card on the board, so listing it as a peer would contradict the board. The footer
reports how many children the query matched — · 3 child tasks hidden (use --children) — so they
are never hidden silently. Pass --children to include them.vibeflow tasks --next claims only a root whose own status is todo, and never a child. The
result carries that root's children with their ids, titles and statuses, so the agent sees what
remains without a second call. Claiming a root does not cascade to its children — the agent
walks them.vibeflow tasks --get <id> is deliberately unfiltered: it resolves any task, child or root,
so a child is always reachable by id.# A root with children, claimed as one unit of work
vibeflow tasks --next
# ▶ NEXT TASK — Status moved to in-progress. Implement this now:
# [in-progress] Rebuild the settings page
# ↓ 2 child tasks (1 done)
# [done] a1b2c3d4 Remove the legacy toggle
# [todo] e5f6a7b8 Add the keyboard shortcut
Because --next only considers roots whose own status is todo, a child in todo whose parent is
in backlog, in-progress or done is not returned by --next. Move the root to todo to make the
whole unit claimable.
vibeflow telemetryvibeflow telemetry # show current status
vibeflow telemetry --disable # opt out of usage tracking
vibeflow telemetry --enable # opt back in
No PII is ever collected. User identity is hashed.
What is collected. One command_run event per invocation with a small,
coarse property set:
command — the top-level command (tasks, serve, kanban, …)subcommand — the mode within a command that has one: tasks emits
list / get / add / edit / next / reindex, serve emits api
(API-only task server) or prototype (an HTML target was given)from_status / to_status — on tasks --edit only: the task's status
before and after the edit, drawn from
backlog | todo | in-progress | review | done, so status transitions are
queryable as a funnelNever collected: task ids, titles, descriptions, file paths, selectors, URLs, or any other task content.
The overlay is a Shadow DOM panel injected into any page — HTML prototypes or live apps:
Alt+A to toggle annotation modescript-src restrictionsThe overlay can be injected into any page three ways:
| Method | Best for | CSP-safe |
|---|---|---|
| Bookmarklet (recommended) | Any page, including production apps | Yes |
| Script tag | Pages you control the HTML of | No |
| DevTools console | Quick one-off sessions | Yes |
Visit /inject on your running server for ready-to-use bookmarklets and snippets.
You browse your app → click to annotate → task created with context
↑ ↓
browser reloads ← agent implements ← vibeflow tasks --next
vibeflow tasks --next claims the highest-priority root task in todo, and returns it with its children — the whole unit of work, with full context for your agentVibeflow tasks are formatted for AI agents with full context:
[proto:task-id] in commit messagesAgents can also run directly from the Kanban board via POST /api/agent/run, which spawns opencode with full task context.
Vibeflow gives an AI coding agent a Kanban board over your own repository: click any element in your app and it becomes a ticket carrying that element's CSS selector, URL, source file and line. Tasks, progress and verification then live in one place instead of being scattered across a chat transcript.
The server runs locally over stdio, one process per project — there is no hosted Vibeflow service to sign up for. It is published as an MCP server in the official MCP Registry (server.json in this repo).
npm install -g @vibeflow-tools/cli
vibeflow mcp --project /path/to/project
--project is required. The project root is resolved once at startup and every tool call uses that root, so a server can never write into the wrong project. Point it at your own repository.
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"vibeflow": {
"command": "npx",
"args": ["-y", "@vibeflow-tools/cli", "mcp", "--project", "/path/to/project"]
}
}
}
Cursor — the same block goes in .cursor/mcp.json in your project:
{
"mcpServers": {
"vibeflow": {
"command": "npx",
"args": ["-y", "@vibeflow-tools/cli", "mcp", "--project", "/path/to/project"]
}
}
}
| Tool | What it does |
|---|---|
list_tasks | List tasks with optional filters (root tasks only unless children) |
get_task | One task by ID, with comments and files |
get_project | The resolved project this server is attached to — root, branch, mode |
create_task | Create a task, optionally annotated with a URL and selector |
update_task | Edit a task: status, title, links, and the verification verdict |
claim_next_task | Claim the highest-priority root task in todo as in-progress |
add_comment | Comment on a task |
attach_file | Attach a file (base64); a .md satisfies the research-report gate |
verify_task | Run visual verification for an annotated task |
start_kanban | Start the local Kanban board server and return its URLs |
get_integration_guide | The overlay/bookmarklet integration instructions |
The published package exposes every tool listed above. server.json records that count as toolsAtPinnedVersion, and sync-server-manifest.mjs checks it against packages/cli/src/mcp/manifest.ts on every release — a mismatch warns loudly rather than shipping a number nobody verified.
None required. Vibeflow is local-first: no login, no account, no API key. Every task is a file in your repo.
An HTTP transport also exists (vibeflow serve, MCP endpoint at /api/mcp), but it is a local loopback server rather than a public one.
For the full protocol reference — result envelope shape, refusal codes, notices, and the dryRun preview — see the CLI package README.
A REST API and tRPC router are available at http://localhost:3700 for integrations and the browser overlay. Key endpoints:
/kanban — live Kanban boardGET/POST /api/tasks — list and create tasksGET/PATCH/DELETE /api/tasks/:id — manage individual tasksGET/POST /api/tasks/:id/comments — task commentsGET/POST/DELETE /api/tasks/:id/files — file attachmentsPOST /api/agent/run — spawn an AI agent for a task/inject — overlay injection helper pageSee src/server/server.ts for the full API.
npm install -g @vibeflow-tools/cli
Or run without installing:
npx @vibeflow-tools/cli kanban
Requirements: Node.js >= 22
pnpm install # install dependencies
pnpm build:cli # build CLI
pnpm test # unit tests
pnpm test:e2e # end-to-end tests
Apache-2.0 — see NOTICE for third-party attributions.