Skip to main content

api-operations

Use the Auto-Tundra HTTP API directly (via curl) for operations not exposed in the CLI, such as task updates, terminal management, GitLab/Linear queries, and Kanban board manipulation.

설치로 이동

소스 정보

저장소
ryanmaclean/tundra
최근 소스 활동
2026년 2월 22일 04:08
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
api-operations
description
Use the Auto-Tundra HTTP API directly (via curl) for operations not exposed in the CLI, such as task updates, terminal management, GitLab/Linear queries, and Kanban board manipulation.
allowed_tools
["Bash","Read"]
references
["/Users/studio/rust-harness/crates/at-bridge/src/http_api.rs","/Users/studio/rust-harness/docs/PROJECT_HANDBOOK.md"]
# API Operations ## Trigger Use this skill when you need to interact with the Auto-Tundra daemon API directly — either because the CLI doesn't expose the operation, or you need fine-grained control. ## Base URL Default: `http://localhost:9090` ## When to Use API vs CLI | Use CLI (`at`) when | Use API (`curl`) when | |---------------------|----------------------| | Creating/completing beads | Updating task fields (PATCH/PUT) | | Running skill-aware tasks | Managing terminals | | Doctor/status checks | Querying GitLab/Linear issues | | Dry-run previews | Kanban column operations | | | WebSocket subscriptions | ## Core Endpoints ### Status & Health ```bash curl -s http://localhost:9090/api/status | jq . curl -s http://localhost:9090/api/kpi | jq . curl -s http://localhost:9090/api/metrics/json | jq . ``` ### Beads (Tasks) ```bash # List all beads curl -s http://localhost:9090/api/beads | jq . # Create a bead curl -s -X POST http://localhost:9090/api/beads \ -H 'Content-Type: application/json' \ -d '{"title":"Fix bug","lane":"Standard"}' | jq . # Update bead status curl -s -X POST http://localhost:9090/api/beads/<UUID>/status \ -H 'Content-Type: application/json' \ -d '{"status":"Hooked"}' | jq . ``` ### Tasks (Detailed Work Items) ```bash # List tasks curl -s http://localhost:9090/api/tasks | jq . # Create task curl -s -X POST http://localhost:9090/api/tasks \ -H 'Content-Type: application/json' \ -d '{ "title": "Review auth flow", "bead_id": "<BEAD_UUID>", "category": "QA", "priority": "High", "complexity": "Medium" }' | jq . # Update task curl -s -X PUT http://localhost:9090/api/tasks/<UUID> \ -H 'Content-Type: application/json' \ -d '{"priority":"Critical","description":"Updated scope"}' | jq . # Execute task pipeline curl -s -X POST http://localhost:9090/api/tasks/<UUID>/execute \ -H 'Content-Type: application/json' \ -d '{}' | jq . ``` ### Integrations ```bash # GitLab issues (requires GITLAB_TOKEN env) curl -s "http://localhost:9090/api/gitlab/issues?project_id=12345" | jq . # GitLab MR review curl -s -X POST http://localhost:9090/api/gitlab/merge-requests/42/review \ -H 'Content-Type: application/json' | jq . # Linear issues (requires LINEAR_API_KEY env) curl -s "http://localhost:9090/api/linear/issues?team_id=TEAM123" | jq . ``` ### Terminals ```bash # List terminals curl -s http://localhost:9090/api/terminals | jq . # Create terminal curl -s -X POST http://localhost:9090/api/terminals \ -H 'Content-Type: application/json' \ -d '{"name":"agent-workspace"}' | jq . ``` ### Kanban ```bash # Get columns curl -s http://localhost:9090/api/kanban/columns | jq . # Save task ordering curl -s -X POST http://localhost:9090/api/kanban/ordering \ -H 'Content-Type: application/json' \ -d '{"column_id":"in_progress","task_ids":["<UUID1>","<UUID2>"]}' | jq . ``` ## Rules 1. Always pipe through `jq .` for readable output; use `jq -r .field` for extracting values. 2. Always check HTTP status codes: 2xx = success, 4xx = client error, 5xx = server error. 3. Missing credentials return `503` with `{"error":"...","env_var":"GITLAB_TOKEN"}` — check env vars. 4. When creating resources, capture the returned UUID for subsequent operations. 5. Prefer the CLI for bead lifecycle (sling/hook/done/nudge) — it handles error formatting better.
GitHub에서 보기