Tools
Py Assembly Line
Claude Plugin to prepare python code in assembly line style using openclaw or user input
Configuration Example
{
"plugins": [
{
"path": "/path/to/py-assembly-line/plugins/py-assembly-line"
}
]
}
README
# py-assembly-line
A Claude Code plugin that provides a complete Python development assembly line — 15 agents and 22 skills for preparing, building, testing, covering, analyzing, and securing Python projects.
## Installation
### Install as a Claude Code plugin
Add the plugin to your project by running:
```bash
claude plugin add /path/to/py-assembly-line
```
Or add it from the GitHub repository:
```bash
claude plugin add imaginary-systems/py-assembly-line
```
This registers the plugin's agents, skills, hooks, and permissions with Claude Code. The plugin is scoped to the project where you install it.
### Manual installation
If you prefer to wire things up by hand, clone the repository and add the plugin path to your project's `.claude/plugins.json`:
```json
{
"plugins": [
{
"path": "/path/to/py-assembly-line/plugins/py-assembly-line"
}
]
}
```
Claude Code reads the `.claude-plugin/plugin.json` manifest at startup to discover agents, skills, and hooks.
### Verify installation
After installing, start a Claude Code session in your project and run:
```
/healthcheck
```
If the plugin is wired correctly, it will run a quick project health check (tests, coverage, analysis).
## Quick start
Once installed, use any skill from the CLI:
```
/prepare # Bootstrap a new or existing Python project with uv
/build # Format, lint, type-check, and build
/test # Run pytest with diagnostics and failure analysis
/cover # Measure coverage, identify gaps, suggest tests
/analyze # Full code quality audit
/security # Comprehensive security review
```
## What's included
### Agents
| Agent | Purpose |
|-------|---------|
| **prepare** | Bootstrap projects with uv, pyproject.toml, venv, dependencies |
| **build** | Format (ruff), lint-fix, type-check (mypy), build sdist/wheel |
| **test** | Run pytest suites with diagnostics and failure analysis |
| **cover** | Measure coverage with pytest-cov, identify gaps |
| **analyze** | Code quality audit: ruff, mypy, radon complexity, bandit |
| **adr** | Create Architecture Decision Records with trade-off analysis |
| **security** | Bandit, pip-audit, secrets detection, OWASP Top 10 review |
| **jwt-access** | JWT/JWS auth: key generation, token issuance, RBAC |
| **eventsource** | Event-sourced systems with fold→decide→evolve Decider DSL |
| **openapi** | Generate OpenAPI 3.1 schemas, integrate Scalar UI |
| **containerize** | Multi-stage Dockerfile, Docker Compose, health checks |
| **critical-review** | Deep architecture assessment and technical debt inventory |
| **adr-track** | Track ADR delivery progress and measure success criteria |
| **test-design** | Test scrutiny: logical fallacies, mutation testing, strategies |
| **git-flow** | Commit composition, merge conflicts, changelog generation |
### Composite skills
| Skill | What it runs |
|-------|-------------|
| **/ci** | prepare → build → test → cover → analyze |
| **/release-check** | build → test → cover (with threshold) → security → analyze |
| **/review** | analyze + security + cover scoped to changed files |
| **/harden** | Full security audit → JWT audit → security-focused analysis |
| **/new-feature** | ADR → eventsource scaffold → test generation → verify |
| **/healthcheck** | Quick project health: formatting, linting, types, tests |
### Hooks
- **format-on-save** — Auto-formats Python files with ruff after every Write/Edit
- **stop-gate** — Validates formatting, linting, type checking, and syntax before allowing conversation end
## What the plugin registers
When installed, py-assembly-line registers the following with Claude Code:
### Permissions
The plugin pre-approves common Python toolchain commands so you aren't prompted on every invocation:
- `uv`, `uvx`, `python`, `ruff`, `mypy`, `pytest`, `pre-commit`
- Git operations: `status`, `diff`, `log`, `fetch`, `add`, `commit`, `push`, `pull`, `branch`, `show`, `shortlog`, `checkout -b`, `worktree`
These are defined in `plugins/py-assembly-line/settings.json`. You can review or override them in your project's `.claude/settings.local.json`.
### Hooks
| Hook | Trigger | What it does |
|------|---------|-------------|
| **format-on-save** | After every `Write` or `Edit` on a Python file | Auto-formats with `ruff format` and `ruff check --fix` |
| **stop-gate** | Before session end | Validates formatting, linting, type checking, and syntax on modified files; blocks stop if issues are found |
Hooks are defined in `plugins/py-assembly-line/hooks/hooks.json` and executed via shell scripts in `plugins/py-assembly-line/scripts/`.
## Tool stack
- [uv](https://github.com/astral-sh/uv) — Package and Python version management
- [ruff](https://github.com/astral-sh/ruff) — Linting and formatting
- [mypy](https://mypy-lang.org/) — Static type checking
- [pytest](https://docs.pytest.org/) — Testing (with pytest-cov for coverage)
- [bandit](https://bandit.readthedocs.io/) — Security scanning
- [radon](https://radon.readthedocs.io/) — Complexity analysis
## License
[MIT](LICENSE)
tools
Comments
Sign in to leave a comment