@jaguilar87/gaia-ops 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/CHANGELOG.md +315 -0
- package/CLAUDE.md +154 -0
- package/LICENSE +21 -0
- package/README.md +221 -0
- package/agents/aws-troubleshooter.md +50 -0
- package/agents/claude-architect.md +821 -0
- package/agents/devops-developer.md +92 -0
- package/agents/gcp-troubleshooter.md +50 -0
- package/agents/gitops-operator.md +360 -0
- package/agents/terraform-architect.md +289 -0
- package/bin/gaia-init.js +620 -0
- package/commands/architect.md +97 -0
- package/commands/restore-session.md +87 -0
- package/commands/save-session.md +88 -0
- package/commands/session-status.md +61 -0
- package/commands/speckit.add-task.md +144 -0
- package/commands/speckit.analyze-task.md +65 -0
- package/commands/speckit.implement.md +96 -0
- package/commands/speckit.init.md +237 -0
- package/commands/speckit.plan.md +88 -0
- package/commands/speckit.specify.md +161 -0
- package/commands/speckit.tasks.md +188 -0
- package/config/AGENTS.md +162 -0
- package/config/agent-catalog.md +604 -0
- package/config/context-contracts.md +682 -0
- package/config/git-standards.md +674 -0
- package/config/git_standards.json +69 -0
- package/config/orchestration-workflow.md +735 -0
- package/hooks/__pycache__/post_tool_use.cpython-312.pyc +0 -0
- package/hooks/__pycache__/pre_kubectl_security.cpython-312.pyc +0 -0
- package/hooks/__pycache__/pre_tool_use.cpython-312.pyc +0 -0
- package/hooks/__pycache__/session_start.cpython-312.pyc +0 -0
- package/hooks/__pycache__/subagent_stop.cpython-312.pyc +0 -0
- package/hooks/post_tool_use.py +463 -0
- package/hooks/pre_kubectl_security.py +205 -0
- package/hooks/pre_tool_use.py +530 -0
- package/hooks/session_start.py +315 -0
- package/hooks/subagent_stop.py +549 -0
- package/index.js +92 -0
- package/package.json +59 -0
- package/speckit/README.en.md +648 -0
- package/speckit/README.md +353 -0
- package/speckit/governance.md +169 -0
- package/speckit/scripts/check-prerequisites.sh +194 -0
- package/speckit/scripts/common.sh +126 -0
- package/speckit/scripts/create-new-feature.sh +131 -0
- package/speckit/scripts/init.sh +42 -0
- package/speckit/scripts/setup-plan.sh +95 -0
- package/speckit/scripts/update-agent-context.sh +718 -0
- package/speckit/templates/adr-template.md +118 -0
- package/speckit/templates/agent-file-template.md +23 -0
- package/speckit/templates/plan-template.md +233 -0
- package/speckit/templates/spec-template.md +116 -0
- package/speckit/templates/tasks-template-bkp.md +136 -0
- package/speckit/templates/tasks-template.md +345 -0
- package/templates/CLAUDE.template.md +170 -0
- package/templates/code-examples/approval_gate_workflow.py +141 -0
- package/templates/code-examples/clarification_workflow.py +94 -0
- package/templates/code-examples/commit_validation.py +86 -0
- package/templates/project-context.template.json +126 -0
- package/templates/settings.template.json +307 -0
- package/tools/__pycache__/agent_router.cpython-312.pyc +0 -0
- package/tools/__pycache__/approval_gate.cpython-312.pyc +0 -0
- package/tools/__pycache__/clarify_engine.cpython-312.pyc +0 -0
- package/tools/__pycache__/clarify_patterns.cpython-312.pyc +0 -0
- package/tools/__pycache__/commit_validator.cpython-312.pyc +0 -0
- package/tools/__pycache__/context_section_reader.cpython-312.pyc +0 -0
- package/tools/__pycache__/routing_dashboard.cpython-312.pyc +0 -0
- package/tools/__pycache__/routing_feedback.cpython-312.pyc +0 -0
- package/tools/__pycache__/semantic_matcher.cpython-312.pyc +0 -0
- package/tools/__pycache__/task_manager.cpython-312.pyc +0 -0
- package/tools/agent_capabilities.json +231 -0
- package/tools/agent_invoker_helper.py +239 -0
- package/tools/agent_router.py +730 -0
- package/tools/approval_gate.py +318 -0
- package/tools/clarify_engine.py +511 -0
- package/tools/clarify_patterns.py +356 -0
- package/tools/commit_validator.py +338 -0
- package/tools/context_provider.py +181 -0
- package/tools/context_section_reader.py +301 -0
- package/tools/demo_clarify.py +104 -0
- package/tools/generate_embeddings.py +168 -0
- package/tools/quicktriage_aws_troubleshooter.sh +45 -0
- package/tools/quicktriage_devops_developer.sh +38 -0
- package/tools/quicktriage_gcp_troubleshooter.sh +51 -0
- package/tools/quicktriage_gitops_operator.sh +47 -0
- package/tools/quicktriage_terraform_architect.sh +40 -0
- package/tools/semantic_matcher.py +222 -0
- package/tools/task_manager.py +547 -0
- package/tools/task_manager_README.md +395 -0
- package/tools/task_manager_example.py +215 -0
package/README.md
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# @jaguilar87/gaia-ops
|
|
2
|
+
|
|
3
|
+
Multi-agent orchestration system for Claude Code - DevOps automation toolkit.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
**Gaia-Ops** provides a complete agent orchestration system for Claude Code, enabling intelligent automation of DevOps workflows through specialized AI agents.
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **6 specialist agents** (terraform-architect, gitops-operator, gcp-troubleshooter, aws-troubleshooter, devops-developer, claude-architect)
|
|
12
|
+
- **3 meta-agents** (Explore, Plan, claude-architect)
|
|
13
|
+
- **Clarification engine** for ambiguity detection
|
|
14
|
+
- **Approval gates** for T3 operations (terraform apply, kubectl apply, etc.)
|
|
15
|
+
- **Git commit validation** with Conventional Commits
|
|
16
|
+
- **Context provisioning** system for intelligent agent routing
|
|
17
|
+
- **Complete documentation** (orchestration workflow, git standards, agent catalog)
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
### Quick Start (Recommended)
|
|
22
|
+
|
|
23
|
+
Use the built-in interactive installer to set up Gaia-Ops in any project:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx @jaguilar87/gaia-ops init
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Or if installed globally:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install -g @jaguilar87/gaia-ops
|
|
33
|
+
gaia-init
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
This will:
|
|
37
|
+
1. Auto-detect your project structure (GitOps, Terraform, AppServices)
|
|
38
|
+
2. Ask you a few questions about your project
|
|
39
|
+
3. Install Claude Code if not present
|
|
40
|
+
4. Create `.claude/` directory with symlinks to this package
|
|
41
|
+
5. Generate `CLAUDE.md` with correct paths
|
|
42
|
+
6. Generate `AGENTS.md` symlink
|
|
43
|
+
7. Create `project-context.json` with your configuration
|
|
44
|
+
|
|
45
|
+
### Manual Installation
|
|
46
|
+
|
|
47
|
+
If you prefer manual setup:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install @jaguilar87/gaia-ops
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Then create symlinks:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
mkdir -p .claude
|
|
57
|
+
cd .claude
|
|
58
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/agents agents
|
|
59
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/tools tools
|
|
60
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/hooks hooks
|
|
61
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/commands commands
|
|
62
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/templates templates
|
|
63
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/config config
|
|
64
|
+
ln -s ../node_modules/@jaguilar87/gaia-ops/CHANGELOG.md CHANGELOG.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Usage
|
|
68
|
+
|
|
69
|
+
Once installed, the agent system is ready to use with Claude Code:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
claude-code
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Claude Code will automatically load `CLAUDE.md` and have access to all agents via the `.claude/` directory.
|
|
76
|
+
|
|
77
|
+
## Project Structure
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
node_modules/@jaguilar87/gaia-ops/
|
|
81
|
+
├── agents/ # Agent definitions
|
|
82
|
+
│ ├── terraform-architect.md
|
|
83
|
+
│ ├── gitops-operator.md
|
|
84
|
+
│ ├── gcp-troubleshooter.md
|
|
85
|
+
│ ├── aws-troubleshooter.md
|
|
86
|
+
│ ├── devops-developer.md
|
|
87
|
+
│ └── claude-architect.md
|
|
88
|
+
├── tools/ # Orchestration tools
|
|
89
|
+
│ ├── context_provider.py
|
|
90
|
+
│ ├── agent_router.py
|
|
91
|
+
│ ├── clarify_engine.py
|
|
92
|
+
│ ├── approval_gate.py
|
|
93
|
+
│ ├── commit_validator.py
|
|
94
|
+
│ └── task_manager.py
|
|
95
|
+
├── hooks/ # Git hooks
|
|
96
|
+
│ └── pre-commit
|
|
97
|
+
├── commands/ # Slash commands
|
|
98
|
+
│ ├── architect.md
|
|
99
|
+
│ └── speckit.*.md
|
|
100
|
+
├── config/ # Configuration & documentation
|
|
101
|
+
│ ├── AGENTS.md
|
|
102
|
+
│ ├── orchestration-workflow.md
|
|
103
|
+
│ ├── git-standards.md
|
|
104
|
+
│ ├── context-contracts.md
|
|
105
|
+
│ ├── agent-catalog.md
|
|
106
|
+
│ └── git_standards.json
|
|
107
|
+
├── templates/ # Code templates
|
|
108
|
+
│ ├── CLAUDE.template.md
|
|
109
|
+
│ └── code-examples/
|
|
110
|
+
│ ├── commit_validation.py
|
|
111
|
+
│ ├── clarification_workflow.py
|
|
112
|
+
│ └── approval_gate_workflow.py
|
|
113
|
+
├── config/ # Configuration
|
|
114
|
+
│ └── git_standards.json
|
|
115
|
+
├── CLAUDE.md # Core orchestrator instructions
|
|
116
|
+
├── AGENTS.md # System overview
|
|
117
|
+
├── CHANGELOG.md # Version history
|
|
118
|
+
├── package.json
|
|
119
|
+
└── index.js # Helper functions
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Your Project Structure
|
|
123
|
+
|
|
124
|
+
After installation:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
your-project/
|
|
128
|
+
├── .claude/ # Symlinked to node_modules/@aaxis/claude-agents/
|
|
129
|
+
│ ├── agents/ → node_modules/@aaxis/claude-agents/agents/
|
|
130
|
+
│ ├── tools/ → node_modules/@aaxis/claude-agents/tools/
|
|
131
|
+
│ ├── hooks/ → node_modules/@aaxis/claude-agents/hooks/
|
|
132
|
+
│ ├── commands/ → node_modules/@aaxis/claude-agents/commands/
|
|
133
|
+
│ ├── docs/ → node_modules/@aaxis/claude-agents/docs/
|
|
134
|
+
│ ├── templates/ → node_modules/@aaxis/claude-agents/templates/
|
|
135
|
+
│ ├── config/ → node_modules/@aaxis/claude-agents/config/
|
|
136
|
+
│ ├── CHANGELOG.md → node_modules/@aaxis/claude-agents/CHANGELOG.md
|
|
137
|
+
│ ├── logs/ # Project-specific (NOT symlinked)
|
|
138
|
+
│ ├── tests/ # Project-specific (NOT symlinked)
|
|
139
|
+
│ └── project-context.json # Project-specific (NOT symlinked)
|
|
140
|
+
├── CLAUDE.md # Generated from template
|
|
141
|
+
├── AGENTS.md → node_modules/@aaxis/claude-agents/AGENTS.md
|
|
142
|
+
├── gitops/ # Your GitOps manifests
|
|
143
|
+
├── terraform/ # Your Terraform code
|
|
144
|
+
├── app-services/ # Your application code
|
|
145
|
+
├── node_modules/
|
|
146
|
+
│ └── @aaxis/
|
|
147
|
+
│ └── claude-agents/ # This package
|
|
148
|
+
└── package.json
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## API
|
|
152
|
+
|
|
153
|
+
If you need to programmatically access paths in the package:
|
|
154
|
+
|
|
155
|
+
```javascript
|
|
156
|
+
import {
|
|
157
|
+
getAgentPath,
|
|
158
|
+
getToolPath,
|
|
159
|
+
getDocPath
|
|
160
|
+
} from '@aaxis/claude-agents';
|
|
161
|
+
|
|
162
|
+
const agentPath = getAgentPath('gitops-operator');
|
|
163
|
+
// → /path/to/node_modules/@aaxis/claude-agents/agents/gitops-operator.md
|
|
164
|
+
|
|
165
|
+
const toolPath = getToolPath('context_provider.py');
|
|
166
|
+
// → /path/to/node_modules/@aaxis/claude-agents/tools/context_provider.py
|
|
167
|
+
|
|
168
|
+
const docPath = getDocPath('orchestration-workflow.md');
|
|
169
|
+
// → /path/to/node_modules/@aaxis/claude-agents/docs/orchestration-workflow.md
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Versioning
|
|
173
|
+
|
|
174
|
+
This package follows [Semantic Versioning](https://semver.org/):
|
|
175
|
+
|
|
176
|
+
- **MAJOR:** Breaking changes to orchestrator behavior
|
|
177
|
+
- **MINOR:** New features, agents, or improvements
|
|
178
|
+
- **PATCH:** Bug fixes, clarifications, typos
|
|
179
|
+
|
|
180
|
+
Current version: **2.1.0**
|
|
181
|
+
|
|
182
|
+
See [CHANGELOG.md](./CHANGELOG.md) for version history.
|
|
183
|
+
|
|
184
|
+
## Documentation
|
|
185
|
+
|
|
186
|
+
- **Core Instructions:** [CLAUDE.md](./CLAUDE.md) (154 lines)
|
|
187
|
+
- **System Overview:** [AGENTS.md](./AGENTS.md) (95 lines)
|
|
188
|
+
- **Orchestration Workflow:** [docs/orchestration-workflow.md](./docs/orchestration-workflow.md) (735 lines)
|
|
189
|
+
- **Git Standards:** [docs/git-standards.md](./docs/git-standards.md) (682 lines)
|
|
190
|
+
- **Context Contracts:** [docs/context-contracts.md](./docs/context-contracts.md) (673 lines)
|
|
191
|
+
- **Agent Catalog:** [docs/agent-catalog.md](./docs/agent-catalog.md) (603 lines)
|
|
192
|
+
|
|
193
|
+
## Requirements
|
|
194
|
+
|
|
195
|
+
- **Node.js:** >=18.0.0
|
|
196
|
+
- **Python:** >=3.9
|
|
197
|
+
- **Claude Code:** Latest version
|
|
198
|
+
- **Git:** >=2.30
|
|
199
|
+
|
|
200
|
+
## Project Context Management
|
|
201
|
+
|
|
202
|
+
Gaia-Ops uses a versioned project context for SSOT. After installation, clone your project context:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
cd .claude
|
|
206
|
+
git clone git@bitbucket.org:yourorg/your-project-context.git project-context
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
This keeps `project-context.json` versioned separately, while `session/` data remains local.
|
|
210
|
+
|
|
211
|
+
See [rnd-project-context](https://bitbucket.org/aaxisdigital/rnd-project-context) for an example.
|
|
212
|
+
|
|
213
|
+
## Support
|
|
214
|
+
|
|
215
|
+
- **Issues:** [GitHub Issues](https://github.com/metraton/gaia-ops/issues)
|
|
216
|
+
- **Repository:** [github.com/metraton/gaia-ops](https://github.com/metraton/gaia-ops)
|
|
217
|
+
- **Author:** Jorge Aguilar <jaguilar1897@gmail.com>
|
|
218
|
+
|
|
219
|
+
## License
|
|
220
|
+
|
|
221
|
+
MIT License - See [LICENSE](./LICENSE) for details.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aws-troubleshooter
|
|
3
|
+
description: A specialized diagnostic agent for Amazon Web Services. It identifies the root cause of issues by comparing the intended state (IaC/GitOps code) with the actual state (live AWS resources).
|
|
4
|
+
tools: Read, Glob, Grep, Bash, Task, aws, kubectl, terraform, eksctl
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
You are a senior AWS troubleshooting specialist. Your primary purpose is to diagnose and identify the root cause of infrastructure and application issues by acting as a **discrepancy detector**. You operate in a strict read-only mode and **never** propose or realize changes. Your value lies in your methodical, code-first analysis.
|
|
9
|
+
|
|
10
|
+
## Your Inputs
|
|
11
|
+
|
|
12
|
+
You receive all necessary information in a structured format with two main sections: 'contract' (your minimum required data) and 'enrichment' (additional data relevant to the specific task). Your analysis must consider information from both sections.
|
|
13
|
+
|
|
14
|
+
## Core Identity: Code-First Diagnostic Protocol
|
|
15
|
+
|
|
16
|
+
This is your intrinsic and non-negotiable operating protocol. Your goal is to find mismatches between the provided code paths and the live environment. Exploration is forbidden.
|
|
17
|
+
|
|
18
|
+
1. **Trust The Contract:** Your contract contains the exact file paths to the source-of-truth repositories under `terraform_infrastructure.layout.base_path` and `gitops_configuration.repository.path`. You MUST use these paths directly.
|
|
19
|
+
|
|
20
|
+
2. **Analyze Code as Source of Truth:** Using the provided paths, you MUST first analyze the declarative code (Terraform `.hcl` files and Kubernetes YAML manifests) to build a complete picture of the **intended state**.
|
|
21
|
+
|
|
22
|
+
3. **Validate Live State:** Execute targeted, read-only `aws` and `kubectl` commands (`describe-*`, `list-*`, `get-*`) to gather evidence about the **actual state** of the resources in AWS.
|
|
23
|
+
|
|
24
|
+
4. **Synthesize and Report Discrepancies:** Your final output must be a clear report detailing any discrepancies found between the code (as defined by the provided paths) and the live environment. Your recommendation should always be to invoke `terraform-architect` or `gitops-operator` to fix any identified drift.
|
|
25
|
+
|
|
26
|
+
## Forbidden Actions
|
|
27
|
+
|
|
28
|
+
- You MUST NOT use exploratory commands like `find`, `grep -r`, or `ls -R` to discover repository locations. The paths are provided in your context.
|
|
29
|
+
- You MUST NOT propose code changes. Your output is a diagnostic report for other agents to act upon.
|
|
30
|
+
|
|
31
|
+
## Capabilities by Security Tier
|
|
32
|
+
|
|
33
|
+
You are a strictly T0-T2 agent. T3 operations are forbidden.
|
|
34
|
+
|
|
35
|
+
### T0 (Read-only Operations)
|
|
36
|
+
- `aws describe-*`, `list-*`, `get-*` for all services (EKS, EC2, RDS, S3, IAM, etc.)
|
|
37
|
+
- `kubectl get`, `describe`, `logs` (for EKS clusters)
|
|
38
|
+
- `eksctl get`
|
|
39
|
+
- Reading files from IaC and GitOps repositories.
|
|
40
|
+
|
|
41
|
+
### T1/T2 (Validation & Analysis Operations)
|
|
42
|
+
- `aws iam simulate-principal-policy`
|
|
43
|
+
- `aws cloudtrail lookup-events`
|
|
44
|
+
- Correlating findings from the code with metrics from CloudWatch.
|
|
45
|
+
- Cross-referencing Terraform state (`terraform show`) with live resources.
|
|
46
|
+
- Reporting on identified drift or inconsistencies.
|
|
47
|
+
- **You do not propose code changes.** Your output is a diagnostic report for other agents to act upon.
|
|
48
|
+
|
|
49
|
+
### BLOCKED (T3 Operations)
|
|
50
|
+
- You will NEVER execute `aws create-*`, `update-*`, `delete-*`, `terraform apply`, `kubectl apply`, or any other command that modifies state.
|