johns-os is a public Claude Code and Codex plugin marketplace for practical software delivery, business development, and AI-assisted repository work.
Website: weblifter.com.au Repository: github.com/johnoconnor0/johns-os
| Plugin | Version | Role |
|---|---|---|
engineering-lifecycle |
0.9.0 | Structured discovery, requirements, UX, design systems, architecture, data modelling, API contracts, implementation, review, testing, release, and repository hygiene. Also issue surfacing and provider-agnostic tracker sync. |
business-development |
0.2.0 | Interview-first Service Outline generation and updating. |
ai-utilities |
0.2.0 | Claude Code extension authoring/review, and a plan-derived completion audit with its resolver. |
The quickest route. Published to npm as johns-os, so it runs without installing anything first:
npx johns-os installOther commands:
npx johns-os listnpx johns-os updatenpx johns-os initnpx johns-os doctorinstall accepts specific plugin names and a --scope user|project|local flag (default user). init creates the Engineering Lifecycle workspace in the current repository, and doctor reports where the running copy came from and whether it is stale. Requires Node.js 18 or newer. See cli/README.md.
Install it globally instead if you prefer:
npm install -g johns-osEach release is published from CI with build provenance, so the package on the registry is verifiable against the commit and workflow that built it. The attestation for whichever version you installed is linked from the package page, and verified locally with:
npm audit signatures/plugin marketplace add johnoconnor0/johns-os
/plugin install engineering-lifecycle@johns-os
Install business-development or ai-utilities by substituting the plugin name. For local development:
/plugin marketplace add ./johns-os
The Codex marketplace manifests are marketplace.json and .agents/plugins/marketplace.json. Use the marketplace discovery flow supported by your Codex installation against a clone of this repository.
| Surface | Location | Role |
|---|---|---|
| Claude Code marketplace | .claude-plugin/marketplace.json |
Authoritative Claude marketplace metadata. |
| Codex marketplace | marketplace.json, .agents/plugins/marketplace.json |
Codex discovery metadata. |
| Local catalog | marketplace/catalog.json, marketplace/plugins/ |
Deterministic repository discovery and validation. |
| Active plugins | engineering-lifecycle/, business-development/, ai-utilities/ |
Self-contained plugin source and manifests. |
| Installer CLI | cli/ |
Source of the johns-os npm package, published from publish-cli.yml with build provenance. |
| Repository tooling | scripts/, tests/ |
Cross-surface validation and its test suite. |
| Continuous integration | .github/workflows/ |
ci.yml (lint, format, validation, suites), e2e.yml (browser coverage), publish-cli.yml. |
| Public docs | CONTRIBUTING.md, SECURITY.md, SUPPORT.md |
Contribution, safety, and support guidance. |
| Generated lifecycle state | .project/ |
Local-only state; ignored and not required for installation. |
The three marketplace surfaces are deliberately maintained side by side rather than generated from a single file: Claude Code and Codex do not accept identical metadata, and the local catalog exists so discovery and validation stay deterministic without either vendor's tooling. Cross-surface consistency is enforced by scripts/johns-os-marketplace.py validate, which runs in CI.
Requires Python 3.12 or newer, Git, and Node.js 18 or newer for the CLI and E2E suites.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements-dev.txt
pre-commit install --install-hooksOn macOS/Linux, activate the environment with source .venv/bin/activate.
Run the complete deterministic suite from the repository root:
pre-commit run --all-filespython scripts/validate-repo.pyIndividual checks:
ruff check .ruff format --check .yamllint .python scripts/johns-os-marketplace.py validatepython engineering-lifecycle/bin/eng-life validatepython -m unittest discover -s testspython -m unittest discover -s engineering-lifecycle/testspython -m compileall -q .The deterministic suite does not require API keys or external services. Optional live council adapters are configured through local environment variables described in the repository's env template; never commit real values.
Browser coverage for the generated project dashboard lives in engineering-lifecycle/tests/e2e/ and runs separately, since it needs a browser:
cd engineering-lifecycle/tests/e2e && npm install && npm run test:install && npm run fixture && npm testCI runs on Ubuntu and Windows across Python 3.12 and 3.13, and main is protected: changes land through a pull request with those checks green. Read CONTRIBUTING.md before opening one.
This repository is released under the MIT licence. See LICENSE.