Skip to main content

AI-powered code generation agent - a fedstew fork of code-puppy

Project description

NewCode

An AI-powered code generation and modification agent for the terminal.

NewCode is a fork of code-puppy by Michael Pfaffenberger, customized for the fedstew workflow. We wanted a clean, professional CLI agent with opinionated defaults, streamlined prompts, and a focus on practical code generation without the playful branding.

What changed from code-puppy

  • Removed all dog/puppy-themed branding and emojis in favor of a clean, professional interface
  • Renamed "Pack" multi-agent system to use functional names (Orchestrator, Tracker, Executor, Reviewer, etc.)
  • Rewrote all agent system prompts for clarity and professionalism
  • Increased output validation retries from 3 to 10 for more robust model interactions
  • Updated configuration keys and display names throughout
  • Published to PyPI as newcode instead of code-puppy

Installation

pip install newcode

Or with uv:

uv pip install newcode

Quick Start

# Run the agent
newcode

# Or use the short alias
nc

On first run, you'll be guided through a setup wizard to configure your API keys and preferences.

Requirements

  • Python 3.11 - 3.13
  • An API key for at least one supported provider (OpenAI, Anthropic, Cerebras, Google Gemini, etc.)

Features

  • Multi-model support: OpenAI, Anthropic Claude, Google Gemini, Cerebras, and more
  • Multi-agent workflows with specialized agents (Orchestrator, Tracker, Executor, Reviewer, QA Checker, Workspace Manager, Merger)
  • File operations: read, write, edit, delete with diff previews and permission prompts
  • Shell command execution with safety controls
  • Browser-based terminal via built-in API server
  • Scheduled task execution with a background daemon
  • Plugin system with lifecycle callbacks and event-based hooks
  • Interactive TUI menus for configuration, model selection, and task management
  • Session auto-save and restore
  • MCP (Model Context Protocol) server support

Configuration

Configuration is stored in ~/.config/code_puppy/puppy.cfg (XDG-compliant paths). The setup wizard handles initial configuration. You can also use CLI commands:

# Inside the agent REPL:
/config          # Show current configuration
/model           # Switch models
/agent           # Switch agents
/scheduler       # Manage scheduled tasks
/colors          # Customize terminal colors

Agents

Agent Purpose
Code Agent General-purpose code generation and modification (default)
Orchestrator Multi-agent workflow coordination
Tracker Code search and navigation
Executor Shell command execution
Reviewer Code review and quality checks
QA Checker Testing and validation
Workspace Manager File system operations
Merger Result integration
Python Reviewer Python-specific code review
QA Expert Testing strategy and quality assurance
Security Auditor Security analysis

Development

# Clone the repo
git clone https://github.com/janfeddersen-wq/new_code.git
cd new_code

# Install with dev dependencies
uv pip install -e ".[dev]"

# Run tests
uv run pytest tests/ -v

# Lint
ruff check .
ruff format --check .

Credits

This project is a fork of code-puppy by Michael Pfaffenberger, licensed under the MIT License. We are grateful for the original work and the open-source foundation it provides.

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

newcode-0.1.1.tar.gz (712.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

newcode-0.1.1-py3-none-any.whl (928.1 kB view details)

Uploaded Python 3

File details

Details for the file newcode-0.1.1.tar.gz.

File metadata

  • Download URL: newcode-0.1.1.tar.gz
  • Upload date:
  • Size: 712.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for newcode-0.1.1.tar.gz
Algorithm Hash digest
SHA256 29cd409c4dec0dbef33f13332d46ad35a3ab9d9ce38d81801bdffbed21922be6
MD5 4de85a72a434cd1c0c93b18b5563de17
BLAKE2b-256 495bed86d28e530f48935eada1bb982d1ec19b6064f6ff629c19793397670c95

See more details on using hashes here.

Provenance

The following attestation bundles were made for newcode-0.1.1.tar.gz:

Publisher: workflow.yml on janfeddersen-wq/new_code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file newcode-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: newcode-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 928.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for newcode-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 11fb16d05fe9faa52a84a6bb93b3f4ca379ff430565620f1fe0ba46ef89b4c6c
MD5 b5840b04ea896da1a142ce0a96e08790
BLAKE2b-256 594c02804c05107c89bed98ce214c4e8e1fd24f2062eedbf69b8b8f42d7f2e85

See more details on using hashes here.

Provenance

The following attestation bundles were made for newcode-0.1.1-py3-none-any.whl:

Publisher: workflow.yml on janfeddersen-wq/new_code

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page