Holistic software development via LLM
Project description
arcode
Description
Arcode is a command-line tool designed to help facilitate holistic software development via LLM. It allows users to generate feature implementations for a given codebase based on user-defined requirements.
Features
- Provide requirements and get recommended changes
- Single button press confirmation + implementation
- Supplies context from your repo/local files
- Optional limiting of file context based on relevancy to features
- Support for various providers/models via LiteLLM
Demo
Provide your requirements:
Review and approve changes:
Parameters:
positional arguments:
requirements Requirements for features to build on the codebase.
options:
-h, --help Show this help message and exit
--dir DIR The working directory of the codebase, default to current directory.
--write WRITE Whether or not to write the changeset immediately. If piping input to arcode, this defaults to true.
--focused FOCUSED Enable focused mode to limit files based on relevancy using embeddings - accepts an integer containing number of files to limit context to.
--model MODEL Specify the LLM provider/model to use with LiteLLM, default to openai/gpt-4o.
Examples:
Generate a plan and optionally write the changes based on requirements:
arcode "Implement authentication"
Use with input from a file:
cat feature_requirements.txt | arcode --dir ./my_codebase
Install
- Ensure Homebrew is installed
- Tap
alexdredmon/arcode
brew tap alexdredmon/arcode
- Install arcode
brew install arcode
Development Setup
-
Clone the repository:
git clone https://github.com/alexdredmon/arcode cd arcode
-
Create & activate virtual environment:
virtualenv venv source venv/bin/activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Set your OpenAI API key:
export OPENAI_API_KEY=<your_openai_api_key>
or alternatively set in a .env file:
OPENAI_API_KEY=<your_openai_api_key>
Build
-
Build a standalone executable via:
./build.sh
-
A binary will be created in
./dist/arcode/arcode
-
Add the resulting binary to your PATH to run it anywhere:
export PATH="/Users/yourusername/path/to/dist/arcode:$PATH"
Homebrew Installation
To install Arcode via Homebrew:
-
Clone the repository and navigate into the project directory:
git clone https://github.com/alexdredmon/arcode cd arcode
-
Run the build script to generate the standalone executable and Homebrew formula:
./build.sh
-
Move the generated formula into your local Homebrew formula directory:
mkdir -p $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ cp Formula/arcode.rb $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
-
Install the formula:
brew install arcode
Usage
Run Arcode with and pass it your requirements:
arcode "Build feature X"
Or if you're running the .py version, run with one of the following:
./arcode.py "Build feature X"
python arcode.py "Build feature X"
Configuration
Ensure OPENAI_API_KEY
is set as an environment variable and/or update the default value for API_KEY
in .env
/ config.py
.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Contributing
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.