pekral / ai-olympus
AI Olympus — a Composer plugin for PHP and Laravel projects that installs Claude Code and Codex rules, agent skills, and custom agents
Package info
Type:composer-plugin
pkg:composer/pekral/ai-olympus
Requires
- php: ^8.4
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.11.1
- ergebnis/composer-normalize: ^2.56.0
- laravel/pint: ^1.32.1
- pekral/phpcs-rules: dev-master
- pekral/phpstan-rules: dev-master
- pekral/rector-rules: ^0.7
- pestphp/pest: ^5.3.5
- pestphp/pest-plugin: ^5.0
- pestphp/pest-plugin-type-coverage: ^5.1.0
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan: ^2.3.5
- phpstan/phpstan-deprecation-rules: ^2.0.5
- phpstan/phpstan-mockery: ^2.0
- phpstan/phpstan-phpunit: ^2.1.1
- rector/rector: ^2.8.4
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^4.0.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 0.4
- 0.3.1
- 0.3
- 0.2.2
- 0.2.1
- 0.2
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1
- dev-feat/432-agent-voice-v2
- dev-feat/409-machine-wide-heavy-lock-v5
- dev-feat/431-do-it-work-queue-v2
- dev-feat/435-architecture-review-principles
- dev-feat/409-machine-wide-heavy-lock-v4
- dev-feat/422-batch-prepare-issue-for-merge-v2
- dev-feat/424-real-problem-api-commitments-test-v2
- dev-feat/422-batch-prepare-issue-for-merge
- dev-feat/432-agent-voice
- dev-feat/431-do-it-work-queue
- dev-feat/424-real-problem-api-commitments-test
- dev-petr-composer
- dev-feat/420-converged-review-counts-as-approval
- dev-feat/379-splinter-security-reviewer-v4
- dev-feat/409-machine-wide-heavy-lock-v3
- dev-feat/409-machine-wide-heavy-lock-v2
- dev-feat/379-splinter-security-reviewer-v3
- dev-feat/379-splinter-security-reviewer-v2
- dev-feat/409-machine-wide-heavy-lock
- dev-feat/406-merge-github-pr-fast
- dev-feat/379-splinter-security-reviewer
- dev-feat/400-interactive-testing-close-tab-scripted-cleanup
- dev-feat/372-critical-only-memory-v4
- dev-feat/372-critical-only-memory-v3
- dev-feat/372-critical-only-memory-v2
- dev-feat/378-simplification-audit-diff-mode
- dev-fix/376-audit-write-at-action-time
- dev-feat/372-critical-only-memory
- dev-feat/343-code-review-memory-sqlite
- dev-feat/369-krang-parallel-from-memory-and-live-runs
- dev-feat/368-review-proposal-before-implementation-v2
- dev-feat/368-review-proposal-before-implementation
- dev-feat/354-interactive-testing-local-data
- dev-feat/336-git-history-exposure-audit
- dev-feat/casey-tldr-explain-334-v2
- dev-feat/casey-tldr-explain-334
- dev-feat/casey-tinker-tldr-334
- dev-feat/review-only-carry-forward-333-v2
- dev-feat/review-only-carry-forward-333
- dev-feat/settle-open-points-330
- dev-feat/agents-clean-up-after-task-v3
- dev-feat/agents-clean-up-after-task-v2
- dev-feat/agents-clean-up-after-task
- dev-feat/public-repo-waits-for-ci
- dev-fix/agents-never-read-env
- dev-feat/splinter-security-agent
- dev-feat/dry-check-evidence
- dev-fix/229-store-dismissal-comment-url
- dev-refactor/220-metrics-entry-dto
- dev-feat/267-external-skill-sync
- dev-fix/graph-run-directory-250
- dev-feat/check-cr-header-lines-238
- dev-feat/cr-security-assessment-236
- dev-feat/review-quality-gate
- dev-fix/jira-attachment-site-host
- dev-feat/jira-comment-attachments-and-neutral-refactoring
- dev-feat/refactoring-preserves-bugs
- dev-feat/shared-quality-gate-records
- dev-feat/jira-impact-after-deployment
- dev-feat/github-issue-triage-backlog-sweep
- dev-codex/tmnt-agent-identities
- dev-codex/add-argus-avatar
- dev-feat/social-preview-redesign
- dev-docs/verify-launch-article-claims
- dev-docs/memory-ai-memory-not-planned
This package is auto-updated.
Last update: 2026-11-12 18:43:52 UTC
README
AI Olympus
AI Olympus is a Composer plugin that gives PHP and Laravel teams shared coding-standard rules, 67 reusable skills, and nine specialist agents for Claude Code and Codex. Its workflows cover issue implementation, Pest tests, code and security review, acceptance testing, and tracker reporting. The skills, agents, and commands are also published as a Claude Code plugin for projects without Composer, without the rules.
Requirements
- PHP 8.4 or newer and Composer 2, for the Composer installer
- Claude Code or Codex, to run the workflows; GitHub workflows also need an authenticated
ghCLI - Optional: the
pdo_sqliteextension with FTS5, for the code-review memory; without it the agents continue without memory
CI installs the package into a clean Composer project on PHP 8.4, 8.5, and 8.6 and checks that the Claude Code and Codex files are written. It does not run the agents inside Claude Code or Codex, so agent availability and permissions still depend on your agent host. The Claude Code plugin channel needs no PHP; CI checks its manifests but does not install it into Claude Code.
Installation
From your Composer project root:
composer require pekral/ai-olympus:0.4 --dev vendor/bin/ai-olympus install --force
Important
install normally copies only missing files; security rule files are refreshed even without --force. --force also replaces the other installed rules, skills, and agents, so save local customizations first. Neither root instruction file (CLAUDE.md, AGENTS.md) is overwritten.
During the agent rename, the installer removes verified, unchanged copies of the old definitions once their replacements are installed. Edited old definitions and custom agents are preserved. See the old-to-new name mapping. Use --prune only after reviewing orphaned files: it also removes custom files absent from the package.
The constraint pins release 0.4; commit your project's composer.lock to keep installations reproducible. Composer may ask whether you trust the package as a plugin; see the plugin trust model.
The installer writes, for Claude Code and Codex:
.claude/rulesand.codex/rules— the rule library.claude/skillsand.agents/skills— the skills, in the project only.claude/agents,.codex/agents, and.codex/agent-instructions— the nine agents and their Codex adapters.claude/commands— the four slash commandsAGENTS.mdin the project root, unless one already exists
--global additionally writes the skills to ~/.claude/skills and ~/.agents/skills. Every other switch, the installer flow, and the distribution contents are in docs/installation.md.
Claude Code plugin marketplace (no Composer)
/plugin marketplace add pekral/ai-olympus
/plugin install ai-olympus@ai-olympus
This loads all 67 skills, the nine agents, and the four commands into Claude Code only. It does not load the rules: Claude Code reads neither rules/ nor a CLAUDE.md out of a plugin directory. The opt-in security switches stay bound to the Composer installer, and a plugin install writes nothing to .claude/settings.local.json. See which path to choose.
Configuration
Nothing has to be configured before the first run; restart the agent session after installation.
The installer never generates a CLAUDE.md, and it keeps an existing CLAUDE.md and AGENTS.md. Without a CLAUDE.md, Claude Code 2.1.277+ uses AGENTS.md as its project instructions (except on Bedrock, Vertex, and Foundry). If your project already had an AGENTS.md, merge the Codex integration section into it.
Automatic installation on composer install and composer update is off by default; extra.ai-olympus.auto-install turns it on, and then every install and update runs install --force. The same extra.ai-olympus object is the project manifest, which tells the workflows how your project runs its quality gate and coverage; every key is optional, and an absent key keeps the built-in behaviour. Your own CLAUDE.md, AGENTS.md, .ai/rules/**, and the manifest take precedence over the packaged rules; only the security floor stays fixed.
Installation leaves global Claude settings unchanged by default. The opt-in switches, such as --disable-co-author-attribution, --allow-subagent-writes, and --deny-network-bash, configure Claude Code only and grant Codex no permissions; see the trust model.
Quick start
In Claude Code, start the session as krang, so the session itself orchestrates and dispatches the specialists:
claude --agent krang "resolve https://github.com/owner/repo/issues/123"
A command works in any session, because the session that receives it holds the krang role itself:
/prepare-issue-for-merge https://github.com/owner/repo/issues/123
In Codex, ask the root session to take the krang role, so it spawns the specialists itself:
Follow .codex/agent-instructions/krang.md as krang and resolve https://github.com/owner/repo/issues/123
rules/compound-engineering/orchestration.md Starting the orchestrator — the top-level role and the nested hand-over explains why krang is not started as a subagent.
krang routes implementation to donatello, each code review round to leonardo, splinter (an independent security view), raphael (interactive testing, when the change is user-visible), and casey (an advisory database report) in parallel, a page redesign to michelangelo before anything is built, context retrieval to shredder when the relevance gate asks for it, and the final report to april. Merging stays a separate, explicit step.
What it does
| Layer | What it is | Installed into |
|---|---|---|
| Rules | Project standards for PHP, Laravel, security, SQL, APIs, tests, git, and code review | .claude/rules, .codex/rules |
| Skills | Reusable workflows, from resolve-issue to security-review |
.claude/skills, .agents/skills |
| Agents | Shared role definitions with Codex TOML adapters | .claude/agents, .codex/agents, .codex/agent-instructions |
| Commands | /prepare-issue-for-merge, /redesign-page, /report-code-review, /test-assignment |
.claude/commands |
The Markdown files in .codex/rules are an instruction library, not native Codex command-approval rules: the root AGENTS.md tells Codex which of them to read. Codex has no user-defined slash commands, so it reaches each command's workflow through the skill the command delegates to, such as $verify-merge-readiness, $deliver-page-redesign, or $test-assignment.
The workflows require tests for the changed behaviour and zero Critical and no undeferred Moderate review findings before merge. When your project installs laravel/pao, the rules read its compact JSON output of Pest, PHPUnit, Paratest, PHPStan, Rector, and Artisan, and trust only the process exit code.
Agents
The roster is named after Teenage Mutant Ninja Turtles characters. Each agent starts on its default model tier and escalates only on a recorded reason; the values come from agents/*.md and codex/agents/*.toml.
Role boundaries, the handoff contract, and the avatar assets are in docs/agents.md. Running a single specialist, the four command workflows, and how agents hand work over are in docs/workflows.md.
Adaptive routing — how much pipeline a task gets
Every krang run classifies the task with skills/_shared/classify-risk.sh, a deterministic shell script, and picks a FAST, STANDARD, or CRITICAL pipeline. A sensitive area such as authentication, secrets, payments, or migrations forces CRITICAL, while tests, static analysis, CI, and the pre-merge quality gate run at every tier. The tiers are roles rather than model names, so Codex / OpenAI sessions route identically. Ask for thorough mode (--thorough) to run the complete pipeline regardless of the classification. See Adaptive routing for the tier table and overrides.
Code-review memory
Resolved Critical code-review findings are kept in a per-user, git-ignored SQLite database (.claude/run/code-review-memory.sqlite, or .codex/run/ under Codex), which krang reads only when a review opens a Critical finding. krang is the only writer: it adds one short TL;DR entry after a human approved it. The installer never creates or deletes it.
vendor/bin/ai-olympus memory migrate
memory migrate moves the entries of docs/memory/PROJECT_MEMORY.md into the database once. Exit 0 is a result (possibly empty), 1 a usage error, 2 an unavailable memory. The memory add and memory query subcommands, stats for routing metrics, and graph for the repository graph are described in docs/workflows.md.
Documentation
docs/installation.md— installer flow, every CLI switch, auto-install, the project manifest, and where skills are installeddocs/agents.md— the agent roster, capability model, handoff contract, and troubleshootingdocs/workflows.md— command workflows, adaptive routing, metrics, the repository graph, and the code-review memorydocs/skills.md— the catalog of all 67 skillsdocs/rules.md— the 33 rule files, grouped by scope
Testing
From a checkout of this repository, install the development dependencies with composer install, then:
vendor/bin/pest tests # run the test suite composer test:coverage # require 100% coverage (PCOV) composer analyse # PHPStan composer security-audit # dependency audit
composer build is the full pre-merge gate: it runs the installer with --force --prune, the automatic fixers, then every check. It changes files, so use it at the merge boundary, not as a read-only check. Its skill linter also needs Node.js and npm.
Upgrading
Review the changelog before changing the version constraint, save local customizations, and refresh the installed files with --force --prune after the update. During 0.x, a new minor version may change workflow behaviour or installer options. A project upgraded from a release that always installed skills globally clears the old home copies once with vendor/bin/ai-olympus install --prune-global, which deletes them by name, immediately and without a backup. See versions and upgrades and where skills are installed.
Changelog
See CHANGELOG.
Contributing
See CONTRIBUTING for the quality gate, how to add or change a skill, and the commit and pull request conventions. This project follows the Contributor Covenant Code of Conduct. Ask questions in the Discussions Q&A and keep the issue tracker for bugs and feature requests.
Security
See the security policy for the plugin trust model, the installer security switches, and how to report a vulnerability privately.
Credits
Created by Petr Král.
License
The package code is licensed under the MIT License; see LICENSE. The banner artwork is distributed under CC BY-SA 4.0; artwork sources, licences, and trademarks are listed in assets/ATTRIBUTION.md.