AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
코드 옆에 YAML 작업을 두고, 로컬 웹 UI·MCP 서버·코딩 에이전트가 각 git worktree에서 작업을 수행합니다
Tasks as plain YAML next to your code, a local web UI, an MCP server, and coding agents that work your tasks in their own git worktrees.
개발 도구Rust · TypeScriptGitHub @localtaskrepo온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
A git-native issue tracker that lives in your repo: tasks as YAML files, a local web UI, an MCP server, and coding agents that work your tasks in their own git worktrees.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗LoTaR keeps tasks as plain YAML files in .tasks/, versioned and branched with your code. The CLI, the built-in web UI, the REST API, and the MCP server all read and write those same files, so there is no database and no hosted service. Assign a task to an agent profile and LoTaR runs your coding agent CLI on it in an isolated git worktree, streams the log, and hands the task back for review.
| Platform | Install |
|---|---|
| macOS | brew tap localtaskrepo/lotar && brew install lotar |
| Windows | scoop bucket add lotar https://github.com/localtaskrepo/scoop-lotar; scoop install lotar |
| Linux, macOS, Windows | Signed binaries on GitHub Releases |
| Any OS with Docker | docker run --rm -v "$PWD":/workspace -v "$PWD/.tasks":/tasks -w /workspace mallox/lotar list |
LoTaR is not published on crates.io; to build it yourself, see Installation.
Then, inside any repository:
lotar add "Fix the login redirect loop" --type bug --priority high
lotar list
lotar serve --open
The first command creates .tasks/ with sensible defaults. Commit it along with your code.
Configure an agent profile once, then assign a task to it like you would to a teammate. LoTaR queues a job, runs the agent CLI in a dedicated worktree on its own branch, and streams the output to the CLI and the web UI. Claude Code, Codex, Copilot CLI and Gemini CLI are supported, with Cursor, Amp, Droid, OpenCode, Kilo and Antigravity following their documented headless modes. Choose the model and reasoning effort per profile or per run, see each job's token usage and cost, and let the agent update its own task through LoTaR's MCP server. Automation rules in YAML decide what happens on start, success, and failure, and also react to ordinary task changes. See Agent jobs and Automation rules.
# .tasks/automation.yml
automation:
rules:
- name: Agent lifecycle
when: { assignee: "@agent" }
on:
job_started: { set: { status: InProgress } }
job_completed: { set: { status: NeedsReview, assignee: "@reporter" } }
job_failed: { set: { status: Blocked } }
lotar serve starts a local web app on the same files: a filterable task list, a board with WIP limits, sprints with burndown and velocity, a calendar of due dates and sprint windows, a dependency graph, and insights for developers, leads and managers. Changes made in the CLI or by agents show up live. See Serve and Sprints.
Paste or drop screenshots and files onto a task: images get previews, a cover on the board card and a full-size viewer, and photo location data is removed before anything is stored. lotar task reference add upload attaches files from the command line. The command palette (⌘K / Ctrl K) jumps to any page or task and runs task actions, and keyboard shortcuts cover navigation and lists.
Pick from Classic and High contrast or playful skins such as Terminal, Matrix, Synthwave, Blueprint, Paper, Retro and Candy, each in light and dark and most with several colour palettes. Everyone chooses their own theme in Preferences; a repository can set the default, its name, logo and browser icon, and even ship its own skin file. See Serve.
lotar mcp speaks the Model Context Protocol over stdio, so agents in your editor or terminal can list, create, and update tasks, manage sprints, and read config without scraping CLI output. See MCP server and the LoTaR agent skill.
{ "mcpServers": { "lotar": { "command": "lotar", "args": ["mcp"] } } }
lotar list, every search box in the web UI, the REST API and MCP share one search. Every word must match, in any order; quote a phrase, exclude with -word, and small typos are forgiven. Limit a term to one field with title:, desc: or comment:, use /regular expressions/, and order by best match on request. See search text.
lotar list 'login redirect -oauth' # all words, one excluded
lotar list 'title:/^fix/ comment:safari' # field scopes and a regex
lotar list 'redirct loop' --sort-by relevance # typo-tolerant, best match first
lotar scan turns TODO, FIXME, and similar comments into tasks, writes the new task ID back into the comment, and keeps a code reference on the task that follows the line when code moves. Preview first with --dry-run, or pick findings individually on the Scan page. See Scan.
Pull issues from Jira or GitHub into local tasks, or push local changes back, with field and value mappings per remote. Sync runs only when you ask: from the CLI, the Sync page, or MCP. Credentials stay in your home config or environment, never in the repo. See the sync guide.
# .tasks/<PROJECT>/config.yml
remotes:
github:
provider: github
repo: your-org/your-repo
auth_profile: github.default
lotar pull github --dry-run
lotar push github
Because tasks are files in git, every change has an author and a commit. LoTaR reads that history to show per-task commits and diffs, and to report churn, activity, and authors; these commands only read the repository. See History and Stats.
lotar task history ATLS-26 # commits that touched the task
lotar stats churn --since 30d # most-changed tasks
lotar stats authors --since 90d # who changed tasks
Define your own states, types, priorities, tags, and custom fields per project, or start from the default, agile, or kanban template. Every surface validates against the same config. See Configuration and Templates.
lotar init --template=agile --project=mobile
lotar config set custom_fields component,team --project=mobile
lotar add "Offline mode for the editor" --project=mobile --field component=editor
lotar list component=editor
An honest snapshot as of October 2026. Rows marked ◀ are where LoTaR is behind at least one alternative.
| LoTaR | Backlog.md | GitHub Issues | Jira | |
|---|---|---|---|---|
| Tasks live in your repo | ✅ YAML | ✅ Markdown | ❌ hosted | ❌ hosted |
| Works offline | ✅ | ✅ | ❌ | ❌ |
| Web UI | ✅ local | ✅ local | ✅ | ✅ |
| MCP server | ✅ | ✅ | ✅ official server | ✅ official server (Cloud) |
| Runs coding agents on tasks | ✅ local agent CLIs in worktrees | ❌ | ✅ Copilot coding agent (paid) | ✅ Rovo and third-party agents (Cloud, paid) |
| Automation rules | ✅ | ❌ | ⚠️ via Actions and Projects workflows | ✅ |
| Sprints and burndown | ✅ | ⚠️ milestones, no burndown | ⚠️ iterations, no burndown chart | ✅ |
| Sync with other trackers | ⚠️ Jira and GitHub (beta) | ❌ | n/a | n/a |
| TODO comment scanning | ✅ | ❌ | ❌ | ❌ |
| Typo-tolerant search | ✅ all words, phrases, exclusions, typos, field scopes, regex, best-match sort | ✅ fuzzy search | ❌ | ❌ |
| ◀ Docs and decision records | ❌ | ✅ | ⚠️ wiki | ⚠️ via Confluence |
Pick GitHub Issues or Jira when you need a hosted tracker for non-developers, permissions, and integrations. Pick LoTaR when you want tasks reviewed in the same pull request as the code, and agents working those tasks on your own machine.
.tasks/
├── config.yml # workspace defaults: states, types, members, agent profiles
├── automation.yml # optional automation rules
├── @sprints/1.yml # sprint plans and actual start/close times
├── @attachments/ # attached files, stored once per content
└── ATLS/ # one folder per project
├── config.yml # optional project overrides and sync remotes
├── 26.yml # one file per task
└── 27.yml
# .tasks/ATLS/26.yml
title: Offline edits are lost when reconnecting mid-sync
status: Done
priority: Critical
type: Bug
reporter: priya
assignee: marco
due_date: 2026-09-29
effort: 3pt
tags: [sync, customer]
references:
- link: https://github.com/atlas-notes/atlas/pull/412
- code: web/src/sync/queue.ts#20-33
history:
- at: 2026-09-28T15:12:00Z
actor: priya
changes: [{ field: status, old: NeedsReview, new: Done }]
Questions and ideas are welcome in Discussions, and bug reports and pull requests in issues; report security problems privately as described in SECURITY.md. Everyone taking part follows the code of conduct. Development setup, test commands, and conventions are in AGENTS.md and docs/developers/. After UI changes, npm run screenshots regenerates every image in this README using an isolated demo workspace.
Full regeneration needs a Git-capable environment. npm run screenshots -- --no-git refreshes the non-Git UI screenshots while preserving the existing agent, hero, commit-history and terminal media.