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.
Source Distribution
Built Distribution
File details
Details for the file arcodeai-0.1.2.tar.gz
.
File metadata
- Download URL: arcodeai-0.1.2.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c973a5f302b9fa3bde8d8bd03c01253444ac86070dd62747b052299bc6638dd8 |
|
MD5 | d04688790cefb841d00a6bf1037a2566 |
|
BLAKE2b-256 | e622d4fcfb50495bdac21b325852d02420bf59d3ddb4bf40be632282f8fe0000 |
File details
Details for the file arcodeai-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: arcodeai-0.1.2-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5be0d11647a136e68958e595dc4b3972d51101c5ad7d6c4cc20954ef1c43134b |
|
MD5 | cb55e51199f9d73d135b4d90910d036e |
|
BLAKE2b-256 | 5a2501c9fc7c0ffecd6619cc37a289b7c7e089c9bea787097602ebc61d705020 |