Lacy Shell – Talk to your terminal. Commands run, questions go to AI
quality 7/10 · good
0 net
# Lacy
**Talk to your shell.** Commands run. Questions go to AI. No prefixes. No context switching. You just type.
[](https://www.npmjs.com/package/lacy)
[](https://www.npmjs.com/package/lacy)
[](https://github.com/lacymorrow/lacy/stargazers)
[](https://opensource.org/licenses/MIT)
## How It Works
Real-time visual feedback shows what will happen before you hit enter:
` | Set AI tool |
| `ask "query"` | Direct query to AI |
| `Ctrl+Space` | Toggle between modes |
## CLI
After installation, the `lacy` command is available (no Node required):
```bash
lacy setup # Interactive settings (tool, mode, config)
lacy status # Show installation status
lacy doctor # Diagnose common issues
lacy update # Pull latest changes
lacy config edit # Open config in $EDITOR
lacy uninstall # Remove Lacy Shell
lacy help # Show all commands
```
## Uninstall
```bash
lacy uninstall
# or
npx lacy --uninstall
# or
curl -fsSL https://lacy.sh/install | bash -s -- --uninstall
```
## Configuration
Config file: `~/.lacy/config.yaml`
```yaml
agent_tools:
active: claude # lash, claude, opencode, gemini, codex, or empty for auto
modes:
default: auto # shell, agent, auto
api_keys:
openai: "sk-..." # Only needed if no CLI tool installed
anthropic: "sk-ant-..."
```
## Troubleshooting
**No AI response** — Check `tool` to see if a tool is detected. Install one: `npm i -g lashcode` or `brew install claude`.
**Colors not showing** — Ensure your terminal supports 256 colors (green=34, magenta=200, blue=75).
**Command rerouted unexpectedly** — In auto mode, commands with natural language patterns that fail are re-sent to the AI. Switch to `mode shell` to disable this, or prefix with `!`.
**Emergency bypass** — Prefix any command with `!` to force shell execution: `!rm -rf node_modules`
## Releasing
Requires [Bun](https://bun.sh), [gh](https://cli.github.com), and `npm login`.
```bash
bun run release # interactive — prompts for patch/minor/major
bun run release patch # patch bump (1.5.3 → 1.5.4)
bun run release minor # minor bump (1.5.3 → 1.6.0)
bun run release major # major bump (1.5.3 → 2.0.0)
bun run release 2.0.0 # explicit version
```
The script handles the full release flow:
1. Bumps version in both `package.json` files
2. Commits with `release: v` and tags
3. Pushes to GitHub and creates a GitHub release
4. Publishes the npm package (prompts for OTP if required)
## Support This Project
Lacy Shell is free and open source. If it saves you time, consider sponsoring the project:
[](https://github.com/sponsors/lacymorrow)
Your support keeps development active and helps cover infrastructure costs.
## Contributing
Contributions welcome! Check out the [issues](https://github.com/lacymorrow/lacy/issues) for good first issues, or open a new one.
## License
MIT — see [LICENSE](LICENSE).
Other methods
```bash # Homebrew brew tap lacymorrow/tap brew install lacy # npx (interactive) npx lacy # Manual git clone https://github.com/lacymorrow/lacy.git ~/.lacy echo 'source ~/.lacy/lacy.plugin.zsh' >> ~/.zshrc ```