/plandex

AI driven development in your terminal. Designed for large, real-world tasks.

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0


1-Minute Install · Docs · Examples · Self-Hosting · Development · Office Hours


Discord Follow GitHub Repo stars Twitter Follow Twitter Follow

PRs Welcome Release Release


Pythagora-io%2Fgpt-pilot | Trendshift

AI driven development in your terminal.
Build entire features and apps with a robust workflow.



🔥🔥🔥 Plandex 1.0.0 Release 🔥🔥🔥

→ gpt-4o support and automatic error-correction
→ over 90% reduction in errors in early testing
→ improved planning and memory, reduced laziness
→ 2x faster planning and execution, 50% cost reduction per token


Plandex intro video

More examples  🎥


Learn more about Plandex  🧐


Overview  📚

Plandex is a reliable and developer-friendly AI coding agent in your terminal. Designed for real-world use-cases, Plandex is great for working on large, complex tasks in existing codebases.

Though it focuses on robustness and reliability for large tasks, Plandex is also good for accelerating new projects and quick one-off tasks.

Plandex can plan out and complete tasks that span many files and steps. It breaks up large tasks into smaller subtasks, then implements each one, continuing until it finishes the job. Build entire features and projects with a structured, version-controlled, team-friendly approach to AI-driven engineering.

Plandex helps you churn through your backlog, work with unfamiliar technologies, get unstuck, and spend less time on the boring stuff.


Install  📥

Quick Install

curl -sL https://plandex.ai/install.sh | bash
Manual install

Grab the appropriate binary for your platform from the latest release and put it somewhere in your PATH.

Build from source

git clone https://github.com/plandex-ai/plandex.git
git clone https://github.com/plandex-ai/survey.git
cd plandex/app/cli
go build -ldflags "-X plandex/version.Version=$(cat version.txt)"
mv plandex /usr/local/bin # adapt as needed for your system

Windows

Windows is supported via WSL.


Get started  🚀

Plandex uses OpenAI by default. If you don't have an OpenAI account, first sign up here.

Then generate an API key here.

cd your-project

export OPENAI_API_KEY=...
export OPENAI_API_BASE=... # optional e.g. https://<your-proxy>/v1
export OPENAI_ORG_ID=... # optional - set the OrgID if you have multiple OpenAI orgs

# optional - set api keys for any other providers you're using
export OPENROUTER_API_KEY=...
export TOGETHER_API_KEY...

plandex new

After any plandex command is run, commands that could make sense to run next will be suggested. You can learn to use Plandex quickly by jumping in and following these suggestions. You can see a list of all commands with plandex help or get help on a specific command with plandex [command] --help. You can use the pdx alias instead of plandex to type a bit less, and most common commands have their own aliases as well.


Docs  🛠️

Here's a quick overview of the commands and functionality.


Plandex Cloud  ☁️

Plandex Cloud is the easiest and most reliable way to use Plandex. You'll be prompted to start an anonymous trial (no email required) when you create your first plan with plandex new. Trial accounts are limited to 10 plans and 10 AI model replies per plan. You can upgrade to an unlimited account with your name and email.

Plandex Cloud accounts are free for now. In the future, they will cost somewhere in the $10-20 per month range.


Self-hosting  🏠

Self-contained script for easy local mode and self-hosting:

git clone https://github.com/plandex-ai/plandex.git
cd plandex/app
./start_local.sh

Requires git, docker, and docker-compose.

Read more about self-hosting Plandex here.


Build complex software with LLMs  🌟

⚡️  Changes are accumulated in a protected sandbox so that you can review them before automatically applying them to your project files. Built-in version control allows you to easily go backwards and try a different approach. Branches allow you to try multiple approaches and compare the results.

📑  Manage context efficiently in the terminal. Easily add files or entire directories to context, and keep them updated automatically as you work so that models always have the latest state of your project.

🧠  By default, Plandex relies on the OpenAI API and requires an OPENAI_API_KEY environment variable. You can also use it with a wide range of other models, including Anthropic Claude, Google Gemini, Mixtral, Llama and many more via OpenRouter.ai, Together.ai, or any other OpenAI-compatible provider.

