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
Global install:
bun add -g compleet
tc --help
One-off usage:
bunx compleet --help
bunffmpegfortc voicezshorbashfor shell integration
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.
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.
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.
| Mode | Example | Output |
|---|---|---|
| Command generation | tc list files in this directory |
Prints the generated command to stdout. |
Explain (-e, --explain) |
tc -e find text files in this directory |
Prints the generated command to stdout, plus any available explanation and applicable risk information to stderr. It does not execute the command. |
General prompt (-p, --prompt) |
tc -p explain when to use rsync vs scp |
Prints a general response to stdout without generating a command. |
If both -p and -e are supplied, general prompt mode takes precedence and -e has no effect.
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
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