compleet
Turn plain English into safe Bash/Zsh commands with tcomp - a Bun-native AI CLI using Codex/OpenAI
Links
README
From the repo.
Compleet
Compleet is an AI prompt compiler for developers. The primary CLI command is tc.
It can:
- turn rough text into terminal commands
- answer prompt-mode questions
- record a short voice note, transcribe it, and compile it into a structured AI prompt
Install
Global install:
bun add -g compleet
tc --help
One-off usage:
bunx compleet --help
Requirements
bunffmpegfortc voicezshorbashfor shell integration
Quick Start
Run setup once:
tc setup
tc setup now finishes provider onboarding first, then immediately checks voice mode readiness and offers the voice setup wizard if ffmpeg or a transcription backend still needs setup.
Voice Mode
tc voice
Voice mode pipeline:
- Record microphone audio.
- Keep listening until you press Enter.
- Transcribe speech locally when possible.
- Fall back to the OpenAI speech API when needed.
- Reuse Compleet's existing model path to turn the transcript into a structured prompt.
Example:
Speech:
code optimize docker container and switch node to bun
Output:
Task: Optimize the Docker container for minimal size.
Requirements:
- Replace Node runtime with Bun if compatible.
- Remove unnecessary dependencies.
- Ensure the container builds successfully.
Output:
- Report the final image size.
Local Transcription Backends
Compleet tries these backends in order:
whisper.cpp(recommended)- OpenAI speech-to-text API
When voice mode is not ready, the interactive setup wizard offers these options in order:
- Install
ffmpegif recording is not available. - Set up
whisper.cpplocally and download a default model. - Enter your own OpenAI API key fallback.
During recording, press Enter to stop.
If Compleet shell integration is installed, tc voice stages the compiled prompt into your next editable shell input instead of auto-running it.
Without shell integration, voice mode prints the compiled prompt to stdout.
Persistent settings live in:
~/.config/compleet/config.json
Example voice section:
{
"voice": {
"audioInputDevice": "Built-in Microphone",
"whisperCppModelPath": "/Users/you/.config/compleet/voice/models/ggml-base.en.bin"
}
}
Environment variables are still supported as temporary overrides for CI, debugging, or one-off runs, but the config file is the default place for durable settings.
Command Generation
tc find all files larger than 500MB under this directory
tc generate a command to sync ./dist to s3://my-bucket/releases
tc -e safely remove docker images that are dangling
Prompt mode:
tc -p explain when to use rsync vs scp
Config Commands
tc setup
tc setup codex
tc setup openai
tc config
tc config codex
tc config openai
tc reset
tc reset --yes
tc use codex
tc use openai
Local Binary Build
Build the native binary for your current machine:
bun run build
./dist/tc --help
Create an export bundle with install scripts:
bun run export
ls dist/export
./dist/export/<bundle-name>/install.sh
Or install the JS project directly for local testing:
bun link
tc --help
Collected info
- ★ 1 stars
- Language: TypeScript
- Source updated: 3/11/2026
Config for your environment
Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.