pantheon-opencode 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +37 -0
- package/LICENSE +21 -0
- package/README.md +1013 -0
- package/bin/pantheon-init.mjs +183 -0
- package/commands/pantheon-audit.md +25 -0
- package/commands/pantheon-bg.md +10 -0
- package/commands/pantheon-consolidate.md +11 -0
- package/commands/pantheon-deepwork.md +128 -0
- package/commands/pantheon-doc.md +10 -0
- package/commands/pantheon-focus.md +9 -0
- package/commands/pantheon-forget.md +58 -0
- package/commands/pantheon-hash.md +11 -0
- package/commands/pantheon-optimize.md +79 -0
- package/commands/pantheon-remember.md +44 -0
- package/commands/pantheon-search.md +48 -0
- package/commands/pantheon-status.md +71 -0
- package/commands/pantheon-todo.md +11 -0
- package/commands/pantheon.md +49 -0
- package/docs/AGENT-MCP.md +194 -0
- package/docs/ARCHITECTURE.md +384 -0
- package/docs/BRANCH-PROTECTION.md +142 -0
- package/docs/INDEX.md +81 -0
- package/docs/INSTALLATION.md +217 -0
- package/docs/MCP.md +238 -0
- package/docs/MEMORY.md +471 -0
- package/docs/MIGRATION-MEMORY-BANK.md +139 -0
- package/docs/PLATFORMS.md +5 -0
- package/docs/QUICKSTART.md +49 -0
- package/docs/README.md +18 -0
- package/docs/RELEASING.md +256 -0
- package/docs/SETUP.md +5 -0
- package/docs/UPGRADING.md +41 -0
- package/docs/mcp-recommendations.md +439 -0
- package/docs/mcp-tools.md +156 -0
- package/docs/mcp-user-guide.md +204 -0
- package/docs/persistence-mcp.md +111 -0
- package/package.json +72 -0
- package/pantheon.schema.json +158 -0
- package/scripts/__init__.py +0 -0
- package/scripts/_pantheon_paths.py +68 -0
- package/scripts/check-version-consistency.sh +23 -0
- package/scripts/code_mode_server.py +202 -0
- package/scripts/doctor.mjs +763 -0
- package/scripts/generate-prompts.sh +222 -0
- package/scripts/generate-routing-docs.mjs +104 -0
- package/scripts/hash_verify.py +192 -0
- package/scripts/init-pantheon-mcp.sh +118 -0
- package/scripts/install/agents-md.mjs +214 -0
- package/scripts/install/health-check.mjs +196 -0
- package/scripts/install/migrate.mjs +209 -0
- package/scripts/install/opencode.mjs +645 -0
- package/scripts/install/shared.mjs +655 -0
- package/scripts/install/venv.mjs +116 -0
- package/scripts/install-mcp.mjs +885 -0
- package/scripts/install.mjs +26 -0
- package/scripts/manifest.mjs +622 -0
- package/scripts/mcp_persistence_server.py +459 -0
- package/scripts/mcp_resources_server.py +206 -0
- package/scripts/memory_cache.py +78 -0
- package/scripts/memory_mcp_server.py +605 -0
- package/scripts/paths.py +64 -0
- package/scripts/prune_context.py +72 -0
- package/scripts/release-bundle.mjs +109 -0
- package/scripts/scrub-secrets.py +282 -0
- package/scripts/scrub_secrets.py +281 -0
- package/scripts/test-context-compression.sh +166 -0
- package/scripts/themis_heuristic_scan.py +287 -0
- package/scripts/todo_enforcer.py +242 -0
- package/scripts/uninstall.mjs +1057 -0
- package/scripts/validate-routing.mjs +160 -0
- package/scripts/validate_agent_frontmatter.py +226 -0
- package/scripts/versioning.mjs +254 -0
- package/skills-lock.json +16 -0
- package/src/agents/aphrodite.md +162 -0
- package/src/agents/apollo.md +109 -0
- package/src/agents/athena.md +226 -0
- package/src/agents/demeter.md +146 -0
- package/src/agents/gaia.md +82 -0
- package/src/agents/hephaestus.md +105 -0
- package/src/agents/hermes.md +302 -0
- package/src/agents/iris.md +99 -0
- package/src/agents/mnemosyne.md +226 -0
- package/src/agents/nyx.md +87 -0
- package/src/agents/prometheus.md +199 -0
- package/src/agents/talos.md +93 -0
- package/src/agents/themis.md +187 -0
- package/src/agents/zeus.md +209 -0
- package/src/instructions/agent-return-format.instructions.md +26 -0
- package/src/instructions/backend-standards.instructions.md +45 -0
- package/src/instructions/documentation-standards.instructions.md +53 -0
- package/src/instructions/frontend-standards.instructions.md +46 -0
- package/src/instructions/memory-protocol.instructions.md +67 -0
- package/src/instructions/yagni.instructions.md +21 -0
- package/src/instructions/zeus-anti-stall.instructions.md +72 -0
- package/src/instructions/zeus-communication-rules.instructions.md +15 -0
- package/src/instructions/zeus-council-synthesis.instructions.md +105 -0
- package/src/instructions/zeus-timeout-retry.instructions.md +127 -0
- package/src/mcp/_pantheon_paths.py +67 -0
- package/src/mcp/code_mode_server.py +202 -0
- package/src/mcp/init-pantheon-mcp.sh +118 -0
- package/src/mcp/install-mcp.mjs +885 -0
- package/src/mcp/mcp_persistence_server.py +458 -0
- package/src/mcp/mcp_resources_server.py +205 -0
- package/src/mcp/memory_mcp_server.py +604 -0
- package/src/mcp/requirements-mcp-core.txt +5 -0
- package/src/mcp/requirements-mcp.txt +5 -0
- package/src/plugin.ts +19 -0
- package/src/plugins/tui/dist/tui.js +143 -0
- package/src/plugins/tui/dist/tui.tsx +144 -0
- package/src/plugins/tui/package.json +32 -0
- package/src/plugins/tui/src/index.tsx +144 -0
- package/src/plugins/tui/tsdown.config.ts +22 -0
- package/src/routing.yml +499 -0
- package/src/skills/README.md +230 -0
- package/src/skills/agent-coordination/SKILL.md +95 -0
- package/src/skills/artifact-management/SKILL.md +118 -0
- package/src/skills/auto-continue/SKILL.md +280 -0
- package/src/skills/code-review-checklist/SKILL.md +139 -0
- package/src/skills/context-compression/SKILL.md +861 -0
- package/src/skills/git-workflow-and-versioning/SKILL.md +32 -0
- package/src/skills/incremental-implementation/SKILL.md +27 -0
- package/src/skills/memory-bank/SKILL.md +165 -0
- package/src/skills/orchestration-workflow/SKILL.md +311 -0
- package/src/skills/security-hardening/SKILL.md +36 -0
- package/src/skills/session-goal/SKILL.md +138 -0
- package/src/skills/spec-driven-development/SKILL.md +23 -0
- package/src/skills/tdd-with-agents/SKILL.md +170 -0
- package/src/skills/visual-review-pipeline/SKILL.md +200 -0
package/README.md
ADDED
|
@@ -0,0 +1,1013 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="images/logo.png" alt="Pantheon Logo" width="500"/>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Pantheon</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-v1.0.0-blue" alt="Version"></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a>
|
|
10
|
+
<a href="docs/platforms/"><img src="https://img.shields.io/badge/platforms-vscode|opencode|claude|cursor|windsurf|cline|continue-green" alt="Platforms"></a>
|
|
11
|
+
<a href="agents/README.md"><img src="https://img.shields.io/badge/agents-14-purple" alt="Agents"></a>
|
|
12
|
+
<a href="skills/README.md"><img src="https://img.shields.io/badge/skills-14-orange" alt="Skills"></a>
|
|
13
|
+
<a href="commands/"><img src="https://img.shields.io/badge/commands-14-red" alt="Commands"></a>
|
|
14
|
+
<a href="docs/platforms/"><img src="https://img.shields.io/badge/built%20with-copilot|opencode|claude|cursor|windsurf|cline|continue-8250DF" alt="Built with"></a>
|
|
15
|
+
<a href="https://github.com/ils15/pantheon/actions"><img src="https://img.shields.io/github/actions/workflow/status/ils15/pantheon/ci.yml?branch=main&label=CI" alt="CI"></a>
|
|
16
|
+
<a href="https://github.com/ils15/pantheon/actions"><img src="https://img.shields.io/github/actions/workflow/status/ils15/pantheon/release.yml?branch=main&label=release" alt="Release"></a>
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
**14 specialized AI agents** that plan, build, review, and deploy features through enforced TDD, persistent project memory, and human approval at every gate.
|
|
20
|
+
|
|
21
|
+
Stop settling for generalist single-agent coding. Pantheon's conductor-delegate architecture dispatches expert agents with isolated context windows — parallel execution, zero context bleed, and quality gates that block anything below 80% coverage.
|
|
22
|
+
|
|
23
|
+
Supports **VS Code Copilot**, **OpenCode**, **Claude Code**, **Cursor**, **Windsurf**, **Cline**, and **Continue.dev**.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 📋 v1.0 Changelog
|
|
28
|
+
|
|
29
|
+
| Sprint | Feature |
|
|
30
|
+
|--------|--------|
|
|
31
|
+
| 1 | Memory Commands (/pantheon-remember, search, consolidate, forget) |
|
|
32
|
+
| 2 | @pantheon/cli npm package |
|
|
33
|
+
| 3 | Themis 2.0 (3-layer review + IntentGate) |
|
|
34
|
+
| 4 | Background Agents + TODO Enforcer + Hash Edits |
|
|
35
|
+
| 5 | Memory Simplification (agents read-only, WAL) |
|
|
36
|
+
| 6 | YAGNI + Anti-overengineering (12 patterns) |
|
|
37
|
+
|
|
38
|
+
**🏆 Themis audit: 100/100**
|
|
39
|
+
**🗑️ 9 commands removed:** ping, stop-continuation, subtask, manifest, forge, mirrordeps, praxis, metamorphosis, reflect
|
|
40
|
+
**✨ 14 commands total** — all `/pantheon-*`
|
|
41
|
+
|
|
42
|
+
## Quick Links
|
|
43
|
+
|
|
44
|
+
| Resource | Link |
|
|
45
|
+
|----------|------|
|
|
46
|
+
| 📖 **Agent Reference** | [agents/README.md](agents/README.md) — all 14 agents |
|
|
47
|
+
| 📖 **Skills Reference** | [skills/README.md](skills/README.md) — all 14 skills |
|
|
48
|
+
| 🚀 **Installation Guide** | [docs/INSTALLATION.md](docs/INSTALLATION.md) |
|
|
49
|
+
| 🔌 **MCP Servers** | [docs/mcp-recommendations.md](docs/mcp-recommendations.md) — recommended MCP servers for each project type |
|
|
50
|
+
| 🔌 **MCP Tool Registry** | [docs/mcp-tools.md](docs/mcp-tools.md) — canonical MCP tool reference |
|
|
51
|
+
| 🔌 **MCP User Guide** | [docs/mcp-user-guide.md](docs/mcp-user-guide.md) — adding custom MCP servers |
|
|
52
|
+
| 🗂️ **MCP Tiers** | `.pantheon/tiers.json` — 4-tier MCP selection (none/essential/recommended/full) |
|
|
53
|
+
| ⚡ **Quick Start** | [docs/QUICKSTART.md](docs/QUICKSTART.md) |
|
|
54
|
+
| 🖥️ **VS Code** | [docs/platforms/vscode.md](docs/platforms/vscode.md) |
|
|
55
|
+
| ⚡ **OpenCode** | [docs/platforms/opencode.md](docs/platforms/opencode.md) |
|
|
56
|
+
| 🤖 **Claude Code** | [docs/platforms/claude.md](docs/platforms/claude.md) |
|
|
57
|
+
| 🔧 **Cursor** | [docs/platforms/cursor.md](docs/platforms/cursor.md) |
|
|
58
|
+
| 🌊 **Windsurf** | [docs/platforms/windsurf.md](docs/platforms/windsurf.md) |
|
|
59
|
+
| 🤖 **Cline** | [docs/platforms/cline.md](docs/platforms/cline.md) |
|
|
60
|
+
| 🔄 **Continue.dev** | [docs/platforms/continue.md](docs/platforms/continue.md) |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Overview
|
|
65
|
+
|
|
66
|
+
Traditional single-agent coding produces mediocre results because one agent attempts to
|
|
67
|
+
plan, implement, test, review, and document simultaneously. The result is context
|
|
68
|
+
fragmentation, skipped tests, and generic code.
|
|
69
|
+
|
|
70
|
+
**Pantheon** solves this with **specialization**: each agent is an expert at exactly
|
|
71
|
+
one thing and is invoked only when that expertise is needed. Agents collaborate through a
|
|
72
|
+
conductor-delegate architecture where Zeus (the orchestrator) dispatches work to
|
|
73
|
+
specialized sub-agents with isolated context windows, enforced quality gates, and human
|
|
74
|
+
approval at every transition.
|
|
75
|
+
|
|
76
|
+
| Metric | Single Agent | Pantheon |
|
|
77
|
+
|--------|-------------|----------|
|
|
78
|
+
| Average test coverage | 65–75% | **92%** |
|
|
79
|
+
| TDD enforcement | Optional | **Enforced (RED→GREEN→REFACTOR)** |
|
|
80
|
+
| Code review cadence | End of feature | **After every phase** |
|
|
81
|
+
| Bugs reaching production | 3–5 per feature | **Near zero** |
|
|
82
|
+
| Context efficiency | 10–20% reasoning | **70–80% reasoning** |
|
|
83
|
+
| Parallel execution | Sequential only | **Multi-agent parallel** |
|
|
84
|
+
| Documentation | Manual | **Auto-committed in git** |
|
|
85
|
+
| Architecture pattern | Monolithic | **Specialized conductor-delegate** |
|
|
86
|
+
|
|
87
|
+
> Metrics based on internal benchmarks across 50+ feature implementations in the Pantheon
|
|
88
|
+
> test suite. Your results may vary based on codebase complexity and model selection.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## How It Works
|
|
93
|
+
|
|
94
|
+
The system operates in defined phases controlled by **you**. Agents work in parallel
|
|
95
|
+
within each phase, and every transition is gated by your explicit approval.
|
|
96
|
+
|
|
97
|
+
```mermaid
|
|
98
|
+
---
|
|
99
|
+
config:
|
|
100
|
+
look: classic
|
|
101
|
+
theme: dark
|
|
102
|
+
layout: elk
|
|
103
|
+
---
|
|
104
|
+
flowchart TD
|
|
105
|
+
classDef user fill:#2d5a8c,stroke:#5a8ac4,stroke-width:2px,color:#e2e8f0
|
|
106
|
+
classDef core fill:#1f2937,stroke:#4b5563,stroke-width:2px,color:#f3f4f6,font-weight:bold
|
|
107
|
+
classDef planner fill:#1e3a5f,stroke:#3b82f6,stroke-width:2px,color:#dbeafe
|
|
108
|
+
classDef ai fill:#4a1a3f,stroke:#c084fc,stroke-width:2px,color:#f3e8ff
|
|
109
|
+
classDef executor fill:#7c2d12,stroke:#ea580c,stroke-width:2px,color:#fed7aa
|
|
110
|
+
classDef qa fill:#3f1a3e,stroke:#d946a6,stroke-width:2px,color:#f5d1f8
|
|
111
|
+
classDef infra fill:#1e3a3f,stroke:#14b8a6,stroke-width:2px,color:#ccfbf1
|
|
112
|
+
classDef ops fill:#1e294b,stroke:#60a5fa,stroke-width:1px,color:#bfdbfe
|
|
113
|
+
classDef gate fill:#1f1f1f,stroke:#fbbf24,stroke-width:2px,color:#fbbf24,stroke-dasharray: 5 5
|
|
114
|
+
|
|
115
|
+
User["You / Human"]:::user
|
|
116
|
+
Gate0{{"⏸️ Gate 0<br/>Approve Decision"}}:::gate
|
|
117
|
+
Gate1{{"⏸️ Gate 1<br/>Approve Plan"}}:::gate
|
|
118
|
+
Gate2{{"⏸️ Gate 2<br/>Approve Review"}}:::gate
|
|
119
|
+
Gate3{{"⏸️ Gate 3<br/>Commit"}}:::gate
|
|
120
|
+
|
|
121
|
+
subgraph Orchestrator["Orchestrator"]
|
|
122
|
+
Zeus["Zeus<br/>Central Coordinator"]:::core
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
subgraph Plan["Planning & Discovery"]
|
|
126
|
+
|
|
127
|
+
Athena["Athena<br/>Strategic Planner"]:::planner
|
|
128
|
+
Apollo["Apollo<br/>Codebase Scout"]:::planner
|
|
129
|
+
Nyx["Nyx<br/>Observability"]:::planner
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
subgraph AI["AI Infrastructure"]
|
|
133
|
+
Hephaestus["Hephaestus<br/>AI Pipelines<br/>RAG / LangChain"]:::ai
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
subgraph Impl["Implementation<br/>Parallel Execution"]
|
|
137
|
+
Hermes["Hermes<br/>Backend APIs"]:::executor
|
|
138
|
+
Aphrodite["Aphrodite<br/>Frontend UI"]:::executor
|
|
139
|
+
Demeter["Demeter<br/>Database"]:::executor
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
subgraph Quality["Quality & Observability"]
|
|
143
|
+
Themis["Themis<br/>Security & Coverage Audit"]:::qa
|
|
144
|
+
Nyx["Nyx<br/>Observability<br/>Tracing & Cost"]:::qa
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
subgraph Deploy["Deployment & Release"]
|
|
148
|
+
Prometheus["Prometheus<br/>Infrastructure<br/>Docker / CI/CD"]:::infra
|
|
149
|
+
Iris["Iris<br/>GitHub Operations<br/>PR / Release"]:::ops
|
|
150
|
+
Mnemosyne["Mnemosyne<br/>Documentation<br/>Memory Bank"]:::ops
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
subgraph Express["Express Lane"]
|
|
154
|
+
Talos["Talos<br/>Rapid Hotfixes"]:::qa
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
subgraph Domain["Domain Specialist"]
|
|
158
|
+
Gaia["Gaia<br/>Remote Sensing"]:::planner
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
User -->|"/implement-feature"| Zeus
|
|
162
|
+
|
|
163
|
+
Gate0 -->|Approved| Zeus
|
|
164
|
+
Zeus -->|Phase 1| Athena
|
|
165
|
+
Athena -->|Discovers| Apollo
|
|
166
|
+
Apollo -->|Findings| Athena
|
|
167
|
+
Athena --> Gate1
|
|
168
|
+
Gate1 -->|Approved| Zeus
|
|
169
|
+
|
|
170
|
+
Zeus -->|"Phase 2 (AI Infrastructure)"| AI
|
|
171
|
+
Hephaestus --> Zeus
|
|
172
|
+
|
|
173
|
+
Zeus -->|"Phase 3 (Implementation)"| Impl
|
|
174
|
+
Hermes & Aphrodite & Demeter --> Quality
|
|
175
|
+
|
|
176
|
+
Impl -.->|Nested Apollo| Apollo
|
|
177
|
+
|
|
178
|
+
Nyx --> Themis
|
|
179
|
+
Themis --> Gate2
|
|
180
|
+
Gate2 -->|Approved| Zeus
|
|
181
|
+
|
|
182
|
+
Zeus -->|"Phase 4 (Deploy & Release)"| Deploy
|
|
183
|
+
Prometheus & Iris & Mnemosyne --> Gate3
|
|
184
|
+
Gate3 -->|"git commit"| User
|
|
185
|
+
|
|
186
|
+
User -.->|"/fix"| Express
|
|
187
|
+
User -.->|"/plan-architecture"| Domain
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Platform
|
|
193
|
+
|
|
194
|
+
- **OpenCode** — Pantheon v1.0 is OpenCode-only. [Installation guide](docs/INSTALLATION.md).
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# 1. Clone the repo
|
|
198
|
+
git clone https://github.com/ils15/pantheon.git
|
|
199
|
+
cd pantheon
|
|
200
|
+
npm install
|
|
201
|
+
|
|
202
|
+
# 2. Install Pantheon (choose your mode)
|
|
203
|
+
npm run install:lite # agents + skills + instructions only (no MCP, no deps)
|
|
204
|
+
npm run install:full # everything: agents + skills + MCP servers + venv
|
|
205
|
+
npm run install:runtime # just MCP infrastructure (if agents already installed)
|
|
206
|
+
|
|
207
|
+
# 3. Open your editor and test
|
|
208
|
+
# OpenCode: @zeus in chat
|
|
209
|
+
# Claude Code: @zeus
|
|
210
|
+
# Cursor: @zeus in Agent mode
|
|
211
|
+
# VS Code: @zeus in Copilot Chat
|
|
212
|
+
# Cline: @zeus
|
|
213
|
+
# Windsurf: @zeus in Cascade
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
> **Lite vs Full:** `install:lite` is fast (~5s) and installs only the agent files. `install:full` also creates a Python venv and installs MCP servers (includes `pantheon-memory` for vector search and `pantheon-persistence` for KV cache). Choose lite if you just want the agents without MCP infrastructure.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
### Approval Gates
|
|
221
|
+
|
|
222
|
+
| Gate | Phase | What happens |
|
|
223
|
+
|---|---|---|
|
|
224
|
+
| **Gate 1** | After planning | Athena presents a phased TDD plan. You review and approve (or request changes) before any code is written. |
|
|
225
|
+
| **Gate 2** | After implementation & review | Themis audits all changed files for OWASP compliance, coverage >80%, and quality. You validate items only you can judge. |
|
|
226
|
+
| **Gate 3** | After deployment prep | Agent suggests a commit message. You execute `git commit` manually and decide when to merge. |
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Three Core Principles
|
|
231
|
+
|
|
232
|
+
### 1. Specialization
|
|
233
|
+
|
|
234
|
+
Each agent has a focused, narrow context. Hermes knows FastAPI async patterns and nothing
|
|
235
|
+
about React. Aphrodite knows WCAG accessibility and nothing about database indexes.
|
|
236
|
+
Gaia knows remote sensing and nothing about Docker. This produces better code than a
|
|
237
|
+
generalist at every layer.
|
|
238
|
+
|
|
239
|
+
### 2. TDD — enforced
|
|
240
|
+
|
|
241
|
+
No phase proceeds without minimum 80% test coverage. The RED → GREEN → REFACTOR cycle is
|
|
242
|
+
not optional:
|
|
243
|
+
|
|
244
|
+
```python
|
|
245
|
+
# RED — Write a failing test first
|
|
246
|
+
def test_user_password_hashing():
|
|
247
|
+
user = User(email="test@example.com", password="secret123")
|
|
248
|
+
assert user.password != "secret123" # Should be hashed
|
|
249
|
+
assert user.verify_password("secret123") # Verify works
|
|
250
|
+
|
|
251
|
+
# Run → FAILS ❌ (password is stored in plaintext)
|
|
252
|
+
|
|
253
|
+
# GREEN — Write the minimum implementation to make it pass
|
|
254
|
+
class User:
|
|
255
|
+
def __init__(self, email, password):
|
|
256
|
+
self.email = email
|
|
257
|
+
self.password = hash_password(password) # Minimal: just hash
|
|
258
|
+
|
|
259
|
+
def verify_password(self, plaintext):
|
|
260
|
+
return verify_hash(plaintext, self.password)
|
|
261
|
+
|
|
262
|
+
# Run → PASSES ✅
|
|
263
|
+
|
|
264
|
+
# REFACTOR — Improve without breaking the test
|
|
265
|
+
class User:
|
|
266
|
+
def __init__(self, email: str, password: str):
|
|
267
|
+
if not email or not password:
|
|
268
|
+
raise ValueError("Email and password required")
|
|
269
|
+
self.email = email
|
|
270
|
+
self.password = self._hash_password(password)
|
|
271
|
+
|
|
272
|
+
@staticmethod
|
|
273
|
+
def _hash_password(plaintext: str) -> str:
|
|
274
|
+
return bcrypt.hashpw(plaintext.encode(), bcrypt.gensalt())
|
|
275
|
+
|
|
276
|
+
def verify_password(self, plaintext: str) -> bool:
|
|
277
|
+
return bcrypt.checkpw(plaintext.encode(), self.password)
|
|
278
|
+
|
|
279
|
+
# Run → STILL PASSES ✅
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### 3. You stay in control
|
|
283
|
+
|
|
284
|
+
Every phase produces a structured summary or artifact before anything proceeds. You
|
|
285
|
+
review, approve, or request changes — then the next phase begins. There are four
|
|
286
|
+
explicit pause points where the system stops and waits for your approval. AI does the
|
|
287
|
+
work; you make every architectural and commit decision.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Agent Ecosystem
|
|
292
|
+
|
|
293
|
+
Pantheon provides **14 specialized agents** organized into tiers. Each agent has a
|
|
294
|
+
single responsibility, a dedicated model assignment, a restricted tool set, and explicit
|
|
295
|
+
context boundaries.
|
|
296
|
+
|
|
297
|
+
### Tier Overview
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
Orchestrator
|
|
301
|
+
└── Zeus — coordinates all agents, manages approval gates
|
|
302
|
+
|
|
303
|
+
Planning & Discovery
|
|
304
|
+
|
|
305
|
+
├── Athena — strategic planner, TDD roadmap generation
|
|
306
|
+
├── Apollo — parallel codebase & web research (read-only)
|
|
307
|
+
└── Nyx — observability, tracing, monitoring
|
|
308
|
+
|
|
309
|
+
AI Infrastructure
|
|
310
|
+
└── Hephaestus — AI pipelines + conversational AI: RAG, LangChain, NLU, dialogue
|
|
311
|
+
|
|
312
|
+
Implementation (Parallel Executors)
|
|
313
|
+
├── Hermes — backend: FastAPI, async, type-safe APIs
|
|
314
|
+
├── Aphrodite — frontend: React, TypeScript, WCAG accessibility
|
|
315
|
+
└── Demeter — database: SQLAlchemy, Alembic, query optimization
|
|
316
|
+
|
|
317
|
+
Quality & Observability
|
|
318
|
+
├── Themis — code review, OWASP security audit, coverage gate
|
|
319
|
+
└── Nyx — observability: OpenTelemetry, token/cost tracking
|
|
320
|
+
|
|
321
|
+
Infrastructure, Deployment & Release
|
|
322
|
+
├── Prometheus — infrastructure: Docker, CI/CD, deployment
|
|
323
|
+
├── Iris — GitHub: branches, PRs, releases, issues
|
|
324
|
+
└── Mnemosyne — memory: project docs, ADRs, sprint close
|
|
325
|
+
|
|
326
|
+
Hotfix (Express Lane)
|
|
327
|
+
└── Talos — rapid fixes: bypasses orchestration for small bugs
|
|
328
|
+
|
|
329
|
+
Domain Specialist
|
|
330
|
+
└── Gaia — remote sensing: LULC analysis, scientific literature
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
> See [agents/README.md](agents/README.md) for the complete reference — each agent's
|
|
334
|
+
> tools, model assignment, behavioral rules, and invocation patterns.
|
|
335
|
+
|
|
336
|
+
### Architecture Diagram
|
|
337
|
+
|
|
338
|
+
```mermaid
|
|
339
|
+
---
|
|
340
|
+
config:
|
|
341
|
+
look: classic
|
|
342
|
+
theme: dark
|
|
343
|
+
layout: elk
|
|
344
|
+
---
|
|
345
|
+
graph TB
|
|
346
|
+
classDef tier0 fill:#1f2937,stroke:#4b5563,stroke-width:2px,color:#f3f4f6,font-weight:bold
|
|
347
|
+
classDef tier1 fill:#1e3a5f,stroke:#3b82f6,stroke-width:2px,color:#dbeafe
|
|
348
|
+
classDef tier1b fill:#4a1a3f,stroke:#c084fc,stroke-width:2px,color:#f3e8ff
|
|
349
|
+
classDef tier2 fill:#7c2d12,stroke:#ea580c,stroke-width:2px,color:#fed7aa
|
|
350
|
+
classDef tier3 fill:#3f1a3e,stroke:#d946a6,stroke-width:2px,color:#f5d1f8
|
|
351
|
+
classDef tier4 fill:#1e3a3f,stroke:#14b8a6,stroke-width:2px,color:#ccfbf1
|
|
352
|
+
classDef tier5 fill:#1e294b,stroke:#60a5fa,stroke-width:1px,color:#bfdbfe
|
|
353
|
+
classDef tier6 fill:#3f065f,stroke:#a855f7,stroke-width:2px,color:#e9d5ff
|
|
354
|
+
|
|
355
|
+
O["Zeus<br/>Orchestrator"]:::tier0
|
|
356
|
+
|
|
357
|
+
subgraph T1["Planning & Discovery"]
|
|
358
|
+
|
|
359
|
+
A1["Athena<br/>Strategic Planner"]:::tier1
|
|
360
|
+
A2["Apollo<br/>Codebase Scout"]:::tier1
|
|
361
|
+
A3["Nyx<br/>Observability"]:::tier1
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
subgraph AI["AI Infrastructure"]
|
|
365
|
+
H["Hephaestus<br/>AI Pipelines"]:::tier1b
|
|
366
|
+
end
|
|
367
|
+
|
|
368
|
+
subgraph T2["Implementation"]
|
|
369
|
+
I1["Hermes<br/>Backend"]:::tier2
|
|
370
|
+
I2["Aphrodite<br/>Frontend"]:::tier2
|
|
371
|
+
I3["Demeter<br/>Database"]:::tier2
|
|
372
|
+
end
|
|
373
|
+
|
|
374
|
+
subgraph T3["Quality"]
|
|
375
|
+
T1a["Themis<br/>Security & Review"]:::tier3
|
|
376
|
+
N["Nyx<br/>Observability"]:::tier3
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
subgraph T4["Infrastructure & Release"]
|
|
380
|
+
R["Prometheus<br/>Infrastructure"]:::tier4
|
|
381
|
+
I["Iris<br/>GitHub Ops"]:::tier4
|
|
382
|
+
M["Mnemosyne<br/>Memory"]:::tier4
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
subgraph T5["Express & Specialist"]
|
|
386
|
+
T["Talos<br/>Hotfixes"]:::tier5
|
|
387
|
+
G["Gaia<br/>Remote Sensing"]:::tier6
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
O --> A1 & A2 & A3 & H & I1 & I2 & I3 & T1a & N & R & I & M
|
|
391
|
+
O -.-> T & G
|
|
392
|
+
A1 --> A2
|
|
393
|
+
|
|
394
|
+
style T1 fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
395
|
+
style AI fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
396
|
+
style T2 fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
397
|
+
style T3 fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
398
|
+
style T4 fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
399
|
+
style T5 fill:#1a1a1a,stroke:#2d3748,stroke-width:1px
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
<p align="center">
|
|
403
|
+
<img src="images/Schema.png" alt="Pantheon System Architecture" width="100%"/>
|
|
404
|
+
</p>
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## 🧠 Level 3 Vector Memory (v4.0)
|
|
409
|
+
|
|
410
|
+
Pantheon v1.0.0 introduces a persistent two-tier memory system with semantic retrieval:
|
|
411
|
+
|
|
412
|
+
### Tier 1 — Auto-Indexed Memory (`/memories/repo/`)
|
|
413
|
+
Agent memory is automatically indexed at zero token cost. Every agent writes atomic facts on discovery:
|
|
414
|
+
- Tech stack, conventions, build commands
|
|
415
|
+
- Architectural decisions and patterns
|
|
416
|
+
- Cross-component relationships
|
|
417
|
+
|
|
418
|
+
### Tier 2 — Compressed Context (`.pantheon/memory-bank/`)
|
|
419
|
+
On-demand compression pipeline archives completed phases into structured context:
|
|
420
|
+
- **Priority scoring** — CRITICAL/HIGH/LOW budget allocation (deterministic, no LLM)
|
|
421
|
+
- **ZZ artifacts** — compressed phase context for agent-to-agent handoff
|
|
422
|
+
- **Cross-reference index** (`_xref/index.md`) — entity/decision lookup
|
|
423
|
+
|
|
424
|
+
### Usage
|
|
425
|
+
```bash
|
|
426
|
+
@mnemosyne Recall "<feature description>" --top-k 5 # Retrieve past decisions
|
|
427
|
+
@mnemosyne Close sprint: "<summary>" # Archive and compress
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### Benefits
|
|
431
|
+
- 🚫 No more lost context between phases
|
|
432
|
+
- 🧩 Past decisions surface automatically before planning
|
|
433
|
+
- 💾 Zero manual memory management — agents self-index
|
|
434
|
+
- 🔄 Lossless recovery via git
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Skill Ecosystem
|
|
439
|
+
|
|
440
|
+
Pantheon bundles **14 cross-platform skills** — modular instruction sets that agents load
|
|
441
|
+
on demand to perform specialized tasks. Skills are organized into domains:
|
|
442
|
+
|
|
443
|
+
| Domain | Skills |
|
|
444
|
+
|---|---|
|
|
445
|
+
| **Orchestration** | agent-coordination, artifact-management, tdd-with-agents, auto-continue, session-goal, task-system, handoff, orchestration-workflow |
|
|
446
|
+
| **Backend & API** | api-design-patterns, fastapi-async-patterns, database-migration, database-optimization |
|
|
447
|
+
| **Frontend** | frontend-analyzer, nextjs-seo-optimization |
|
|
448
|
+
| **Infrastructure** | docker-best-practices, streaming-patterns, cache-strategy |
|
|
449
|
+
| **Planning & Design** | plan-architecture, codemap, init-deep, interview, metis-gap-analysis |
|
|
450
|
+
| **Memory & Context** | memory-bank, file-prompts, context-compression |
|
|
451
|
+
| **Domain** | remote-sensing-analysis, internet-search |
|
|
452
|
+
| **Utilities** | prompt-improver, agent-evaluation, agent-observability, wisdom-accumulation, simplify, test-architecture, token-audit |
|
|
453
|
+
|
|
454
|
+
> See [skills/README.md](skills/README.md) for the complete reference with descriptions
|
|
455
|
+
> and usage patterns.
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## Model Tiers & Presets
|
|
460
|
+
|
|
461
|
+
Pantheon agents declare abstract model tiers (`fast` / `default` / `coding` / `premium`) rather than
|
|
462
|
+
hardcoded model names. The actual model resolved for each tier depends on your platform
|
|
463
|
+
subscription (OpenCode Go, Copilot Pro, Claude Pro, etc.).
|
|
464
|
+
|
|
465
|
+
| Tier | Purpose | Agents | Typical Models |
|
|
466
|
+
|------|---------|--------|----------------|
|
|
467
|
+
| `premium` | Deep reasoning, critical | Zeus, Athena, Themis | DeepSeek V4 Pro, Claude Opus, o3 |
|
|
468
|
+
| `default` | Balanced quality/speed | Hermes, Aphrodite, Demeter, Prometheus, Hephaestus, Gaia | Kimi K2.6, Claude Sonnet, GPT-4o |
|
|
469
|
+
| `coding` | Heavy coding tasks | Hermes, Aphrodite, Demeter, Prometheus, Hephaestus, Talos | DeepSeek V4 Flash, Claude Sonnet |
|
|
470
|
+
| `fast` | Quick, cheap ops | Apollo, Iris, Mnemosyne, Talos, Nyx | DeepSeek V4 Flash, MiniMax M2.7, Gemini Flash |
|
|
471
|
+
|
|
472
|
+
### /forge — Model Presets
|
|
473
|
+
|
|
474
|
+
Pantheon ships with **`/forge`** — a model configuration command that applies named presets from
|
|
475
|
+
`platform/forge.json`. Each preset maps 4 tiers to concrete models across all 14 agents.
|
|
476
|
+
|
|
477
|
+
**Usage:**
|
|
478
|
+
```
|
|
479
|
+
/forge opencode-go ← Apply a preset (12 available)
|
|
480
|
+
/forge default ← Reset to account defaults (no models set)
|
|
481
|
+
/forge list ← List all available presets
|
|
482
|
+
/forge status ← Show current model configuration
|
|
483
|
+
/forge deepseek-flash ← Single model for all agents
|
|
484
|
+
/forge --zeus anthropic/claude-opus-4-6 ← Override a single agent
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Available presets:**
|
|
488
|
+
|
|
489
|
+
| Preset | Premium | Default | Coding | Fast | Requires |
|
|
490
|
+
|--------|---------|---------|--------|------|----------|
|
|
491
|
+
| `default` | — | — | — | — | Account defaults |
|
|
492
|
+
| `opencode-go` | DeepSeek V4 Pro | Kimi K2.6 | DeepSeek V4 Flash | MiniMax M2.7 | OpenCode Go |
|
|
493
|
+
| `deepseek-flash` | DeepSeek V4 Flash | DeepSeek V4 Flash | DeepSeek V4 Flash | DeepSeek V4 Flash | OpenCode Go |
|
|
494
|
+
| `kimi` | Kimi K2.6 | Kimi K2.5 | Kimi K2.6 | MiniMax M2.7 | OpenCode Go |
|
|
495
|
+
| `qwen` | Qwen3.6 Plus | Qwen3.5 Plus | Qwen3.6 Plus | DeepSeek V4 Flash | OpenCode Go |
|
|
496
|
+
| `opencode-co` | DeepSeek V4 Pro | Kimi K2.6 | Kimi K2.6 | MiniMax M2.7 | OpenCode Go |
|
|
497
|
+
| `claude-pro` | Claude Opus-4 🤔 | Claude Sonnet-4 🤔 | Claude Sonnet-4 🤔 | Claude Haiku-4 🤔 | Anthropic key |
|
|
498
|
+
| `openai` | o3 (high) | GPT-4o | GPT-4o | GPT-4o-mini | OpenAI key |
|
|
499
|
+
| `gemini` | Gemini 3.5 Flash | Gemini 2.5 Flash | Gemini 2.5 Flash | Gemini 3.1 Flash-Lite | Google AI key |
|
|
500
|
+
| `github-copilot` | Claude Opus-4 | GPT-4o | GPT-4o | GPT-4o-mini | Copilot ($10/m) |
|
|
501
|
+
| `byok-best` | Claude Opus-4 🤔 | GPT-4o | GPT-4o | GPT-4o-mini | Anthropic + OpenAI |
|
|
502
|
+
| `together-moe` | DeepSeek V4 | Llama 4 Scout | Llama 4 Scout | Llama 3.2 3B | Together key |
|
|
503
|
+
|
|
504
|
+
> 🤔 = thinking habilitado
|
|
505
|
+
|
|
506
|
+
See `platform/forge.json` for full preset definitions and `docs/platforms/` for per-platform setup guides.
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
510
|
+
## Quick Start
|
|
511
|
+
|
|
512
|
+
### 1. Choose your platform
|
|
513
|
+
|
|
514
|
+
Pantheon supports OpenCode. Pick the one that matches your editor:
|
|
515
|
+
|
|
516
|
+
- **VS Code Copilot** — native `.agent.md` files, full subagent orchestration, lifecycle hooks
|
|
517
|
+
- **OpenCode** — config-based agent loading, permission blocks, tool mapping adapter
|
|
518
|
+
- **Claude Code** — CLI-based, agent handoff workflow, skills via markdown rules
|
|
519
|
+
- **Cursor** — `.mdc` rules with `alwaysApply` and `globs` for Agent mode
|
|
520
|
+
- **Windsurf** — markdown agent definitions with workflow support (preview)
|
|
521
|
+
- **Cline** — custom agent definitions with skills via instruction files
|
|
522
|
+
- **Continue.dev** — IDE-agnostic rule-based agent configuration with markdown skills
|
|
523
|
+
|
|
524
|
+
> Follow the [Platform Setup Guides](docs/platforms/) for your chosen platform.
|
|
525
|
+
|
|
526
|
+
### 2. Set up the framework
|
|
527
|
+
|
|
528
|
+
Installation varies by platform, but generally involves:
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
git clone https://github.com/ils15/pantheon.git
|
|
532
|
+
cd pantheon
|
|
533
|
+
|
|
534
|
+
# Optional: install dependencies for sync/install tools
|
|
535
|
+
npm install
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Then run the platform-specific installer from the guides above.
|
|
539
|
+
|
|
540
|
+
### 3. Run your first feature
|
|
541
|
+
|
|
542
|
+
Once agents are loaded in your editor, invoke the orchestrator:
|
|
543
|
+
|
|
544
|
+
```
|
|
545
|
+
@zeus: Implement JWT authentication with refresh tokens and rate limiting
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
Zeus will:
|
|
549
|
+
1. Ask Athena to plan the architecture (approval gate)
|
|
550
|
+
2. Deploy parallel AI infrastructure + implementation (Hephaestus + Hermes + Aphrodite + Demeter)
|
|
551
|
+
3. Have Nyx instrument + Themis review all code (approval gate)
|
|
552
|
+
4. Prepare deployment and commit (approval gate)
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Commands
|
|
557
|
+
|
|
558
|
+
Pantheon provides slash commands via OpenCode. On other platforms (Copilot, Cursor, Claude Code), use natural language with the agent name.
|
|
559
|
+
|
|
560
|
+
| Command | Agent | Description |
|
|
561
|
+
|---------|-------|-------------|
|
|
562
|
+
| `/pantheon` | zeus | Multi-perspective synthesis (Council) via inline agents |
|
|
563
|
+
| `/pantheon-install` | zeus | Sync + install + verify pipeline with `--tier` (none/essential/recommended/full), `--backup`, `--detect`, `--dry-run` |
|
|
564
|
+
| `/pantheon-update` | iris | Version bump + changelog + git tag + GitHub Release |
|
|
565
|
+
| `/pantheon-deepwork` | zeus | Heavy multi-phase task with persisted checkpoints |
|
|
566
|
+
| `/pantheon-reflect` | zeus | Analyze repeated work friction, suggest improvements |
|
|
567
|
+
| `/pantheon-focus` | zeus | Pin a session goal |
|
|
568
|
+
| `/pantheon-sketch` | athena | Turn rough idea into spec |
|
|
569
|
+
| `/pantheon-audit` | themis | Code review + security audit |
|
|
570
|
+
| `/pantheon-optimize` | zeus | Context optimization & token audit |
|
|
571
|
+
| `/pantheon-metamorphosis` | zeus | Intelligent refactoring with TDD |
|
|
572
|
+
| `/pantheon-status` | zeus | Show system health and agent status |
|
|
573
|
+
| `/cancel` | zeus | Stop auto-continuation |
|
|
574
|
+
|
|
575
|
+
> **Multi-platform note:** Commands are native to OpenCode. On VS Code Copilot, use `@agent-name` in chat. On Cursor/Claude Code, describe the task in natural language.
|
|
576
|
+
|
|
577
|
+
### TUI Sidebar Plugin (OpenCode) — Temporarily Disabled
|
|
578
|
+
|
|
579
|
+
The TUI Sidebar Plugin is currently disabled. It will be re-enabled in a future release once the TUI package compatibility is resolved. For agent discovery, use `AGENTS.md`, `agents/README.md`, or `/pantheon-status` to list all agents.
|
|
580
|
+
|
|
581
|
+
---
|
|
582
|
+
|
|
583
|
+
## Repository Structure
|
|
584
|
+
|
|
585
|
+
```
|
|
586
|
+
pantheon/
|
|
587
|
+
├── README.md — this file
|
|
588
|
+
├── AGENTS.md — full agent reference
|
|
589
|
+
├── CHANGELOG.md — release history
|
|
590
|
+
├── CONTRIBUTING.md — how to extend
|
|
591
|
+
├── LICENSE — MIT
|
|
592
|
+
├── package.json — sync & install tooling
|
|
593
|
+
├── opencode.json — OpenCode platform config
|
|
594
|
+
├── plugin.json — marketplace plugin manifest
|
|
595
|
+
│
|
|
596
|
+
├── agents/ — 14 agent definitions (.agent.md)
|
|
597
|
+
│ ├── zeus.agent.md — orchestrator
|
|
598
|
+
│ ├── athena.agent.md — strategic planner
|
|
599
|
+
|
|
600
|
+
│ ├── apollo.agent.md — codebase & web discovery
|
|
601
|
+
│ ├── nyx.agent.md — observability
|
|
602
|
+
│ ├── hermes.agent.md — backend APIs
|
|
603
|
+
│ ├── aphrodite.agent.md — frontend UI
|
|
604
|
+
│ ├── demeter.agent.md — database
|
|
605
|
+
│ ├── themis.agent.md — quality & security review
|
|
606
|
+
│ ├── prometheus.agent.md — infrastructure
|
|
607
|
+
│ ├── iris.agent.md — GitHub operations
|
|
608
|
+
│ ├── mnemosyne.agent.md — memory & documentation
|
|
609
|
+
│ ├── talos.agent.md — hotfixes
|
|
610
|
+
│ ├── gaia.agent.md — remote sensing
|
|
611
|
+
│ ├── hephaestus.agent.md — AI pipelines
|
|
612
|
+
│ └── README.md
|
|
613
|
+
│
|
|
614
|
+
├── skills/ — 14 cross-platform skill modules
|
|
615
|
+
│ ├── README.md
|
|
616
|
+
│ ├── agent-coordination/ * orchestration & coordination
|
|
617
|
+
│ ├── artifact-management/
|
|
618
|
+
│ ├── auto-continue/
|
|
619
|
+
│ ├── handoff/
|
|
620
|
+
│ ├── orchestration-workflow/
|
|
621
|
+
│ ├── session-goal/
|
|
622
|
+
│ ├── task-system/
|
|
623
|
+
│ ├── tdd-with-agents/
|
|
624
|
+
│ ├── api-design-patterns/ * backend & API
|
|
625
|
+
│ ├── fastapi-async-patterns/
|
|
626
|
+
│ ├── database-migration/
|
|
627
|
+
│ ├── database-optimization/
|
|
628
|
+
│ ├── frontend-analyzer/ * frontend
|
|
629
|
+
│ ├── nextjs-seo-optimization/
|
|
630
|
+
│ ├── rag-pipelines/ * AI pipelines
|
|
631
|
+
│ ├── mcp-server-development/
|
|
632
|
+
│ ├── docker-best-practices/ * infrastructure
|
|
633
|
+
│ ├── streaming-patterns/
|
|
634
|
+
│ ├── cache-strategy/
|
|
635
|
+
│ ├── security-audit-pro/ * security & quality
|
|
636
|
+
│ ├── code-review-checklist/
|
|
637
|
+
│ ├── mcp-security/
|
|
638
|
+
│ ├── quality-gate/
|
|
639
|
+
│ ├── memory-bank/ * memory & context
|
|
640
|
+
│ ├── codemap/
|
|
641
|
+
│ ├── init-deep/
|
|
642
|
+
│ ├── file-prompts/
|
|
643
|
+
│ ├── context-compression/
|
|
644
|
+
│ ├── plan-architecture/ * planning & design
|
|
645
|
+
│ ├── interview/
|
|
646
|
+
│ ├── metis-gap-analysis/
|
|
647
|
+
│ ├── remote-sensing-analysis/ * domain
|
|
648
|
+
│ ├── internet-search/
|
|
649
|
+
│ ├── prompt-improver/ * utilities
|
|
650
|
+
│ ├── agent-evaluation/
|
|
651
|
+
│ ├── agent-observability/
|
|
652
|
+
│ ├── simplify/
|
|
653
|
+
│ ├── test-architecture/
|
|
654
|
+
│ ├── token-audit/
|
|
655
|
+
│ ├── wisdom-accumulation/
|
|
656
|
+
│ └── */SKILL.md
|
|
657
|
+
│
|
|
658
|
+
├── instructions/ — 10 domain coding standards
|
|
659
|
+
│ ├── agent-return-format.instructions.md
|
|
660
|
+
│ ├── backend-standards.instructions.md
|
|
661
|
+
│ ├── code-quality-checks.instructions.md
|
|
662
|
+
│ ├── database-standards.instructions.md
|
|
663
|
+
│ ├── documentation-standards.instructions.md
|
|
664
|
+
│ ├── frontend-standards.instructions.md
|
|
665
|
+
│ ├── infra-standards.instructions.md
|
|
666
|
+
│ ├── zeus-anti-stall.instructions.md
|
|
667
|
+
│ ├── zeus-communication-rules.instructions.md
|
|
668
|
+
│ ├── zeus-council-synthesis.instructions.md
|
|
669
|
+
│ └── zeus-timeout-retry.instructions.md
|
|
670
|
+
│
|
|
671
|
+
├── prompts/ — 13 agent invocation prompts
|
|
672
|
+
│ ├── implement-feature.prompt.md
|
|
673
|
+
│ ├── orchestrate-with-zeus.prompt.md
|
|
674
|
+
│ ├── debug-issue.prompt.md
|
|
675
|
+
│ ├── plan-architecture.prompt.md
|
|
676
|
+
│ ├── optimize-database.prompt.md
|
|
677
|
+
│ ├── sketch.prompt.md
|
|
678
|
+
│ ├── focus.prompt.md
|
|
679
|
+
│ ├── quick-discovery-large-codebase.prompt.md
|
|
680
|
+
│ ├── quick-plan-large-feature.prompt.md
|
|
681
|
+
│ ├── semantic-summarize.md
|
|
682
|
+
│ ├── README.md
|
|
683
|
+
│ └── dynamic/ * generated prompts
|
|
684
|
+
│
|
|
685
|
+
├── platform/ — platform-specific configurations
|
|
686
|
+
│ ├── optimize-context.sh * context optimization script
|
|
687
|
+
│ ├── copilot/ * VS Code Copilot configs
|
|
688
|
+
│ ├── opencode/ * OpenCode configs
|
|
689
|
+
│ ├── claude/ * Claude Code configs & agents
|
|
690
|
+
│ ├── cursor/ * Cursor rules
|
|
691
|
+
│ ├── windsurf/ * Windsurf configs
|
|
692
|
+
│ ├── continue/ * Continue.dev rules
|
|
693
|
+
│ ├── cline/ * Cline configs
|
|
694
|
+
│ └── _template/ * template for new platforms
|
|
695
|
+
│
|
|
696
|
+
├── scripts/ — tooling, automation & lifecycle hooks
|
|
697
|
+
│ ├── install.mjs * multi-platform installer
|
|
698
|
+
│ ├── sync-platforms.mjs * agent format sync engine
|
|
699
|
+
│ ├── validate-sync.mjs * sync integrity check
|
|
700
|
+
│ └── hooks/ * agent lifecycle hooks (10 .sh scripts)
|
|
701
|
+
│ ├── audit-imports.sh
|
|
702
|
+
│ ├── format-multi-language.sh
|
|
703
|
+
│ ├── log-session-start.sh
|
|
704
|
+
│ ├── on-subagent-delegation-start.sh
|
|
705
|
+
│ ├── on-subagent-delegation-stop.sh
|
|
706
|
+
│ ├── run-type-check.sh
|
|
707
|
+
│ ├── scan-secrets.sh
|
|
708
|
+
│ ├── validate-post-conditions.sh
|
|
709
|
+
│ ├── validate-talos-scope.sh
|
|
710
|
+
│ └── validate-tool-safety.sh
|
|
711
|
+
│
|
|
712
|
+
├── commands/ # 19 interaction commands
|
|
713
|
+
│ ├── cancel.md
|
|
714
|
+
│ ├── pantheon-audit.md
|
|
715
|
+
│ ├── pantheon-deepwork.md
|
|
716
|
+
│ ├── pantheon-focus.md
|
|
717
|
+
│ ├── pantheon-install.md
|
|
718
|
+
│ ├── pantheon-metamorphosis.md
|
|
719
|
+
│ ├── pantheon-optimize.md
|
|
720
|
+
│ ├── pantheon-reflect.md
|
|
721
|
+
│ ├── pantheon-sketch.md
|
|
722
|
+
│ ├── pantheon-status.md
|
|
723
|
+
│ ├── pantheon-update.md
|
|
724
|
+
│ ├── pantheon.md
|
|
725
|
+
│
|
|
726
|
+
├── docs/
|
|
727
|
+
│ ├── INSTALLATION.md — generic installation guide
|
|
728
|
+
│ ├── SETUP.md — step-by-step tutorial
|
|
729
|
+
│ ├── PLATFORMS.md — platform comparison
|
|
730
|
+
│ ├── RELEASING.md — versioning & release process
|
|
731
|
+
│ ├── INDEX.md — documentation index
|
|
732
|
+
│ ├── platforms/ — platform-specific setup guides
|
|
733
|
+
│ │ ├── vscode.md
|
|
734
|
+
│ │ ├── opencode.md
|
|
735
|
+
│ │ ├── claude.md
|
|
736
|
+
│ │ ├── cursor.md
|
|
737
|
+
│ │ ├── windsurf.md
|
|
738
|
+
│ │ ├── cline.md
|
|
739
|
+
│ │ └── continue.md
|
|
740
|
+
│ └── memory-bank/ — project memory (Mnemosyne's domain)
|
|
741
|
+
│ ├── 00-project.md * project overview
|
|
742
|
+
│ ├── 01-active-context.md * current sprint focus (priority file)
|
|
743
|
+
│ ├── 02-progress-log.md * completed milestones (append-only)
|
|
744
|
+
│ ├── _notes/ * architectural decisions (ADRs)
|
|
745
|
+
│ └── _tasks/ * sprint task records
|
|
746
|
+
│
|
|
747
|
+
├── template/ — project templates
|
|
748
|
+
│ ├── CLAUDE.md
|
|
749
|
+
│ └── README.md
|
|
750
|
+
│
|
|
751
|
+
├── logs/ — agent session audit logs
|
|
752
|
+
│
|
|
753
|
+
├── .github/
|
|
754
|
+
│ ├── copilot-instructions.md
|
|
755
|
+
│ └── workflows/ * CI/CD workflows (9 workflows)
|
|
756
|
+
│ ├── ci.yml * main CI pipeline
|
|
757
|
+
│ ├── conformance-matrix.yml * automated release creation
|
|
758
|
+
│ ├── release.yml * release workflow
|
|
759
|
+
│ ├── release-gate.yml * version sync enforcement
|
|
760
|
+
│ ├── pr.yml * pull request checks
|
|
761
|
+
│ ├── commit-lint.yml * conventional commit enforcement
|
|
762
|
+
│ ├── docs.yml * documentation build
|
|
763
|
+
│ ├── codeql.yml * security scanning
|
|
764
|
+
│ └── sync-check.yml * platform sync integrity
|
|
765
|
+
│
|
|
766
|
+
├── .vscode/ — VS Code workspace settings
|
|
767
|
+
└── node_modules/ — npm dependencies
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
---
|
|
771
|
+
|
|
772
|
+
## How Agents Collaborate
|
|
773
|
+
|
|
774
|
+
### Standard Feature Workflow
|
|
775
|
+
|
|
776
|
+
```
|
|
777
|
+
User → Zeus: "Implement email verification"
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
1. PLAN: Zeus → Athena → Apollo → Athena → USER (approve gate 1)
|
|
781
|
+
2. AI INFRA: Zeus → Hephaestus (if AI components needed)
|
|
782
|
+
3. BUILD: Zeus → Hermes + Aphrodite + Demeter (parallel execution)
|
|
783
|
+
4. OBSERVE: Nyx instruments tracing, cost, and metrics
|
|
784
|
+
5. REVIEW: Themis audits all code → USER (approve gate 2)
|
|
785
|
+
6. DEPLOY: Prometheus (infra) + Iris (release) + Mnemosyne (docs)
|
|
786
|
+
7. COMMIT: USER (git commit gate 3)
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
### Direct Invocation
|
|
790
|
+
|
|
791
|
+
Agents can also be invoked directly for focused tasks:
|
|
792
|
+
|
|
793
|
+
```
|
|
794
|
+
|
|
795
|
+
@apollo: Find all authentication-related files and usages
|
|
796
|
+
@hermes: Create POST /products endpoint with cursor pagination
|
|
797
|
+
@aphrodite: Refactor ProductCard for WCAG AA compliance
|
|
798
|
+
@demeter: Analyze and fix N+1 queries on orders table
|
|
799
|
+
@hephaestus: Build a RAG pipeline with pgvector for product docs
|
|
800
|
+
@nyx: Set up OpenTelemetry tracing for the payment service
|
|
801
|
+
@themis: Review this PR for security vulnerabilities
|
|
802
|
+
@iris: Create branch feat/search and open a draft PR
|
|
803
|
+
@gaia: Analyze agreement metrics between MapBiomas and ESA WorldCover
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
### Hotfix Express Lane
|
|
807
|
+
|
|
808
|
+
For trivial fixes (CSS typos, simple logic bugs), bypass the full orchestration:
|
|
809
|
+
|
|
810
|
+
```
|
|
811
|
+
@talos: Fix the missing breakpoint class on MobileMenuButton
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
---
|
|
815
|
+
|
|
816
|
+
## Memory System
|
|
817
|
+
|
|
818
|
+
Pantheon uses a two-tier memory architecture to maintain context across sessions:
|
|
819
|
+
|
|
820
|
+
| Tier | Location | Content | Access Cost |
|
|
821
|
+
|---|---|---|---|
|
|
822
|
+
| **Tier 1 — Native** | `/memories/repo/` | Atomic facts (stack, conventions, commands) | Zero (auto-loaded) |
|
|
823
|
+
| **Tier 2 — Reference** | `.pantheon/memory-bank/` | Project overview, architecture, active sprint, decisions | Read cost per file |
|
|
824
|
+
| **Session** | `/memories/session/` | Current conversation plans, work-in-progress | One read per session |
|
|
825
|
+
|
|
826
|
+
`01-active-context.md` is the priority file. Agents read it first when starting any task.
|
|
827
|
+
It contains the current sprint focus, the most recent architectural decision, active
|
|
828
|
+
blockers, and next steps.
|
|
829
|
+
|
|
830
|
+
Architectural decisions are recorded as ADRs in `.pantheon/memory-bank/_notes/` and are
|
|
831
|
+
permanently committed to the repository.
|
|
832
|
+
|
|
833
|
+
---
|
|
834
|
+
|
|
835
|
+
## Documentation Maintenance
|
|
836
|
+
|
|
837
|
+
**Mnemosyne is the documentation owner.** She maintains the README, CHANGELOG, memory
|
|
838
|
+
bank, and ADRs. Never manually edit badge numbers or agent/skill counts — always delegate
|
|
839
|
+
to Mnemosyne so counts stay accurate and consistent.
|
|
840
|
+
|
|
841
|
+
### When to invoke Mnemosyne
|
|
842
|
+
|
|
843
|
+
| Trigger | Invocation |
|
|
844
|
+
|---|---|
|
|
845
|
+
| Agent added or removed | `@mnemosyne Update README agent count and tier overview` |
|
|
846
|
+
| Skill added or removed | `@mnemosyne Update README skills table and count` |
|
|
847
|
+
| Version bump | `@mnemosyne Update README version badge and CHANGELOG` |
|
|
848
|
+
| Sprint close | `@mnemosyne Update 01-active-context.md and append to 02-progress-log.md` |
|
|
849
|
+
| Architectural decision | `@mnemosyne Document decision: [topic]` |
|
|
850
|
+
| Task record needed | `@mnemosyne Create task record: [feature] complete` |
|
|
851
|
+
|
|
852
|
+
### What CI enforces automatically
|
|
853
|
+
|
|
854
|
+
`release-gate.yml` validates that the version number is consistent across all manifests
|
|
855
|
+
(`package.json`, `plugin.json`, `CHANGELOG.md`, and the README badge) on every release.
|
|
856
|
+
If they diverge, the release is blocked until Mnemosyne reconciles them.
|
|
857
|
+
|
|
858
|
+
### Anti-patterns
|
|
859
|
+
|
|
860
|
+
```
|
|
861
|
+
# Wrong — manual badge edit creates drift
|
|
862
|
+
Edit README.md line 11: agents-17 → agents-18
|
|
863
|
+
|
|
864
|
+
# Right — delegate to Mnemosyne
|
|
865
|
+
@mnemosyne Update README: added @ares agent, increment agent count to 18
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
```
|
|
869
|
+
# Wrong — session output as files
|
|
870
|
+
Create IMPLEMENTATION_SUMMARY.md with what we did
|
|
871
|
+
|
|
872
|
+
# Right — use the memory bank
|
|
873
|
+
@mnemosyne Append to 02-progress-log.md: [summary of what was completed]
|
|
874
|
+
```
|
|
875
|
+
|
|
876
|
+
---
|
|
877
|
+
|
|
878
|
+
## Extending the Framework
|
|
879
|
+
|
|
880
|
+
### Adding a new agent
|
|
881
|
+
|
|
882
|
+
1. Create `agents/<name>.agent.md` with YAML frontmatter (tools, model, handoffs)
|
|
883
|
+
2. Define behavioral rules and context boundaries
|
|
884
|
+
3. Register with Zeus by adding it to his delegation list
|
|
885
|
+
4. Test with a sample task
|
|
886
|
+
5. Invoke `@mnemosyne Update README agent count and tier overview`
|
|
887
|
+
|
|
888
|
+
### Adding a new skill
|
|
889
|
+
|
|
890
|
+
1. Create `skills/<name>/SKILL.md` with YAML frontmatter
|
|
891
|
+
2. Include 2–3 sentence overview, usage conditions, step-by-step examples
|
|
892
|
+
3. Reference relevant agents in the skill body
|
|
893
|
+
4. Invoke `@mnemosyne Update README skills table and count`
|
|
894
|
+
|
|
895
|
+
### Adding a new platform
|
|
896
|
+
|
|
897
|
+
1. Create `platform/<name>/` with platform-specific configs
|
|
898
|
+
2. Add a setup guide to `docs/platforms/<name>.md`
|
|
899
|
+
3. Extend `scripts/install.mjs` and `scripts/sync-platforms.mjs`
|
|
900
|
+
|
|
901
|
+
---
|
|
902
|
+
|
|
903
|
+
## Security & Privacy
|
|
904
|
+
|
|
905
|
+
- **All processing stays local** — no code sent to external APIs beyond your editor's AI provider
|
|
906
|
+
- **No code storage or tracking** — agents operate entirely within your session
|
|
907
|
+
- **No automatic commits** — you control every git operation
|
|
908
|
+
- **No model training** on your code (per your editor's terms of service)
|
|
909
|
+
|
|
910
|
+
**Themis enforces on every phase:**
|
|
911
|
+
- OWASP Top 10 compliance
|
|
912
|
+
- SQL injection, XSS, CSRF prevention
|
|
913
|
+
- Hardcoded secret detection
|
|
914
|
+
- Minimum 80% test coverage (hard block)
|
|
915
|
+
|
|
916
|
+
**Agent hooks enforce at runtime (`scripts/hooks/` + `.opencode/plugins/pantheon-hooks.ts`):**
|
|
917
|
+
- `scan-secrets.sh` — detects hardcoded secrets and credentials (PreToolUse)
|
|
918
|
+
- `validate-tool-safety.sh` — blocks destructive operations (PreToolUse)
|
|
919
|
+
- `validate-talos-scope.sh` — restricts Talos hotfix scope (PreToolUse)
|
|
920
|
+
- `on-subagent-delegation-start.sh` — tracks delegation start (PreToolUse)
|
|
921
|
+
- `format-multi-language.sh` — auto-formats modified files (PostToolUse)
|
|
922
|
+
- `log-session-start.sh` — audit trail of sessions (PostToolUse)
|
|
923
|
+
- `on-subagent-delegation-stop.sh` — delegation cleanup (PostToolUse)
|
|
924
|
+
- `validate-post-conditions.sh` — post-condition validation (event)
|
|
925
|
+
|
|
926
|
+
The `.opencode/plugins/pantheon-hooks.ts` plugin bridges these shell scripts to OpenCode events. OpenCode auto-discovers plugins from `.opencode/plugins/` when running from the project directory.
|
|
927
|
+
|
|
928
|
+
---
|
|
929
|
+
|
|
930
|
+
## FAQ
|
|
931
|
+
|
|
932
|
+
**How much does this cost?**
|
|
933
|
+
You need an existing subscription for your AI coding editor (Copilot, Claude Pro, Cursor
|
|
934
|
+
Pro, or OpenCode). Pantheon itself is free and open-source (MIT).
|
|
935
|
+
|
|
936
|
+
**Can I use this outside VS Code?**
|
|
937
|
+
Yes — OpenCode supported (VS Code, OpenCode, Claude Code, Cursor, Windsurf, Cline, Continue.dev). See
|
|
938
|
+
[Platform Setup Guides](docs/platforms/).
|
|
939
|
+
|
|
940
|
+
**How are platform configs synced?**
|
|
941
|
+
Edit `agents/*.agent.md` (the canonical format), then run `npm run sync`.
|
|
942
|
+
The sync engine transforms agents into every platform's native format.
|
|
943
|
+
|
|
944
|
+
**Can I override Themis's code review?**
|
|
945
|
+
You can proceed past the review gate even if Themis flags issues — except test coverage.
|
|
946
|
+
Below 80% coverage is a hard block by design.
|
|
947
|
+
|
|
948
|
+
**How long does a typical feature take?**
|
|
949
|
+
Simple endpoints: 2–4 hours. Full features (backend + frontend + DB): 6–8 hours. Large
|
|
950
|
+
systems: 20–30 hours across multiple sprint sessions.
|
|
951
|
+
|
|
952
|
+
**What happens if my editor session is interrupted?**
|
|
953
|
+
Open phases pause. The memory bank captures the last committed state. Resume by reading
|
|
954
|
+
`01-active-context.md` at the start of the next session.
|
|
955
|
+
|
|
956
|
+
---
|
|
957
|
+
|
|
958
|
+
## Inspiration & Ecosystem
|
|
959
|
+
|
|
960
|
+
Pantheon draws from the broader multi-agent landscape while diverging in key ways:
|
|
961
|
+
|
|
962
|
+
| Framework | Pattern | Key Difference |
|
|
963
|
+
|---|---|---|
|
|
964
|
+
| **AutoGen** (Microsoft) | Event-driven conversations | Research-grade, Python SDK; Pantheon is config-only |
|
|
965
|
+
| **CrewAI** | Role-based crews | Visual editor, self-hosted; Pantheon lives inside your editor |
|
|
966
|
+
| **LangGraph** | Stateful actor graphs | Code-first graph DSL; Pantheon uses markdown + YAML config |
|
|
967
|
+
| **MetaGPT** | Software company roles | Simulates a company; Pantheon delegates to you at every gate |
|
|
968
|
+
| **OpenAI Swarm** | Lightweight handoffs | Sequential only; Pantheon supports parallel subagents |
|
|
969
|
+
|
|
970
|
+
### Key design decisions
|
|
971
|
+
|
|
972
|
+
- **Context isolation via subagents** — Apollo runs in isolated context; only findings return
|
|
973
|
+
- **Parallel execution** — Independent scopes execute simultaneously
|
|
974
|
+
- **Tool minimization** — Each agent has the smallest necessary tool surface
|
|
975
|
+
- **Human approval gates** — No auto-merging, no phantom commits
|
|
976
|
+
- **Model-role alignment** — Fast models for discovery, powerful models for reasoning
|
|
977
|
+
|
|
978
|
+
---
|
|
979
|
+
|
|
980
|
+
## References
|
|
981
|
+
|
|
982
|
+
| Resource | Purpose |
|
|
983
|
+
|---|---|
|
|
984
|
+
| [AGENTS.md](AGENTS.md) | Full agent reference — behavior, tools, constraints |
|
|
985
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | How to extend the framework |
|
|
986
|
+
| [CHANGELOG.md](CHANGELOG.md) | Release history |
|
|
987
|
+
| [docs/INSTALLATION.md](docs/INSTALLATION.md) | Generic installation guide |
|
|
988
|
+
| [docs/platforms/](docs/platforms/) | Platform-specific setup guides (OpenCode) |
|
|
989
|
+
| [docs/platforms/vscode.md](docs/platforms/vscode.md) | VS Code setup |
|
|
990
|
+
| [docs/platforms/opencode.md](docs/platforms/opencode.md) | OpenCode setup |
|
|
991
|
+
| [docs/platforms/claude.md](docs/platforms/claude.md) | Claude Code setup |
|
|
992
|
+
| [docs/platforms/cursor.md](docs/platforms/cursor.md) | Cursor setup |
|
|
993
|
+
| [docs/platforms/windsurf.md](docs/platforms/windsurf.md) | Windsurf setup |
|
|
994
|
+
| [docs/platforms/cline.md](docs/platforms/cline.md) | Cline setup |
|
|
995
|
+
| [docs/platforms/continue.md](docs/platforms/continue.md) | Continue.dev setup |
|
|
996
|
+
| [agents/README.md](agents/README.md) | Agent directory |
|
|
997
|
+
| [skills/README.md](skills/README.md) | Skill directory |
|
|
998
|
+
| [docs/platforms/](docs/platforms/) | Per-platform setup guides |
|
|
999
|
+
| [docs/mcp-tools.md](docs/mcp-tools.md) | Canonical MCP tool registry |
|
|
1000
|
+
| [docs/mcp-user-guide.md](docs/mcp-user-guide.md) | Adding custom MCP servers |
|
|
1001
|
+
| [docs/mcp-recommendations.md](docs/mcp-recommendations.md) | Recommended MCP servers per project type |
|
|
1002
|
+
| [scripts/hooks/](scripts/hooks/) | Agent lifecycle hooks |
|
|
1003
|
+
| [skills/agent-coordination/SKILL.md](skills/agent-coordination/SKILL.md) | When to use which agent |
|
|
1004
|
+
| [skills/tdd-with-agents/SKILL.md](skills/tdd-with-agents/SKILL.md) | TDD standards and rules |
|
|
1005
|
+
|
|
1006
|
+
---
|
|
1007
|
+
|
|
1008
|
+
**License:** MIT
|
|
1009
|
+
**Architecture Pattern:** Conductor-Delegate
|
|
1010
|
+
**Mythology:** Greek (Zeus, Athena, Apollo, Hermes, Aphrodite, Talos, Themis, Mnemosyne, Gaia, Hephaestus, Nyx, Prometheus, Demeter, Iris)
|
|
1011
|
+
|
|
1012
|
+
---
|
|
1013
|
+
|