The Agentic AI CLI for Developers.
PromptLine is a powerful, Rust-based CLI tool that brings agentic AI capabilities directly to your terminal. It's designed to help you write code, run commands, manage projects, and automate tasks using natural language.
- Agentic Workflow: Plan, execute, and verify tasks with an intelligent AI agent.
- Interactive Chat: Chat with the agent in a REPL environment with autocomplete and history.
- Tool Integration:
- 📂 File Operations: Read, write, and list files.
- 🐚 Shell Execution: Run system commands safely.
- 🔍 Codebase Search: Search your project for code snippets.
- 🌐 Web Access: Fetch content from the web.
- 🌳 Git Integration: Check status, diffs, and commits.
- Project Scaffolding: Automatically creates directories for new projects while respecting existing ones.
- Safety First: Configurable permission system (Ask, Allow, Deny) for sensitive actions.
- Model Agnostic: Supports OpenAI and Ollama (local LLMs).
- Rust: Ensure you have Rust installed (
cargo). - API Key: You need an OpenAI API key OR a running Ollama instance.
-
Clone the repository:
git clone https://github.com/yourusername/promptline.git cd promptline -
Build and install:
cargo install --path . -
Verify installation:
promptline --version
Start the interactive agent:
promptlineOr run a specific task directly:
promptline "Create a new Rust project called my-app"PromptLine uses a configuration file at ~/.promptline/config.yaml. You can configure:
- Model Provider: OpenAI or Ollama.
- Permissions: Control what the agent can do (e.g., require approval for shell commands).
- Safety: Set max iterations and other safety limits.
To set your API key:
export OPENAI_API_KEY="your-api-key"
# OR for Ollama
export OLLAMA_API_KEY="your-key" # Optional- Scaffold a Project:
"Make a login portal with HTML and CSS"
- Refactor Code:
"Refactor src/main.rs to break the large function into smaller ones"
- Debug:
"Run the tests and fix any failures"
- Explain:
"Explain how the authentication flow works in this project"
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
