Skip to main content

Simple cli for genai project management

Project description

Droid Please

A simple CLI tool that acts as your AI coding assistant. It helps you manage your project through natural language commands, allowing you to perform various file operations and coding tasks by simply asking.

Why "Droid Please"?

There are lots of code assistants and IDEs out there. Why is droid-please different?

LLM IDEs and other tools tend to live with the developer. This means they cannot specialize in a project. They need to either be told explicitly by the dev the context for the problem, or at best use RAG to dynamically grab the context.

The impetus for droid-please is that these resources should live alongside and be versioned with the project code like your .git directory. The idea here being that LLMs are expensive, especially if we want to create agents that learn about a project. Furthermore, this learning needs to change over time as the project evolves. There is no reason for each dev to waste time and resources teaching their own personal llm about a shared codebase. Moreover, when I pull in a change. I would like my coding assistant to already know about those changes.

This improves performance, but it is also a more cost-effective model for a GenAI tool. It allows for "expensive" project learning since it only needs to happen occasionally per project rather than on every completion.

Approach

Currently, droid learn is a basic process that automatically "learns" by allowing the agent to read through the project file system and save a project summary file that is injected into the droid please system prompt.

When using droid please the agent has access to the project summary and tools to manipulate the file system.

Pre-requisites

Robust Version Control

Before we get into this project at all, you should have a robust version control system in place. This project is about letting AI Agents manage your projects, which means droid can modify files within your project. Eventually ๐Ÿšจ Droid will break something ๐Ÿšจ, and when this happens the ability to revert those changes is paramount.

Python 3.10

This project requires Python 3.10 or higher. You can download the latest version of Python from the official website.

PIP

The Quickstart guide uses pip. You can install pip by following the instructions here.

Anthropic API Key

This project right now only runs with Anthropic. Get an API key from Anthropic

Quick Start

Installation

pip install droid-please --upgrade

This will install the droid CLI tool on your system. Let's make sure it's installed correctly by running.

droid --help
โ•ญโ”€ Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ init       Initialize a new .droid directory in the current directory with required configuration files.                                                                                          โ”‚
โ”‚ learn      Analyze the project structure and learn about its organization and purpose. The summary will be saved to the config file for future reference.                                         โ”‚
โ”‚ please     Ask the droid to do something.                                                                                                                                                         โ”‚
โ”‚ continue   Continue a conversation with the droid. If no conversation file is provided, continues the most recent conversation.                                                                   โ”‚
โ”‚ save       Save a version of the latest conversation. If no conversation file is provided, saves the most recent conversation.                                                                    โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿšจ You might need reset or restart your terminal to get the droid command to work.

Droid please also contains (optional) completions.:

droid --install-completion

Initialize droid in your project

The first thing we need to do is initialize droid in your project. This creates a .droid directory with project-specific settings and helps the AI understand your project structure.

cd /path/to/your/git/project
droid init
Anthropic API key (optional): *****
Initialized project: /path/to/your/git/project/.droid

If you don't have your API key set up yet, you will be prompted to set it up.

Have droid learn about your project

droid learn

Try it out!

driod please "Update (or create) my project's readme" -i

The -i flag is for interactive mode. This will allow you to continue a conversation with your agent without having to run additional commands.

Contributing

Droid Please!

Need Help?

  • Open an issue for questions or problems

Thank you for taking a look at Droid Please! ๐Ÿš€

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

droid_please-0.0.3.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

droid_please-0.0.3-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file droid_please-0.0.3.tar.gz.

File metadata

  • Download URL: droid_please-0.0.3.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.7 Darwin/23.6.0

File hashes

Hashes for droid_please-0.0.3.tar.gz
Algorithm Hash digest
SHA256 948022ed972ae1b3e4981d87a70515b2bbdb9b2477b955597dab67230685e7f5
MD5 44117f623ea235890324e76240272282
BLAKE2b-256 d8ee5d5c42a22be35b2093bc8e77eeeb44523cfb8b28f79e0fb6623e15de9f62

See more details on using hashes here.

File details

Details for the file droid_please-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: droid_please-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.7 Darwin/23.6.0

File hashes

Hashes for droid_please-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ce833b043eb39c9b91ee9644caf5ea41774100aee356a520493dac450055f39
MD5 65b3a724a6219d45c653eb648ad242db
BLAKE2b-256 558cbb679ddabc854df76902161207b83ddec317d163967825c1a2c18a54a566

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page