# BW Plugins

Bowden Works WordPress plugins — development repo.

## What this is

This is the **dev site** and **source of truth** for Bowden Works' WordPress plugins. Each plugin lives under `wp-content/plugins/bw-*/`, with its own docs, changelog, and CLAUDE.md.

- **Dev site:** https://bw-plugins.demoing.info (behind demoing-auth)
- **Distribution host:** https://plugins.bowden.works (public, where client sites fetch updates)

## Plugins

| Slug | Display Name | Version | Status |
|---|---|---|---|
| _(none yet — first plugin scaffolds here via `tools/new-plugin.sh`)_ | | | |

## Tools

Shared scripts in `tools/`:

| Script | Purpose |
|---|---|
| `new-plugin.sh bw-<slug> "BW <Name>"` | Scaffold a new plugin |
| `bump-version.sh bw-<slug> <ver>` | Bump version across header/constant/CHANGELOG/CLAUDE |
| `test-plugin.sh bw-<slug>` | Syntax + header + consistency check |
| `security-scan.sh bw-<slug>` | Grep-based security scan |
| `cleanup-scan.sh bw-<slug>` | Debug cruft detection (fails release on error) |
| `release.sh bw-<slug> <ver>` | Full release pipeline (test → scan → zip → publish) |

## Cross-plugin docs

- [CLAUDE.md](CLAUDE.md) — Claude meta-process
- [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) — dev workflow
- [docs/RELEASE-PROCESS.md](docs/RELEASE-PROCESS.md) — full release guide
- [docs/SECURITY.md](docs/SECURITY.md) — security policy
- [docs/NEW-PLUGIN-GUIDE.md](docs/NEW-PLUGIN-GUIDE.md) — how to start a new plugin
- [docs/CLAUDE-STANDARDS.md](docs/CLAUDE-STANDARDS.md) — Claude coding rules

## Not yet

- Git (planned for Phase 2+; filesystem snapshots cover history for now)
- phpunit / CI (planned after first plugin is stable)
- Marketplace (WP.org) submission
- Commercial licensing

## Architecture

Two WordPress sites:

1. **This repo** (`bw-plugins.demoing.info`) — where plugins are built.
2. **[bw-plugins-dist](../bw-plugins-dist/)** (`plugins.bowden.works`) — where plugins are published to client sites. Contains a custom WP plugin (`bw-update-server`) that serves update manifests via REST.

`tools/release.sh` moves code from the dev site to the dist site.
