Tura Repository
Tura is a Rust and TypeScript agent-runtime harness that executes model-planned command graphs while reducing repeated model round trips. Use this file to load only the repository documentation relevant to the current task.
Start Here
- Read README.md for the product overview and primary workflows; use README.zh-CN.md for the Chinese version.
- Read docs/README.md for the documentation entry point and docs/SUMMARY.md for the canonical user-documentation table of contents.
- Read ARCHITECTURE.md before changes that cross crates, processes, apps, command routing, prompts, or persistence boundaries.
- Consult ROADMAP.md, docs/KNOWN_ISSUES.md, and CHANGELOG.md when evaluating intended scope, known gaps, or released behavior.
Route by Task
Installation, configuration, and usage
- Overview
- Install and uninstall
- Release packages
- Providers
- How to start
- CLI parameters
- Settings
- Sessions
- Documentation navigation
- GUI settings
- TUI settings
Runtime concepts and user-facing behavior
- Task status
- Context management
- Runtime prompt
- Command run
- Commands
- Agents
- Personas
- HTML rich text
- Prompt style and dynamic injection
Customization
- Custom providers
- Custom personas
- Custom agents
- Custom runtime prompts
- Custom commands
Component architecture
- Agents: agents/ARCHITECTURE.md
- Personas: personas/ARCHITECTURE.md
- GUI: apps/gui/README.md, apps/gui/ARCHITECTURE.md, and gateway adjustment notes
- TUI: apps/tui/README.md and apps/tui/ARCHITECTURE.md
- Tauri shell: apps/tauri/README.md
- Gateway: crates/gateway/ARCHITECTURE.md
- Router: crates/router/README.md and crates/router/ARCHITECTURE.md
- Runtime: crates/runtime/ARCHITECTURE.md
- Provider layer: crates/provider/ARCHITECTURE.md
- Tools: crates/tools/ARCHITECTURE.md
- Session log: crates/session_log/README.md and crates/session_log/ARCHITECTURE.md
- Paths and process hardening: crates/path/ARCHITECTURE.md
- Build and maintenance scripts: scripts/ARCHITECTURE.md
Testing and contribution
Read tests/README.md before choosing or adding a test. Test classes are peers with different isolation, cost, and external-dependency rules:
- Business tests
- Backend end-to-end tests
- OS tests
- Live tests
- Release tests
- Runtime/session equivalence gate
- Behavior-test quality gate
For contribution conventions, read docs/contributing-guide.md. architect.md records the behavior-test refactor plan and is relevant only to that migration.
Prompt implementation sources
Read the runtime-prompt guide, the prompt-style guide, and the owning component architecture before editing prompt text. The main checked-in prompt sources are:
- Agent modes: balanced, direct, and direct text only
- Persona and communication styles: Tura, Pidan, Wonderful, communication, and CLI communication
- Built-in commands: generate media, read media, and web discover
- Tool commands: apply patch, bash, planning, shell command, task status, and zsh
- Runtime manuals: data research, debug, DevOps, editorial, frontend, interactive and 3D, new build, refactoring, visual, and website
Historical and Project Context
- Release notes: 0.1.34 and 0.1.35
- Project rationale: Why I am building Tura
- Benchmark and engineering context: MCP workflow benchmark lessons, benchmark data and test reports, token-saving plugin analysis, and GPT-5.6 Sol Max evaluation
- Contribution overview: How to contribute to Tura
- Funding and incubation tracking: funding-application-tracker.md
Working Rules
- Treat the root and component architecture documents as the source of truth for ownership and boundaries; confirm behavior in code when documentation and implementation differ.
- Keep user-facing documentation aligned with behavior changes. Update both language variants when a change affects claims or instructions shared by the English and Chinese root READMEs.
- Use the test class required by tests/README.md; do not collapse process-owning, live, performance, release, and local business coverage into one runner.
- Do not treat Markdown under
node_modules, generated output, logs, sessions, or captured external npm research as repository instructions.
1---2name: tura3description: Work in the Tura agent-runtime repository. Use for Tura architecture, Rust backend, GUI/TUI, prompts, commands, providers, sessions, documentation, tests, packaging, and release work in this directory.4---56# Tura Repository78Tura is a Rust and TypeScript agent-runtime harness that executes model-planned command graphs while reducing repeated model round trips. Use this file to load only the repository documentation relevant to the current task.910## Start Here1112- Read [README.md](README.md) for the product overview and primary workflows; use [README.zh-CN.md](README.zh-CN.md) for the Chinese version.13- Read [docs/README.md](docs/README.md) for the documentation entry point and [docs/SUMMARY.md](docs/SUMMARY.md) for the canonical user-documentation table of contents.14- Read [ARCHITECTURE.md](ARCHITECTURE.md) before changes that cross crates, processes, apps, command routing, prompts, or persistence boundaries.15- Consult [ROADMAP.md](ROADMAP.md), [docs/KNOWN_ISSUES.md](docs/KNOWN_ISSUES.md), and [CHANGELOG.md](CHANGELOG.md) when evaluating intended scope, known gaps, or released behavior.1617## Route by Task1819### Installation, configuration, and usage2021- [Overview](docs/start/overview.md)22- [Install and uninstall](docs/start/install.md)23- [Release packages](docs/start/release-packages.md)24- [Providers](docs/start/providers.md)25- [How to start](docs/start/how-to-start.md)26- [CLI parameters](docs/start/cli-parameters.md)27- [Settings](docs/start/settings.md)28- [Sessions](docs/start/sessions.md)29- [Documentation navigation](docs/start/navigation.md)30- [GUI settings](docs/start/gui-settings.md)31- [TUI settings](docs/start/tui-settings.md)3233### Runtime concepts and user-facing behavior3435- [Task status](docs/core/task-status.md)36- [Context management](docs/core/context-management.md)37- [Runtime prompt](docs/core/runtime-prompt.md)38- [Command run](docs/core/command-run.md)39- [Commands](docs/core/commands.md)40- [Agents](docs/core/agents.md)41- [Personas](docs/core/personas.md)42- [HTML rich text](docs/core/html-rich-text.md)43- [Prompt style and dynamic injection](docs/core/prompt-style.md)4445### Customization4647- [Custom providers](docs/customization/custom-providers.md)48- [Custom personas](docs/customization/custom-personas.md)49- [Custom agents](docs/customization/custom-agents.md)50- [Custom runtime prompts](docs/customization/custom-runtime-prompt.md)51- [Custom commands](docs/customization/custom-commands.md)5253### Component architecture5455- Agents: [agents/ARCHITECTURE.md](agents/ARCHITECTURE.md)56- Personas: [personas/ARCHITECTURE.md](personas/ARCHITECTURE.md)57- GUI: [apps/gui/README.md](apps/gui/README.md), [apps/gui/ARCHITECTURE.md](apps/gui/ARCHITECTURE.md), and [gateway adjustment notes](apps/gui/docs/gateway-adjustments.md)58- TUI: [apps/tui/README.md](apps/tui/README.md) and [apps/tui/ARCHITECTURE.md](apps/tui/ARCHITECTURE.md)59- Tauri shell: [apps/tauri/README.md](apps/tauri/README.md)60- Gateway: [crates/gateway/ARCHITECTURE.md](crates/gateway/ARCHITECTURE.md)61- Router: [crates/router/README.md](crates/router/README.md) and [crates/router/ARCHITECTURE.md](crates/router/ARCHITECTURE.md)62- Runtime: [crates/runtime/ARCHITECTURE.md](crates/runtime/ARCHITECTURE.md)63- Provider layer: [crates/provider/ARCHITECTURE.md](crates/provider/ARCHITECTURE.md)64- Tools: [crates/tools/ARCHITECTURE.md](crates/tools/ARCHITECTURE.md)65- Session log: [crates/session_log/README.md](crates/session_log/README.md) and [crates/session_log/ARCHITECTURE.md](crates/session_log/ARCHITECTURE.md)66- Paths and process hardening: [crates/path/ARCHITECTURE.md](crates/path/ARCHITECTURE.md)67- Build and maintenance scripts: [scripts/ARCHITECTURE.md](scripts/ARCHITECTURE.md)6869### Testing and contribution7071Read [tests/README.md](tests/README.md) before choosing or adding a test. Test classes are peers with different isolation, cost, and external-dependency rules:7273- [Business tests](tests/business/README.md)74- [Backend end-to-end tests](tests/e2e/README.md)75- [OS tests](tests/os_testing/README.md)76- [Live tests](tests/live/README.md)77- [Release tests](tests/release/README.md)78- [Runtime/session equivalence gate](tests/equivalence/runtime_session/README.md)79- [Behavior-test quality gate](tests/equivalence/test_quality/README.md)8081For contribution conventions, read [docs/contributing-guide.md](docs/contributing-guide.md). [architect.md](architect.md) records the behavior-test refactor plan and is relevant only to that migration.8283### Prompt implementation sources8485Read [the runtime-prompt guide](docs/core/runtime-prompt.md), [the prompt-style guide](docs/core/prompt-style.md), and the owning component architecture before editing prompt text. The main checked-in prompt sources are:8687- Agent modes: [balanced](agents/src/balanced/prompt.md), [direct](agents/src/direct/prompt.md), and [direct text only](agents/src/direct-text-only/prompt.md)88- Persona and communication styles: [Tura](personas/src/tura/prompt/persona.md), [Pidan](personas/src/pidan/prompt/persona.md), [Wonderful](personas/src/wonderful/prompt/persona.md), [communication](personas/src/communication_style/communication_style.md), and [CLI communication](personas/src/communication_style/cli_communication_style.md)89- Built-in commands: [generate media](commands/generate_media/prompt.md), [read media](commands/read_media/prompt.md), and [web discover](commands/web_discover/prompt.md)90- Tool commands: [apply patch](crates/tools/src/commands/apply_patch/prompt.md), [bash](crates/tools/src/commands/bash/prompt.md), [planning](crates/tools/src/commands/planning/prompt.md), [shell command](crates/tools/src/commands/shell_command/prompt.md), [task status](crates/tools/src/commands/task_status/prompt.md), and [zsh](crates/tools/src/commands/zsh/prompt.md)91- Runtime manuals: [data research](crates/runtime/src/runtime_prompt/data_research/prompt.md), [debug](crates/runtime/src/runtime_prompt/debug/prompt.md), [DevOps](crates/runtime/src/runtime_prompt/devops/prompt.md), [editorial](crates/runtime/src/runtime_prompt/editorial/prompt.md), [frontend](crates/runtime/src/runtime_prompt/frontend/prompt.md), [interactive and 3D](crates/runtime/src/runtime_prompt/interactive_and_3d/prompt.md), [new build](crates/runtime/src/runtime_prompt/new_build/prompt.md), [refactoring](crates/runtime/src/runtime_prompt/refactoring/prompt.md), [visual](crates/runtime/src/runtime_prompt/visual/prompt.md), and [website](crates/runtime/src/runtime_prompt/website/prompt.md)9293## Historical and Project Context9495- Release notes: [0.1.34](docs/changelog/0.1.34.md) and [0.1.35](docs/changelog/0.1.35.md)96- Project rationale: [Why I am building Tura](docs/blog/why-i-am-building-tura.md)97- Benchmark and engineering context: [MCP workflow benchmark lessons](docs/blog/what-we-learned-from-the-mcp-workflow-benchmark.md), [benchmark data and test reports](docs/blog/we-need-more-benchmark-data-and-test-reports.md), [token-saving plugin analysis](docs/blog/token-saving-plugins-the-denominator-matters.md), and [GPT-5.6 Sol Max evaluation](docs/blog/is-gpt-5-6-sol-max-worth-it.md)98- Contribution overview: [How to contribute to Tura](docs/blog/how-to-contribute-to-tura.md)99- Funding and incubation tracking: [funding-application-tracker.md](funding-application-tracker.md)100101## Working Rules102103- Treat the root and component architecture documents as the source of truth for ownership and boundaries; confirm behavior in code when documentation and implementation differ.104- Keep user-facing documentation aligned with behavior changes. Update both language variants when a change affects claims or instructions shared by the English and Chinese root READMEs.105- Use the test class required by [tests/README.md](tests/README.md); do not collapse process-owning, live, performance, release, and local business coverage into one runner.106- Do not treat Markdown under `node_modules`, generated output, logs, sessions, or captured external npm research as repository instructions.