Tortoise is a TypeScript framework for custom applications that serve specialized processes at the edge. Local procedures and equipment can make a process too specific for a standard application. Claude Code and Codex can write the application code, but starting from an empty project also leaves them to establish the infrastructure that controls access and keeps records consistent.
Tortoise supplies a runtime that executes declared operations against a workspace. Application code defines the process through those operations and its screens. The host provides the execution boundary, so a command uses the same authorization and transaction handling through every supported channel. Host plugins add configured facilities such as an audit log or access to external systems. The application declares its dependencies and the deployment policy binds them to the environment in which it runs.
The framework runs on a local computer and has a hosted-server platform. The mobile host uses its own storage and native screens; its current limits are documented in Mobile. Application-specific behavior stays outside the framework packages.
Install Bun and Git, then run:
git clone https://github.com/wisdomousai/tortoise.git
cd tortoise
bun install --frozen-lockfile
bun run dev:webdev:web builds the web frame and starts the application selected by app.config.json. Open the launchUrl in its listening output. The link creates a browser session, works once and expires after a minute. Restart the host to issue another link.
The CLI can attach to the running instance. From the repository root in another terminal:
export TORTOISE_CONNECTION="$PWD/.workspace/.connection.json"
bun run cli helpbun run dev starts the desktop host. Getting started constructs a small application in a separate directory.
| Subject | Guide |
|---|---|
| Application composition | Architecture |
| Execution and state | Operations and state |
| Caller protocol | Channels and interaction |
| Application policy | Authorization |
| External integration | Systems of record |
| Running an instance | Deployment and operation |
| Terminology | Concept reference |
The tutorials explain how to build applications with Claude Code or Codex. Dated execution evidence and known gaps are recorded in Implementation status.
bun run check
bun run test:e2eThe browser suite requires bunx playwright install chromium. Development and testing describes the checks and their prerequisites. Claude Code and Codex follow AGENTS.md when changing this code.
Each storage transaction currently loads the workspace state. Applications whose state cannot fit that execution model require a different storage design.