{"adoption": {"forks": 797, "observed_at": "2026-08-28T04:11:06.618773+00:00", "stars": 14252}, "canonical_url": "https://ross.abutalabs.com/products/trellis", "card": {"archived": false, "artifact_type": "framework", "description": "The best agent harness.", "domain": ["developer-tools", "large-language-models"], "enriched": true, "function": ["agent-framework", "prompt-engineering", "developer-tools", "cli", "workflow-automation"], "health_score": 79, "homepage": "https://docs.trytrellis.app", "language": "TypeScript", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["mindfold-ai/Trellis"], "name": "mindfold-ai/Trellis", "platform": ["python", "cli", "cross-platform", "windows"], "pushed_at": "2026-08-21T02:13:13+00:00", "repo": "mindfold-ai/Trellis", "stars": 14252, "tags": ["agentic-coding", "ai-coding-assistants", "spec-injection", "claude-code", "codex", "cursor", "agent-harness", "context-management", "npm-package", "ai-agents", "automation", "nodejs", "macos", "linux"], "topics": ["agentic-coding", "ai-workflow", "codex", "harness", "claudecode"], "urls": [], "use_cases": ["give AI coding agents persistent memory of my project conventions", "inject project specs automatically into Claude Code or Codex sessions", "enforce a spec-driven workflow on AI coding assistants", "share coding standards and tasks with a team using AI agents", "manage task lifecycle and context for sub-agents", "make any coding agent follow my engineering standards", "stop AI assistants from starting every session from scratch"], "what_it_is": "Trellis is an open-source engineering framework and agent harness for AI coding assistants that persists project specs, tasks, and cross-session memory into your repository. It auto-injects curated context into every AI session across 20+ coding platforms (Claude Code, Codex, Cursor, Gemini CLI, and more) so agents follow your team's conventions and workflow.", "when_to_avoid": ["you want a fully autonomous coding agent rather than a harness that scaffolds and constrains existing agents", "your project is small enough that a single rules file suffices", "you need a permissive license - Trellis is AGPL-3.0", "you cannot install Node.js 18+ and Python 3.9+"], "when_to_choose": ["you use AI coding assistants (Claude Code, Codex, Cursor, etc.) and want consistent, convention-following output across sessions", "your team needs shared, versioned specs and task memory persisted in the repo", "you want automatic context injection and workflow enforcement rather than manually maintained rules files like .cursorrules or CLAUDE.md", "you work across multiple AI coding platforms and want one portable framework"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/trellis", "repo": "mindfold-ai/Trellis", "role": "main", "score": 59}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "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:11:06.618773+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:06.618773+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:12:41.839927+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2671b2de5a49be85061136a387e6735261327798a4e7a0c50ef71d24dc7235e8", "fetched_at": "2026-08-28T04:11:06.618773+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mindfold-ai/Trellis"}, {"content_hash": "91795d477f06984f5b8667db7e92e5c1b909dad509b22824e416e07f0967035c", "fetched_at": "2026-08-29T08:06:36.448098+00:00", "kind": "homepage", "missing": false, "url": "https://docs.trytrellis.app"}, {"content_hash": "a2a3909a79c4a2c76bb5cef01ffd90a51589daa32a8900590812ad792daa23e6", "fetched_at": "2026-08-29T08:06:36.450892+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/changelog/v0.6.16"}, {"content_hash": "23848425447e4fbbb6ea667e01cbe5b00883fced566830c75f4636f80ece2c30", "fetched_at": "2026-08-29T08:06:36.452760+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/start/install-and-first-task"}, {"content_hash": "3347506cc63c3f431d6dcb87e20bbee540d75bffe68daac56da040767a0205db", "fetched_at": "2026-08-29T08:06:36.455091+00:00", "kind": "site_page", "missing": false, "url": "https://docs.trytrellis.app/advanced/appendix-f"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 15, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 219, "days_push": 13, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 59, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}