✅  Plandex supports Mac, Linux, FreeBSD, and Windows. It runs from a single binary with no dependencies.


Why Plandex?  🤔

🏗️  Go beyond autocomplete to build complex functionality with AI.
🚫  Stop the mouse-centered, copy-pasting madness of coding with ChatGPT.
📑  Manage context efficiently in the terminal.
⚡️  Ensure AI models always have the latest versions of files in context.
🪙  Retain granular control over what's in context and how many tokens you're using.
🚧  Experiment, revise, and review in a protected sandbox before applying changes.
⏪  Rewind and retry as needed.
🌱  Explore multiple approaches with branches.
🔀  Run tasks in the background or work on multiple tasks in parallel.
🎛️  Try different models and model settings, then compare results.


Limitations and guidance ⚠️

Note  → while the caveats below still apply to some extent, Plandex's 1.0.0 release that provides gpt-4o support and automatic error-correction is a major step forward in reliability and accuracy, with over 90% reduction in syntax errors and significantly stronger planning capabilities.

  • Plandex can provide a significant boost to your productivity, but as with any other AI tool, you shouldn't expect perfect results. Always review a plan before applying changes, especially if security is involved. Plandex is designed to get you 90-95% of the way there rather than 100%.

  • Due to the reasoning limitations of LLMs, automatically applied file updates also aren't perfect. While these were significantly improved in the 1.0.0 release, mistakes and errors are still possible. Use the plandex changes command to review pending updates in a TUI, or plandex diffs to review them in git diff format. If a file update has mistakes, make those changes yourself with copy-and-paste and reject the file in the changes TUI.

  • The more direction and detail you provide, the better the results will be. Working with Plandex often involves giving it a prompt, seeing that the results are a bit off, then using plandex rewind to go back and iterate on the prompt or add context before trying again. Branches are also useful for expermination.

  • If you want to go step-by-step rather than having Plandex attempt do everything at once, use plandex tell and plandex continue with the --stop / -s flag, which will prevent it from automatically continuing for multiple responses. Use plandex continue to proceed with the plan once you're ready.

  • While it can be tempting to just dump your entire project into context if it fits under the token limit, and that can work just fine, you will tend to see better results (and pay less) by being more selective about what's loaded into context.


Security  🔐

Plandex Cloud follows best practices for network and data security. And whether cloud or self-hosted, Plandex protects model provider API keys (like your OpenAI API key). Read more here.


Privacy and data retention  🛡️

Read about Plandex Cloud's privacy and data retention policies here.


Roadmap  🗺️

🧠  Support for open source models, Google Gemini, and Anthropic Claude in addition to OpenAI ✅ - released April 2024
🤝  Plan sharing and team collaboration
🖼️  Support for multi-modal models—add images and screenshots to context
🖥️  VSCode and JetBrains extensions
📦  Community plugins and modules
🔌  Github integration
🌐  Web dashboard and GUI
🔐  SOC2 compliance
🛩️  Fine-tuned models

This list will grow and be prioritized based on your feedback.


Discussion and discord  💬

Speaking of feedback, feel free to give yours, ask questions, report a bug, or just hang out:


Weekly office hours  📆

Join me (Dane 👋) for office hours every Friday 12:30pm-1:30pm PST in Discord. I'll be available by voice and text chat to answer questions, learn about your use cases, and show you AI coding techniques. Join the discord to get a reminder when they're starting.


Twitter / X  🐦

Follow @Danenania, the creator of Plandex, for musings on AI, prompt engineering, and open source.

Follow @PlandexAI for Plandex-specific updates.


Contributors  👥

⭐️  Please star, fork, explore, and contribute to Plandex. There's a lot of work to do and so much that can be improved.

Work on tests, evals, prompts, and bug fixes is especially appreciated.

Here's an overview on setting up a development environment.


About the developer  👋

Hi, I'm Dane. I've been building and launching software products for 17 years. I went through YCombinator in winter 2018 with my devops security company, EnvKey, which I continue to run today. I'm fascinated by LLMs and their potential to transform the practice of software development.

I live with my wife and 5 year old daughter on the SF peninsula in California. I grew up in the Finger Lakes region of upstate New York. I like reading fiction, listening to podcasts, fitness, and surfing.