Skip to main content

arcode

arcode logo

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

Demo Animation

Provide your requirements:

Demo 1

Review and approve changes:

Demo 2

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

  1. Ensure Homebrew is installed
  2. Tap alexdredmon/arcode
    brew tap alexdredmon/arcode
    
  3. Install arcode
    brew install arcode
    

Development Setup

  1. Clone the repository:

    git clone https://github.com/alexdredmon/arcode
    cd arcode
    
  2. Create & activate virtual environment:

    virtualenv venv
    source venv/bin/activate
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. 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

  1. Build a standalone executable via:

    ./build.sh
    
  2. A binary will be created in ./dist/arcode/arcode

  3. 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:

  1. Clone the repository and navigate into the project directory:

    git clone https://github.com/alexdredmon/arcode
    cd arcode
    
  2. Run the build script to generate the standalone executable and Homebrew formula:

    ./build.sh
    
  3. 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/
    
  4. 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)

Source distribution for arcodeai 0.1.2
File Size Uploaded
arcodeai-0.1.2.tar.gz 2.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for arcodeai 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page