
TailCode
github.com/kitlangton/tailcode- Category
- Developer Tools
- Rank
- No. 1146Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Deployment & Operations
- Interfaces
- CLI
- Builder
- @kitlangton
- GitHub
- 307 stars
- Latest release
- v0.2.8
- Date
About
A terminal wizard that connects Tailscale and OpenCode, allowing you to publish OpenCode to your tailnet with a shareable URL and QR code. It automatically handles setup, local server management, and secure access through your Tailscale network.
What it does
TailCode wraps a short remote-development session in one interactive terminal flow. It verifies the two required command-line programs, gets the private network connection ready, launches the coding server on loopback, waits for its health endpoint, and maintains both child-process and network-proxy lifetimes until you exit.
Why it's ranked here
The narrow scope is its strength. TailCode combines prerequisite checks, connection guidance, health polling, private publication, and shutdown cleanup into one coherent TUI. It also offers several installation routes and checksum verification. Its value drops sharply outside an existing Tailscale and OpenCode setup, and current standalone binaries exclude Windows.
What's good
OpenCode listens only on localhost, which avoids exposing the service directly to the LAN. TailCode waits for a successful health response before publishing it. Scoped process management ties the local server to the session, while an integration test verifies that quitting removes both the OpenCode process and Tailscale serving configuration. Optional password forwarding adds another access control.
Tradeoffs
Users must install both Tailscale and OpenCode and keep Tailscale running. Missing dependencies produce installation guidance, not automatic installation. Published access remains limited to devices on the same tailnet, so this is not public sharing. Standalone releases cover macOS and Linux across Intel and ARM, while Windows support is described as forthcoming. Clipboard support on Linux also depends on an available desktop clipboard utility.
How to use it well
Use TailCode when you already work with OpenCode and want temporary access from another device enrolled in your Tailscale network. Start it for the session, use the displayed private address or local attach command, then quit to trigger cleanup. Set a custom port when needed and add a password for defense in depth. Choose another tool for public links or dependency installation.
Technical notes+
src/main.tsx renders the Solid-based OpenTUI application at 60 FPS, while src/app.tsx owns keyboard interaction, responsive panel sizing, install guidance, QR display, and phase presentation. src/flow.ts sequences Tailscale.ensure, OpenCode.start, and Tailscale.publish, then holds an Effect scope open until shutdown. src/services/opencode.ts binds OpenCode to 127.0.0.1, polls /global/health, streams process output, and passes an optional redacted password through OPENCODE_SERVER_PASSWORD. src/services/process.ts centralizes scoped spawning and cleanup helpers. src/_cleanup.test.ts exercises real Tailscale and OpenCode cleanup, and src/command-cleanup.test.ts verifies process-group termination. package.json defines a public Bun package and compiled release scripts.
Observed
- License
- MIT
- Primary language
- TypeScript and TSX
- Interface
- Interactive command-line TUI
- Install surface
- Homebrew, public Bun package, direct standalone binaries, or source
- Runtime requirement
- Bun 1.3.0 or newer for the package and source routes; standalone binaries include Bun
- Binary platforms
- macOS ARM64 and x64; Linux ARM64 and x64; Windows x64 listed as coming soon
- Required tools
- Tailscale and OpenCode executables must be available
- Test structure
- Two test files are located alongside application source
Read from README.md, package.json, src/app.tsx, src/main.tsx, src/qr.ts, src/flow.ts, src/state.ts, src/runtime.ts, src/showcase.tsx, src/_cleanup.test.ts, src/command-cleanup.test.ts, src/services/config.ts, src/services/errors.ts, src/services/process.ts, src/services/opencode.ts.
What it can do
Verify Tailscale and OpenCode installation
System environment → Installation status verification
Start OpenCode server locally
OpenCode application → Running local OpenCode server
Publish OpenCode to Tailscale network
Local OpenCode server and Tailscale configuration → OpenCode accessible on tailnet
Generate shareable URL for OpenCode access
Published OpenCode service on tailnet → Shareable URL
Generate QR code for OpenCode access
Shareable URL → QR code
Configure Tailscale serve for secure access
Local OpenCode server and Tailscale network → Secure network access configuration
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.