{"adoption": {"forks": 206, "observed_at": "2026-08-28T04:06:31.480067+00:00", "stars": 2258}, "canonical_url": "https://ross.abutalabs.com/products/harmonist", "card": {"archived": false, "artifact_type": "framework", "description": "Portable AI agent orchestration with mechanical protocol enforcement. 186 agents, zero runtime dependencies.", "domain": ["large-language-models", "developer-tools"], "enriched": true, "function": ["agent-framework", "prompt-engineering", "workflow-automation", "developer-tools"], "health_score": 91, "homepage": "https://gammalab.ae", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["GammaLabTechnologies/harmonist"], "name": "GammaLabTechnologies/harmonist", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-06-09T23:15:07+00:00", "repo": "GammaLabTechnologies/harmonist", "stars": 2258, "tags": ["multi-agent-orchestration", "claude-code", "cursor-ide", "protocol-enforcement", "ai-coding-assistants", "zero-dependency", "ai-agents", "automation"], "topics": ["agent-framework", "agent-system", "ai-agents", "claude-code", "cursor-ide", "llm", "multi-agent-framework", "orchestration", "prompt-engineering", "python"], "urls": [], "use_cases": ["orchestrate multiple ai agents in my coding workflow", "enforce review and memory rules on llm coding agents", "add multi-agent framework to claude code or cursor", "prevent ai coding assistant from skipping required steps", "track supply chain integrity of ai-generated code", "manage a catalogue of specialized ai agents across ides"], "what_it_is": "Harmonist is a portable multi-agent orchestration framework for AI coding assistants like Cursor, Claude Code, Copilot, and Windsurf, shipping 193 agents with zero runtime dependencies (Python stdlib only). It enforces agent protocols mechanically via hooks that gate every code-changing turn, rather than relying on prompt instructions.", "when_to_avoid": ["you want a general-purpose agent runtime with rich integrations and external libraries", "you don't use AI coding assistants like Cursor or Claude Code", "you need lightweight ad-hoc prompting without protocol overhead"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/harmonist", "repo": "GammaLabTechnologies/harmonist", "role": "main", "score": 71}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.480067+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:42:46.924933+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c8b72e3b5d70f6a7940a9126fad202fa8c7618719ae961ba6244140318699461", "fetched_at": "2026-08-28T04:06:31.480067+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GammaLabTechnologies/harmonist"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 86, "longevity": 9, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 132, "days_push": 85, "days_rel": 85, "gap_med": 1, "n_releases_24m": 4}, "score": 71, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}