← Back to Plugins
Tools

Py Assembly Line

imaginary-systems By imaginary-systems 👁 32 views ▲ 0 votes

Claude Plugin to prepare python code in assembly line style using openclaw or user input

GitHub

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

Loading comments...