{"id":47692181,"url":"https://github.com/metraton/gaia-ops","last_synced_at":"2026-04-14T02:00:53.598Z","repository":{"id":323577666,"uuid":"1093825963","full_name":"metraton/gaia-ops","owner":"metraton","description":"GAIA-Ops — General Agentic Integration Architecture. Multi-agent DevOps system that classifies every operation by risk, routes work to specialist agents, and blocks irreversible commands automatically.","archived":false,"fork":false,"pushed_at":"2026-04-10T07:35:41.000Z","size":3057,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T07:37:27.046Z","etag":null,"topics":["ai-agents","claude-code","devops","gaia-ops","orchestration","security"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metraton.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-10T22:26:17.000Z","updated_at":"2026-04-10T07:35:45.000Z","dependencies_parsed_at":"2025-12-06T10:10:50.024Z","dependency_job_id":null,"html_url":"https://github.com/metraton/gaia-ops","commit_stats":null,"previous_names":["metraton/gaia-ops"],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/metraton/gaia-ops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metraton%2Fgaia-ops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metraton%2Fgaia-ops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metraton%2Fgaia-ops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metraton%2Fgaia-ops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metraton","download_url":"https://codeload.github.com/metraton/gaia-ops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metraton%2Fgaia-ops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31778580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"online","status_checked_at":"2026-04-14T02:00:06.344Z","response_time":153,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude-code","devops","gaia-ops","orchestration","security"],"created_at":"2026-04-02T15:47:24.265Z","updated_at":"2026-04-14T02:00:53.588Z","avatar_url":"https://github.com/metraton.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GAIA-Ops\n\n\u003e **G**eneral **A**gentic **I**ntegration **A**rchitecture\n\n[![npm version](https://badge.fury.io/js/@jaguilar87%2Fgaia-ops.svg)](https://www.npmjs.com/package/@jaguilar87/gaia-ops)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js Version](https://img.shields.io/node/v/@jaguilar87/gaia-ops.svg)](https://nodejs.org)\n\nMulti-agent DevOps system that classifies every operation by risk, routes work to specialist agents, and blocks irreversible commands automatically.\n\n## Overview\n\n**GAIA-Ops** is a multi-agent orchestration system for DevOps automation. It provides security-first command classification, specialized AI agents, and plugin-based distribution. Currently integrates with Claude Code.\n\n### Features\n\n- **Multi-cloud support** - GCP, AWS, Azure\n- **8 agents** - terraform-architect, gitops-operator, cloud-troubleshooter, developer, speckit-planner, gaia-operator, gaia-orchestrator, gaia-system (meta-agent)\n- **Contracts as SSOT** - Cloud-agnostic base contracts with per-cloud extensions (GCP, AWS)\n- **Dynamic identity** - Orchestrator identity defined in `agents/gaia-orchestrator.md`, activated via `settings.json` agent config; skills loaded on-demand\n- **Dual-barrier security** - Settings deny rules (Claude Code native) + hook-level blocking (inalterable via symlink)\n- **Indirect execution detection** - Catches `bash -c`, `eval`, `python -c` wrappers that bypass regex patterns\n- **Approval gates** for T3 operations via native `ask` dialog\n- **Git commit validation** with Conventional Commits\n- **21 skills** - Injected procedural knowledge modules for agents\n- **Plugin + npm** - Distributable as Claude Code native plugin or npm package\n- **Enterprise ready** - Managed settings template for organization-wide deployment\n\n## Installation\n\n### Via Claude Code Plugin (recommended)\n```bash\n# Add the marketplace\n/plugin marketplace add metraton/gaia-ops\n\n# Install the full system (includes security)\n/plugin install gaia-ops\n\n# Or install security only\n/plugin install gaia-security    # Security hooks only\n```\n\n### Via npm (advanced setup)\n```bash\nnpm install @jaguilar87/gaia-ops\nnpx gaia-scan\n```\n\n### Quick Start (npm)\n\n```bash\n# Run directly with npx\nnpx gaia-scan\n\n# Or install globally\nnpm install -g @jaguilar87/gaia-ops\ngaia-scan\n```\n\nThis will:\n1. Auto-detect your project structure (GitOps, Terraform, AppServices)\n2. Create `.claude/` directory with symlinks to this package\n3. Generate `project-context.json`\n4. Create `settings.json` with hooks only (no permissions in settings.json)\n5. Merge deny rules + allow permissions into `settings.local.json` (preserves existing user config)\n\nNo `CLAUDE.md` is generated -- orchestrator identity lives in `agents/gaia-orchestrator.md` and is activated via `settings.json: { \"agent\": \"gaia-orchestrator\" }`.\n\n### Settings Architecture\n\nGaia-Ops separates hooks from permissions:\n\n| File | Content | Strategy |\n|------|---------|----------|\n| `settings.json` | Hooks only (9 hook types) | Overwritten from template on each update |\n| `settings.local.json` | Permissions (allow + deny rules) | Union merge — never removes user config |\n\nThis ensures your personal customizations (MCP servers, extra permissions) survive updates.\n\n### Manual Installation\n\n```bash\nnpm install @jaguilar87/gaia-ops\n```\n\nThen create symlinks:\n\n```bash\nmkdir -p .claude \u0026\u0026 cd .claude\nln -s ../node_modules/@jaguilar87/gaia-ops/agents agents\nln -s ../node_modules/@jaguilar87/gaia-ops/tools tools\nln -s ../node_modules/@jaguilar87/gaia-ops/hooks hooks\nln -s ../node_modules/@jaguilar87/gaia-ops/commands commands\nln -s ../node_modules/@jaguilar87/gaia-ops/config config\nln -s ../node_modules/@jaguilar87/gaia-ops/templates templates\nln -s ../node_modules/@jaguilar87/gaia-ops/skills skills\nln -s ../node_modules/@jaguilar87/gaia-ops/speckit speckit\n```\n\n## Usage\n\nOnce installed, the agent system is ready:\n\n```bash\nclaude\n```\n\nThe orchestrator identity is defined in `agents/gaia-orchestrator.md` and activated via `settings.json` agent config. Skills are loaded on-demand.\n\nSkills and injection diagnosis:\n\n```bash\nnpx gaia-skills-diagnose\n# or with test probe:\nnpx gaia-skills-diagnose --run-tests\n```\n\n## Security\n\nGaia-Ops enforces a 6-layer security pipeline:\n\n| Layer | Mechanism | Bypassable? |\n|-------|-----------|-------------|\n| Indirect execution detection | `bash -c`, `eval`, `python -c` wrappers | No (hook-level) |\n| Blocked commands (regex) | 85+ regex patterns | No (symlink to npm package) |\n| Blocked commands (semantic) | 70+ ordered-token rules | No (symlink to npm package) |\n| Cloud pipe validator | Credential piping detection | No (hook-level) |\n| Mutative verb detection | `ask` dialog for state-changing ops | User approves via native dialog |\n| Settings deny rules | 147 deny rules in `settings.local.json` | Self-healing (restored each session) |\n\n### Enterprise Deployment\n\nFor organization-wide enforcement, deploy `templates/managed-settings.template.json` as a managed settings policy via Claude.ai Admin Console. Managed settings have the highest precedence and cannot be overridden.\n\n## Project Structure\n\n```\nnode_modules/@jaguilar87/gaia-ops/\n├── agents/              # Agent definitions (8 agents)\n├── skills/              # Skill modules (21 skills)\n├── tools/               # Orchestration tools\n├── hooks/               # Claude Code hooks (modular architecture)\n├── commands/            # Slash commands (5 speckit + scan-project)\n├── config/              # Configuration (contracts, git standards, rules)\n├── templates/           # Installation templates (settings, governance, managed-settings)\n├── speckit/             # Spec-Kit framework (templates)\n├── bin/                 # CLI utilities (11 scripts)\n└── tests/               # Test suite\n```\n\n## API\n\n```javascript\nimport { getAgentPath, getToolPath, getConfigPath } from '@jaguilar87/gaia-ops';\n\nconst agentPath = getAgentPath('gitops-operator');\nconst toolPath = getToolPath('context_provider.py');\n```\n\n## Versioning\n\nThis package follows [Semantic Versioning](https://semver.org/):\n\n- **MAJOR:** Breaking changes\n- **MINOR:** New features\n- **PATCH:** Bug fixes\n\nCurrent version: **4.5.0**\n\nSee [CHANGELOG.md](./CHANGELOG.md) for version history.\n\n## Documentation\n\n- [INSTALL.md](./INSTALL.md) - Installation guide\n- [config/](./config/) - Configuration (contracts, git standards, universal rules)\n- [agents/](./agents/) - Agent definitions\n- [skills/](./skills/) - Skill modules\n- [commands/](./commands/) - Slash commands (spec-kit)\n- [hooks/](./hooks/) - Hook system (security, validation, audit)\n- [speckit/](./speckit/) - Spec-Kit framework\n- [bin/](./bin/) - CLI utilities\n- [tests/](./tests/) - Test suite\n\n## Requirements\n\n- **Node.js:** \u003e=18.0.0\n- **Python:** \u003e=3.9\n- **Claude Code:** Latest version\n- **Git:** \u003e=2.30\n\n## Project Context Management\n\nGaia-Ops uses a versioned project context as SSOT:\n\n```bash\ncd .claude\ngit clone git@bitbucket.org:yourorg/your-project-context.git project-context\n```\n\n## Support\n\n- **Issues:** [GitHub Issues](https://github.com/metraton/gaia-ops/issues)\n- **Repository:** [github.com/metraton/gaia-ops](https://github.com/metraton/gaia-ops)\n- **Author:** Jorge Aguilar \u003cjorge.aguilar88@gmail.com\u003e\n\n## License\n\nMIT License - See [LICENSE](./LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetraton%2Fgaia-ops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetraton%2Fgaia-ops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetraton%2Fgaia-ops/lists"}