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/arcodebrew 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.
Metadata
Release files for arcodeai 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arcodeai-0.1.2.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arcodeai-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.2 MB
Release files / arcodeai-0.1.2.tar.gz
| Download URL | arcodeai-0.1.2.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c973a5f302b9fa3bde8d8bd03c01253444ac86070dd62747b052299bc6638dd8
|
|
BLAKE2b-256 checksum How to use checksums |
e622d4fcfb50495bdac21b325852d02420bf59d3ddb4bf40be632282f8fe0000
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.8
|
Release files / arcodeai-0.1.2-py3-none-any.whl
| Download URL | arcodeai-0.1.2-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5be0d11647a136e68958e595dc4b3972d51101c5ad7d6c4cc20954ef1c43134b
|
|
BLAKE2b-256 checksum How to use checksums |
5a2501c9fc7c0ffecd6619cc37a289b7c7e089c9bea787097602ebc61d705020
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.10.8
|