{"id":48057194,"url":"https://github.com/fernandomenuk/openspec","last_synced_at":"2026-04-04T14:29:11.350Z","repository":{"id":344019643,"uuid":"1180092216","full_name":"fernandomenuk/openspec","owner":"fernandomenuk","description":"Universal AI context transpiler. Define once. Spec everywhere. Generates CLAUDE.md, .cursorrules, GEMINI.md, AGENTS.md, and more from a single source of truth.","archived":false,"fork":false,"pushed_at":"2026-03-12T18:27:55.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-13T00:33:47.255Z","etag":null,"topics":["ai","aider","claude","cli","context","copilot","cursor","developer-tools","gemini","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/fernandomenuk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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":"2026-03-12T17:34:28.000Z","updated_at":"2026-03-12T18:27:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fernandomenuk/openspec","commit_stats":null,"previous_names":["fernandomenuk/openspec"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/fernandomenuk/openspec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandomenuk%2Fopenspec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandomenuk%2Fopenspec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandomenuk%2Fopenspec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandomenuk%2Fopenspec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fernandomenuk","download_url":"https://codeload.github.com/fernandomenuk/openspec/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernandomenuk%2Fopenspec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","aider","claude","cli","context","copilot","cursor","developer-tools","gemini","typescript"],"created_at":"2026-04-04T14:29:10.692Z","updated_at":"2026-04-04T14:29:11.341Z","avatar_url":"https://github.com/fernandomenuk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e | \n  \u003ca href=\"README.zh-CN.md\"\u003e简体中文\u003c/a\u003e | \n  \u003ca href=\"README.pt-BR.md\"\u003ePortuguês (Brasil)\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/fernandomenuk/openspec/master/assets/banner.svg\" alt=\"OpenSpec — The universal AI context infrastructure.\" width=\"100%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ch1\u003e🛑 Stop Context Drift.\u003c/h1\u003e\n  \u003cstrong\u003eThe universal AI context infrastructure.\u003c/strong\u003e\u003cbr/\u003e\n  Sync your project rules across \u003cstrong\u003eCursor\u003c/strong\u003e, \u003cstrong\u003eClaude\u003c/strong\u003e, \u003cstrong\u003eGemini\u003c/strong\u003e, and \u003cstrong\u003eWindsurf\u003c/strong\u003e automatically. \n  \u003cbr/\u003eOne source of truth. Seven outputs. Zero manual work.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#-quickstart\"\u003e\u003cstrong\u003eQuickstart\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#-why-openspec\"\u003e\u003cstrong\u003eWhy?\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#%EF%B8%8F-architecture\"\u003e\u003cstrong\u003eArchitecture\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#-configuration\"\u003e\u003cstrong\u003eConfig\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#-contributing\"\u003e\u003cstrong\u003eContributing\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.2.2-6366f1?style=flat-square\" alt=\"Version\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-22c55e?style=flat-square\" alt=\"License\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/node-%3E%3D18-3b82f6?style=flat-square\" alt=\"Node\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-5.x-3178c6?style=flat-square\u0026logo=typescript\u0026logoColor=white\" alt=\"TypeScript\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-a78bfa?style=flat-square\" alt=\"PRs Welcome\" /\u003e\n\u003c/p\u003e\n\n---\n\n## ✨ Why OpenSpec?\n\nIf you use more than one AI tool, you have a **context fragmentation problem**. \n- **Cursor** wants `.cursorrules`\n- **Claude Code** wants `CLAUDE.md`\n- **Aider** wants `.aiderrules`\n- **Copilot** wants `.github/copilot-instructions.md`\n\nWhen your project conventions change, you have to manually update **7+ different files**. Miss one, and your AI starts hallucinating outdated patterns. \n\n**OpenSpec is the \"Transpiler\" for AI context.** You define your rules in clean, modular Markdown files, and OpenSpec generates the optimized format for every AI agent in your stack.\n\n### 🚀 Key Features\n- **🤖 AI-Native Workflow:** Designed to be managed *by* your AI agent.\n- **🔄 Universal Sync:** Supports Cursor, Claude, Gemini, Copilot, Aider, Codex, and Windsurf.\n- **🧠 Zero-Knowledge Setup:** `openspec analyze` scans your codebase and *tells* the AI what rules to write.\n- **🔌 Claude Code First:** Native plugin for the newest, most powerful AI coding tool.\n- **🛠️ Watch Mode:** Updates your context files in real-time as you edit your modules.\n\n---\n\n## The Problem\n\nEvery AI tool has its own context file (CLAUDE.md, .cursorrules, GEMINI.md, etc.). When project conventions evolve, you have to manually update 7 different files. Miss one, and your AI agent starts writing inconsistent code. \n\nOpenSpec solves this by acting as the context layer for your AI agents.\n\n## The Solution\n\n```\n.openspec/modules/           ← AI writes your rules HERE\n  ├── shared.md\n  ├── frontend.md\n  └── backend.md\n        │\n        ▼  AI runs openspec sync\n        │\n  CLAUDE.md                  ← Generated\n  .cursorrules               ← Generated\n  GEMINI.md                  ← Generated\n  ... (7+ outputs)           ← Generated\n```\n\n**One source of truth. Seven outputs. Zero manual work.**\n\n---\n\n## ⚡ Truly Zero Manual Work (Recommended)\n\nOpenSpec is built for AI agents to manage autonomously. You don't even need to initialize the project—the AI does it for you.\n\n### 1. Add to Claude Code\nSimply run these commands inside your Claude Code session:\n```bash\n/plugin marketplace add fernandomenuk/openspec\n/plugin install openspec@openspec\n```\n\n### 2. Configure Automatically\nRun the configuration command:\n```bash\n/openspec:configure\n```\n**That's it.** Claude will analyze your codebase, create the rules, and sync them to every tool in your stack.\n\n---\n\n## 🛠️ CLI Workflow (Any Agent)\n\nIf you use Cursor, Windsurf, Aider, or any other agent, just tell them:\n\n\u003e *\"Run `npx @menukfernando/openspec analyze`, use the output to write modular rules to `.openspec/modules/`, and then run sync.\"*\n\nOpenSpec's `analyze` command provides a high-density structured report specifically designed for AI agents to understand your codebase conventions instantly.\n\n---\n\n## 🔧 CLI Reference\n\n```\nUsage: openspec [command] [options]\n\nCommands:\n  analyze           Deep codebase analysis for AI-powered rule generation (auto-inits)\n  sync [--quiet]    Compile modules → generate all AI context files\n  watch             Watch for module changes, auto-sync on save\n  status            Show modules, targets, and sync status\n  diff              Preview what changes sync would make\n  add \u003cname\u003e        Create a new rule module\n  install           Install OpenSpec Claude Code Plugin (Local)\n  hooks [--remove]  Install/remove git pre-commit hook\n  clean             Remove all generated files (only openspec-managed)\n  help [command]    Show help for a command\n```\n\n---\n\n## 📋 Roadmap\n\n- [x] Core transpiler engine\n- [x] 7 target outputs (Claude, Cursor, Gemini, Copilot, Aider, Codex, Windsurf)\n- [x] **Claude Code Plugin \u0026 Marketplace support**\n- [x] **Truly Zero-Init Workflow**\n- [ ] MCP server mode for dynamic context\n- [ ] Module inheritance \u0026 composition\n- [ ] Monorepo support\n\n---\n\n## 📄 License\n\nMIT — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eStop copy-pasting AI rules.\u003c/strong\u003e\u003cbr/\u003e\n  \u003ccode\u003enpx @menukfernando/openspec analyze \u0026\u0026 npx @menukfernando/openspec sync\u003c/code\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandomenuk%2Fopenspec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernandomenuk%2Fopenspec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernandomenuk%2Fopenspec/lists"}