AI-powered code generation agent platform
Project description
NewCode
NewCode is an open-source, terminal-first AI coding agent for generating, editing, and reviewing code directly from your CLI.
It is maintained as a fork of code-puppy, with a more professional default UX and workflow-focused agent setup.
Why NewCode
NewCode is designed for practical software workflows in the terminal: inspect files, make edits, run commands, and iterate quickly with AI assistance.
Features
- Multi-provider model support (including OpenAI, Anthropic, Gemini, Cerebras, and compatible OpenAI-style endpoints)
- Terminal-first coding workflow (read/search/edit/delete files and run commands)
- Built-in agent system with a default coding agent and optional specialist workflows
- MCP (Model Context Protocol) integration and server management
- Interactive command-driven UX for model, agent, and settings management
- Session autosave/restore and scheduler utilities
- Plugin/callback extensibility hooks
Quick start
1) Install
pip install newcode
Or with uv:
uv pip install newcode
2) Launch
newcode
Short alias:
nc
On first run, NewCode starts onboarding to help configure API keys and defaults.
3) First useful commands
/config # Show current configuration
/model # Select or switch model
/agent # Select or switch agent
/scheduler # Manage scheduled tasks
/colors # Customize terminal UI colors
/api # Manage built-in API server (start|stop|status)
Requirements
- Python
>=3.11,<3.14 - At least one provider/API key for a supported model backend
Configuration
NewCode uses a legacy-compatible config filename: puppy.cfg.
- Default path:
~/.newcode/puppy.cfg - With XDG variables:
$XDG_CONFIG_HOME/newcode/puppy.cfg
Development
git clone https://github.com/janfeddersen-wq/new_code.git
cd new_code
uv pip install -e ".[dev]"
Testing
Run the test suite:
uv run pytest tests/ -v
Run linting and formatting checks:
ruff check .
ruff format --check .
Contributing
Contributions are welcome.
- Open an issue to discuss bugs, ideas, or improvements.
- Submit a pull request with a clear scope and rationale.
- Keep changes focused and include tests when applicable.
License
MIT — see LICENSE.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file newcode-0.2.5.tar.gz.
File metadata
- Download URL: newcode-0.2.5.tar.gz
- Upload date:
- Size: 709.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
952458bb5612b7bb14c2a259ce94d25a9ddb29fd031562ad990806a0772907cb
|
|
| MD5 |
3a29a0311e282ee1ac7a4421bb5a0f4f
|
|
| BLAKE2b-256 |
1ec558b535b6ecbc65bb622cb2cc1a0f435a6974cf59cc48c8920acb2006b702
|
Provenance
The following attestation bundles were made for newcode-0.2.5.tar.gz:
Publisher:
workflow.yml on janfeddersen-wq/new_code
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
newcode-0.2.5.tar.gz -
Subject digest:
952458bb5612b7bb14c2a259ce94d25a9ddb29fd031562ad990806a0772907cb - Sigstore transparency entry: 1006411514
- Sigstore integration time:
-
Permalink:
janfeddersen-wq/new_code@0fe7313cd3f5c53e1d1f2fa21138c82fd7cc41d9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/janfeddersen-wq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@0fe7313cd3f5c53e1d1f2fa21138c82fd7cc41d9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file newcode-0.2.5-py3-none-any.whl.
File metadata
- Download URL: newcode-0.2.5-py3-none-any.whl
- Upload date:
- Size: 921.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5b109a35b8c0ac068119a38e55fd94a06a8ed56a088f51c19297cad69776ce4
|
|
| MD5 |
62556610ca0700de8c2f0cc09b01fa14
|
|
| BLAKE2b-256 |
225d5a07f20fb075bed7589704bc1ec97be51b34215d91cf62e8614e97a2658f
|
Provenance
The following attestation bundles were made for newcode-0.2.5-py3-none-any.whl:
Publisher:
workflow.yml on janfeddersen-wq/new_code
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
newcode-0.2.5-py3-none-any.whl -
Subject digest:
b5b109a35b8c0ac068119a38e55fd94a06a8ed56a088f51c19297cad69776ce4 - Sigstore transparency entry: 1006411516
- Sigstore integration time:
-
Permalink:
janfeddersen-wq/new_code@0fe7313cd3f5c53e1d1f2fa21138c82fd7cc41d9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/janfeddersen-wq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@0fe7313cd3f5c53e1d1f2fa21138c82fd7cc41d9 -
Trigger Event:
push
-
Statement type: