Skip to main content

code-it

A terminal-based, OpenAI-compatible coding agent that reads, edits, and runs code in your project through a ReAct-style tool-calling loop with approvals, hooks, MCP, and session persistence.

Install

Prerequisites: Python 3.13+ and uv.

Install dependencies into the project-managed environment:

uv sync

Build distributable artifacts:

uv build

This creates:

  • dist/code_it-<version>-py3-none-any.whl
  • dist/code_it-<version>.tar.gz

First Run

After syncing the project environment, configure credentials:

uv run code-it --configure

This prompts for:

  • your API key
  • an optional base URL for any OpenAI-compatible provider

The values are saved in your user config file at:

  • Windows: %APPDATA%\code-it\config.toml
  • macOS: ~/Library/Application Support/code-it/config.toml
  • Linux: ~/.config/code-it/config.toml

You can still use a project-local .env file or API_KEY and BASE_URL environment variables, but they are no longer required for packaged installs.

Usage

Run interactively:

uv run code-it

Run a single prompt:

uv run code-it "Summarize what this repo does"

Target a specific working directory:

uv run code-it --cwd /path/to/project "Find and fix the failing test"

Update saved credentials later:

uv run code-it --configure

Inside an interactive session:

[user]> /setup                  # update saved API credentials
[user]> /tools                  # list available tools
[user]> /mcp                    # list connected MCP servers
[user]> /approval auto-edit     # change the approval policy
[user]> /save                   # save the current session
[user]> /sessions               # list saved sessions
[user]> /resume <session_id>    # resume a saved session
[user]> /checkpoint             # snapshot the current session
[user]> /stats                  # show token/turn usage stats
[user]> /exit                   # quit

Project Config

Project-level overrides still live in .ai-agent/config.toml.

You can also add:

  • AGENT.MD for project-specific developer instructions
  • .ai-agent/skills/<skill-name>/SKILL.md for reusable skills
  • .ai-agent/tools/*.py for custom tools

Publish Checklist

  1. Bump version in pyproject.toml.
  2. Run tests.
  3. Build the wheel and sdist with uv build --no-sources.
  4. Test the CLI with uv run code-it --configure.
  5. Upload to TestPyPI.
  6. Verify both uv run code-it --configure and uv run code-it work.
  7. Publish to PyPI.

Publish With uv

Recommended local release flow:

uv sync --frozen
uv run python -m unittest tests.test_config_loader tests.test_skills
uv build --no-sources
uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py
uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py

TestPyPI publish:

$env:UV_PUBLISH_TOKEN="pypi-***"
uv publish --publish-url https://test.pypi.org/legacy/

PyPI publish:

$env:UV_PUBLISH_TOKEN="pypi-***"
uv publish

For the first release, verify the package name on PyPI before publishing. If code-it is already taken, rename project.name in pyproject.toml before uploading.

Trusted Publishing

A GitHub Actions release workflow is included at .github/workflows/publish.yml.

To use it:

  1. Create the project on PyPI.
  2. In the PyPI project settings, add a Trusted Publisher for this GitHub repository.
  3. In GitHub, create an environment named pypi.
  4. Push a version tag like v0.1.0.

That workflow will:

  • sync with uv
  • run the unit tests
  • build the wheel and source distribution
  • smoke-test both artifacts
  • publish with uv publish

Why uv Instead of pip install -e .

This repository already carries a uv.lock, so uv sync is the safer default for development. It avoids polluting a shared Python installation and reduces resolver conflicts with unrelated packages already installed on your machine.

License

Distributed under the MIT License.

Metadata

Release files for codenaut 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codenaut 0.1.0
File Size Uploaded Provenance Actions
codenaut-0.1.0.tar.gz 73.0 kB Without provenance Details for codenaut-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for codenaut 0.1.0
File Interpreter ABI Platform Actions
codenaut-0.1.0-py3-none-any.whl Python 3 none any Details for codenaut-0.1.0-py3-none-any.whl

Total release size: 153.0 kB

Release files / codenaut-0.1.0.tar.gz

Download URL codenaut-0.1.0.tar.gz
Size 73.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3620fb7158170347b78d57f0aa3a555965e0f1b3dbc0c11514a92bea823614ac
BLAKE2b-256 checksum
How to use checksums
b0a40960abd57a0c7017570c2324477799df2f3fddc34c103e01b917e0b98d79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.11

Release files / codenaut-0.1.0-py3-none-any.whl

Download URL codenaut-0.1.0-py3-none-any.whl
Size 80.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c9248c5d740e0c423f87e6147cd2f68be526277dd29d78f91cb7c42e5b98e682
BLAKE2b-256 checksum
How to use checksums
409d37e4c7bb086865e8a17c1e9bb8cd0cddb7c5dfd0c6b382b9aa68beb2ae2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.11

Security for codenaut 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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