Metadata-Version: 2.5
Name: code-puppy-core-plugins
Version: 0.0.2
Summary: Official plugin bundle for Code Puppy
Project-URL: Repository, https://github.com/mpfaffenberger/code_puppy_core_plugins
Project-URL: Homepage, https://github.com/mpfaffenberger/code_puppy_core_plugins
Author: Michael Pfaffenberger
License: MIT
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.15,>=3.11
Description-Content-Type: text/markdown

# Code Puppy Core Plugins

Official plugin bundle for [Code Puppy](https://github.com/mpfaffenberger/code_puppy).

This distribution contains Code Puppy's builtin feature plugins. The core runtime
discovers them through the `code_puppy.plugins` Python entry-point group, so the
runtime remains independent of plugin implementation modules.

## Installation

Normal users do not need to install this package directly: `code-puppy` depends
on it and installs a compatible version automatically.

For development:

```bash
git clone https://github.com/mpfaffenberger/code_puppy.git

git clone https://github.com/mpfaffenberger/code_puppy_core_plugins.git
cd code_puppy_core_plugins
uv sync
uv pip install -e ../code_puppy
uv pip install -e .
uv run pytest
```

## Architecture

Each plugin is a package under `code_puppy_core_plugins/` with one
`register_callbacks.py`. Package metadata advertises those modules as entry
points. Code Puppy loads the entry points as its builtin tier, followed by user
plugins and trusted project plugins.

The package deliberately does not depend on `code-puppy` in its own metadata.
`code-puppy` depends on this bundle; adding the reverse edge would create a
packaging dependency cycle. Plugin CI installs the core runtime separately.

## Releases

Pushes to `main` run lint and tests, bump the patch version, build, publish to
PyPI as `code-puppy-core-plugins`, and push the version tag. Configure the
`PYPI_API_TOKEN` repository secret before the first release.

## License

MIT
