totopo 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -34
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,36 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
<img src=".github/assets/logo.png" alt="totopo" width="100%" />
|
|
4
4
|
|
|
5
|
-
A simple CLI to spin up a sandboxed Docker environment for AI coding agents.
|
|
5
|
+
A simple CLI to spin up a sandboxed Docker environment for AI coding agents — pre-installed tools, any git project.
|
|
6
6
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|

|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Why totopo?
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Here's the thing about AI agents: they're probabilistic. They occasionally misinterpret instructions, take unexpected shortcuts, or simply get it wrong. Most of the time they're fine. But "most of the time" isn't a great argument for giving them unrestricted access to your machine, your credentials, and your remote repositories.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
totopo draws a simple boundary: agents get a full, capable environment to work in — they just can't touch anything outside the project, and they can't reach your remote. That's it. No domain whitelisting, no paranoia, no compromise on what the agent can actually do.
|
|
16
|
+
Reasonable containment for non-deterministic tools. Nothing more, nothing less.
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
Note: no sandbox substitutes for good judgment. Consider keeping any sensitive secrets or privileged scripts away from your agents.
|
|
18
19
|
|
|
19
20
|
## Features at a Glance
|
|
20
21
|
|
|
21
22
|
- **Sandboxed Docker container** — your code runs in an isolated environment with strict filesystem and privilege boundaries
|
|
22
23
|
- **Agents can't reach remote** — push, pull, fetch, and clone are blocked inside the container, preventing agents from accidentally affecting your remote repositories
|
|
23
|
-
- **
|
|
24
|
-
- **AI coding CLIs with persistent sessions** — Claude Code, OpenCode, and Codex pre-installed, with conversation history that survives restarts and rebuilds
|
|
24
|
+
- **AI CLIs with persistent sessions** — OpenCode, Claude Code and Codex pre-installed, with conversation history that survives restarts and rebuilds
|
|
25
25
|
- **Host-mirror or generic runtime** — use a standard dev container, or let totopo match the container environment to your host so the agent works in the exact same setup as your codebase
|
|
26
|
-
|
|
27
|
-
---
|
|
26
|
+
- **Scoped mounts** — expose only the files and directories the agent needs, nothing more
|
|
28
27
|
|
|
29
28
|
## Requirements
|
|
30
29
|
|
|
31
|
-
- [Docker](https://www.docker.com/products/docker-desktop/)
|
|
32
|
-
- [git](https://git-scm.com/)
|
|
33
|
-
|
|
34
|
-
---
|
|
30
|
+
- [Docker](https://www.docker.com/products/docker-desktop/) - used to build and run the sandboxed environment
|
|
31
|
+
- [git](https://git-scm.com/) - safeguard to ensure agents only run in projects with version control in place
|
|
35
32
|
|
|
36
33
|
## Quick Start
|
|
37
34
|
|
|
@@ -42,15 +39,11 @@ npx totopo
|
|
|
42
39
|
|
|
43
40
|
Select **Open session** from the menu. If `.totopo/` doesn't exist yet, a one-time onboarding flow runs first. The first run builds the Docker image. Subsequent starts are fast.
|
|
44
41
|
|
|
45
|
-
<!-- VIDEO: First-time setup — running `npx totopo` in a fresh repo, selecting a runtime mode, and waiting for the Docker image to build for the first time.
|
|
46
42
|

|
|
47
|
-
|
|
43
|
+
*First-time setup — running `npx totopo` in a fresh repo, selecting a runtime mode, and waiting for the Docker image to build for the first time.*
|
|
48
44
|
|
|
49
|
-
<!-- VIDEO: Starting a session once the container is already built — opening a session, running an AI tool, exiting.
|
|
50
45
|

|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
---
|
|
46
|
+
*Starting a session once the container is already built — opening a session, running an AI tool, exiting.*
|
|
54
47
|
|
|
55
48
|
## Features
|
|
56
49
|
|
|
@@ -77,11 +70,10 @@ In both scoped modes, `.git` is intentionally not mounted. Mounting `.git` would
|
|
|
77
70
|
|
|
78
71
|
Scoped sessions are well-suited for focused tasks where you want to give the agent a narrow, explicit view of your codebase.
|
|
79
72
|
|
|
80
|
-
<!-- VIDEO: Using scoped mounts — selecting cwd and selective modes, showing what the agent can and can't see inside the container.
|
|
81
73
|

|
|
82
|
-
|
|
74
|
+
*Using scoped mounts — selecting cwd and selective modes, showing what the agent can and can't see inside the container.*
|
|
83
75
|
|
|
84
|
-
### AI
|
|
76
|
+
### AI CLIs with persistent sessions
|
|
85
77
|
|
|
86
78
|
The container comes with the major AI coding CLIs ready to use out of the box:
|
|
87
79
|
|
|
@@ -91,6 +83,8 @@ claude # Claude Code (Anthropic)
|
|
|
91
83
|
codex # Codex (OpenAI)
|
|
92
84
|
```
|
|
93
85
|
|
|
86
|
+
Agent session data is scoped per project — each repository gets its own isolated history, so agents don't bleed context between projects. To clear memory, run `npx totopo` and navigate to Advanced > Clear agent memory. This stops the container if running and removes the .totopo/agents/ directory.
|
|
87
|
+
|
|
94
88
|
### Dev container runtime
|
|
95
89
|
|
|
96
90
|
Choose between two modes:
|
|
@@ -100,12 +94,6 @@ Choose between two modes:
|
|
|
100
94
|
|
|
101
95
|
Either way, basic dev tools and all three AI CLIs are always included.
|
|
102
96
|
|
|
103
|
-
<!-- VIDEO: Switching runtime modes in the settings menu, selecting tools, and triggering a container rebuild.
|
|
104
|
-

|
|
105
|
-
-->
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
97
|
## What gets created in your project
|
|
110
98
|
|
|
111
99
|
```
|
|
@@ -123,16 +111,12 @@ your-project/
|
|
|
123
111
|
~/.totopo/.env # API keys — global, outside all repos, never mounted into container
|
|
124
112
|
```
|
|
125
113
|
|
|
126
|
-
Agent session history and conversation data are persisted in `agents
|
|
127
|
-
|
|
128
|
-
---
|
|
114
|
+
Agent session history and conversation data are persisted in the `agents` directory across container rebuilds and restarts. This directory is gitignored so session data stays local to your machine.
|
|
129
115
|
|
|
130
116
|
## Limitations
|
|
131
117
|
|
|
132
118
|
**Audio / microphone** — the image includes `sox` (required by Claude Code for voice mode), but audio passthrough from the host depends on your OS. macOS, Linux, and Windows each require different device configuration. If you need voice mode, set up audio passthrough manually for your platform.
|
|
133
119
|
|
|
134
|
-
---
|
|
135
|
-
|
|
136
120
|
## Disclaimer
|
|
137
121
|
|
|
138
|
-
|
|
122
|
+
MIT licensed and fully open source. Fork it, adapt it, make it yours. Issues are welcome — no promises on response time. Use at your own risk.
|