Website: opentiger.dev | Docs: opentiger.dev/docs
openTiger continuously runs:
- requirement/issue ingestion
- task planning and dispatch
- implementation/testing/documentation updates
- review/judgement
- recovery/retry/rework
all under explicit runtime state transitions.
- Requirement -> executable task generation
- Role-based execution (
worker/tester/docser) - PR, local-worktree, and direct-mode judgement (
judge) - Recovery-first operation (
quota_wait,awaiting_judge,needs_rework) - Backlog-first startup (Issue/PR backlog is processed before new planning)
- Conversational chat interface for requirement input and execution control
- Dashboard + API for process control, logs, and system config
- Runtime switch between host process and docker sandbox execution
- Plugin-first feature expansion
- TigerResearch plugin (
planner-firstclaim/evidence convergence) as the reference implementation - Plugin activation via
ENABLED_PLUGINS(CSV) - Plugin inventory endpoint:
GET /plugins - TigerResearch routes are exposed only under
/plugins/tiger-research/* - See docs/plugins.md for plugin architecture and implementation guide
- API (
@openTiger/api): system/config/control endpoints and dashboard backend - Planner: generates tasks from requirements/issues
- Dispatcher: leases and dispatches queued tasks
- Worker/Tester/Docser: executes task changes and verification
- Judge: evaluates successful runs and drives merge/rework decisions
- Cycle Manager: convergence loop, cleanup, retry, and replan trigger
- PostgreSQL + Redis: persistent state + queueing
See docs/architecture.md for component-level details. See docs/research.md for TigerResearch design and operation. See docs/plugins.md for plugin extension architecture.
- Node.js
>=22.12 - pnpm
9.x - Docker (for local DB/Redis and sandbox execution mode)
ghcommand (or GitHub token with appropriate permissions)- ClaudeCode, Codex, etc., or API keys for each provider when using OpenCode
curl -fsSL https://opentiger.dev/install.sh | bashgit clone git@github.com:Andyyyy64/openTiger.git
cd openTiger
pnpm run setuppnpm run uppnpm run up performs:
- monorepo build
postgres/redisstartup via docker compose- DB schema push
- runtime hatch disarm
- DB config export to
.env - API + Dashboard dev startup
-
Authenticate GitHub CLI (default auth mode):
gh auth login
-
If using Claude Code executor, authenticate on the host:
claude /login
-
If using Codex executor, authenticate on the host (or set
OPENAI_API_KEY/CODEX_API_KEY):codex login
-
Open the Dashboard:
- Dashboard:
http://localhost:5190 - API:
http://localhost:4301
- Dashboard:
-
Enter requirement in the Chat page and run
- Describe what you want to build; the LLM generates a plan autonomously
- Select execution mode (Direct / Local Git / GitHub) to start
- default canonical requirement path: docs/requirement.md
-
Monitor progress:
tasksrunsjudgementslogs
-
(Optional) Run TigerResearch from the
pluginspage:- submit query -> planner decomposition -> parallel collect/challenge/write -> report
- details: docs/research.md
-
If state becomes stalled:
- Start with initial diagnosis in docs/state-model.md
- Check detailed runbook in docs/operations.md
- If issues found via API:
- docs/api-reference.md "2.2 API-based lookup (state vocabulary -> transition -> owner -> implementation)"
- To trace transitions from state vocabulary:
- To trace to owning agent and implementation files:
- docs/agent/README.md "Shortest route for implementation tracing"
- Planner is started only when backlog gates are clear.
- Existing local/Issue/PR backlog is always prioritized.
- Runtime hatch disarm keeps process self-heal from auto-starting workers/judge only because backlog exists.
- Runtime convergence order:
local backlog > 0: continue executionlocal backlog == 0: sync Issue backlog via preflightIssue backlog == 0: evaluate planner replan
Details: docs/startup-patterns.md, docs/flow.md
Online: opentiger.dev | Docs
First check the index by use case:
- docs/README.md
- includes reader lanes (first-time/operations/implementation tracing)
Recommended order for onboarding:
- docs/getting-started.md
- docs/architecture.md
- docs/config.md
- docs/api-reference.md
- docs/operations.md
- docs/api-reference.md "2.2 API-based lookup (state vocabulary -> transition -> owner -> implementation)"
Runtime behavior reference:
- docs/state-model.md
- docs/flow.md
- docs/startup-patterns.md
- docs/mode.md
- docs/execution-mode.md
- docs/policy-recovery.md
- docs/verification.md
- docs/research.md
- docs/plugins.md
Agent specification reference:
- docs/agent/README.md (role comparison)
- docs/agent/planner.md
- docs/agent/dispatcher.md
- docs/agent/worker.md
- docs/agent/tester.md
- docs/agent/judge.md
- docs/agent/docser.md
- docs/agent/cycle-manager.md
Design principles:
- API authentication middleware supports:
X-API-Key(API_KEYS)Authorization: Bearer <token>(API_SECRETor custom validator)
/healthand GitHub webhook endpoint (/webhook/github,/api/webhook/githubwhen using API prefix) are auth-skipped.- System-control (
/system/*,POST /logs/clear) access is checked bycanControlSystem():api-key/bearer: always allowed- local insecure fallback: allowed unless
OPENTIGER_ALLOW_INSECURE_SYSTEM_CONTROL=false
openTiger is optimized for long-running autonomous repository workflows with explicit recovery paths.
It does not guarantee one-shot success under all external conditions, but it is designed to avoid silent stalls and continuously converge by switching recovery strategy.
