Skip to content

Commit 2ddd70b

Browse files
committed
Rename package to cpex-rate-limiter and update CLAUDE.md (#4)
- Rename PyPI package from cpex-rate-limiter-plugin to cpex-rate-limiter - Expand CLAUDE.md with repository structure, build/test commands, and coding conventions Signed-off-by: Jonathan Springer <jps@s390x.com> Signed-off-by: lucarlig <luca.carlig@ibm.com>
1 parent fb81efc commit 2ddd70b

2 files changed

Lines changed: 29 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,31 @@
22

33
## Git
44

5-
- All commits must be signed.
5+
- All commits must include a DCO sign-off line. Always use `git commit -s` (or pass `-s` when committing).
6+
7+
## Repository Structure
8+
9+
This is a monorepo of standalone plugin packages for the ContextForge Plugin Extensibility (CPEX) Framework. Each plugin lives in its own top-level directory with independent build configuration.
10+
11+
- Plugins are Rust+Python (PyO3/maturin) or pure Python.
12+
- Each plugin has its own `pyproject.toml`, `Cargo.toml`, `Makefile`, and `tests/`.
13+
- Package names follow the pattern `cpex-<plugin-name>` (e.g., `cpex-rate-limiter`).
14+
- `mcpgateway` is a runtime dependency provided by the host gateway — never declare it in `pyproject.toml`.
15+
16+
## Build & Test
17+
18+
From within a plugin directory (e.g., `rate_limiter/`):
19+
20+
```bash
21+
uv sync --dev # Install Python dependencies
22+
make install # Build Rust extension and install into venv
23+
make test-all # Run Rust + Python tests
24+
make check-all # fmt-check + clippy + Rust tests
25+
```
26+
27+
## Conventions
28+
29+
- Python: 3.11+, type hints, snake_case, Pydantic for config validation.
30+
- Rust: stable toolchain, `cargo fmt`, `clippy -- -D warnings`.
31+
- All source files must include Apache-2.0 SPDX license headers.
32+
- Versions are defined in `Cargo.toml` and pulled dynamically by maturin (`dynamic = ["version"]`).

rate_limiter/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ requires = ["maturin>=1.4,<2.0"]
33
build-backend = "maturin"
44

55
[project]
6-
name = "cpex-rate-limiter-plugin"
6+
name = "cpex-rate-limiter"
77
dynamic = ["version"]
88
description = "High-performance rate limiter engine for MCP Gateway"
99
authors = [{ name = "ContextForge Contributors" }]

0 commit comments

Comments
 (0)