{"_id":"@amanktyr/tailor","_rev":"4-f9aa90c80ef3b5293a9403a12c5ca428","name":"@amanktyr/tailor","dist-tags":{"latest":"1.4.0"},"versions":{"0.1.0":{"name":"@amanktyr/tailor","version":"0.1.0","keywords":["ai","coding-agent","agent-skills","skill","codex","claude","cursor","gemini","software-engineering","code-reuse","project-memory","architecture-decision-records"],"author":{"name":"Tailor Contributors"},"license":"MIT","_id":"@amanktyr/tailor@0.1.0","maintainers":[{"name":"amanktyr","email":"amanktyrrr@gmail.com"}],"homepage":"https://github.com/AmanKtyr/Tailor#readme","bugs":{"url":"https://github.com/AmanKtyr/Tailor/issues"},"bin":{"tailor":"dist/cli/bin.js"},"dist":{"shasum":"d5add2ac000d6dca80df362adf9191293b2ea447","tarball":"https://registry.npmjs.org/@amanktyr/tailor/-/tailor-0.1.0.tgz","fileCount":218,"integrity":"sha512-vN4fPqIB7FiLIWBRMZN8g9Ng4koSlmSGj0INxahEF+cBff9FXrH6T9GxfezzcZ7SOhnysYZrGuYVexhOLQSjkQ==","signatures":[{"sig":"MEYCIQDKtI7/tC83ts3zUty9pBNl9xUu22ZAvomGECuXo5ZApAIhAJ3IKsLu7YoL0jZ5qDB3BAL8xuNMvZx/6DU/NWKAbDRJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350465},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"021475232acd1b6374754e433a18bdee0a5a9a3f","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/cli/bin.js","watch":"tsc -w","prepare":"npm run build","benchmark":"node --loader ts-node/esm benchmarks/scripts/run-benchmarks.js","test:watch":"vitest"},"_npmUser":{"name":"amanktyr","email":"amanktyrrr@gmail.com"},"repository":{"url":"git+https://github.com/AmanKtyr/Tailor.git","type":"git"},"_npmVersion":"10.9.3","description":"AI coding-agent engineering framework and skill for disciplined, reuse-first software engineering.","directories":{},"_nodeVersion":"22.19.0","dependencies":{"js-yaml":"^4.1.0","commander":"^12.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.6","typescript":"^5.7.3","@types/node":"^22.13.4","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/tailor_0.1.0_1786869870228_0.9791917129978642","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@amanktyr/tailor","version":"1.3.0","keywords":["ai","ai-coding-agent","spec-driven-development","sdd","spec-kit","ponytail","mcp","mcp-server","model-context-protocol","claude-code","cursor","cursorrules","antigravity","gemini-cli","windsurf","roo-code","cline","github-copilot","codex","opencode","software-engineering","code-reuse","prompt-engineering","project-memory","constitution","decision-ladder","anti-bloat","token-optimization","architecture-decision-records"],"author":{"name":"Aman Katyar","email":"https://github.com/AmanKtyr"},"license":"MIT","_id":"@amanktyr/tailor@1.3.0","maintainers":[{"name":"amanktyr","email":"amanktyrrr@gmail.com"}],"homepage":"https://github.com/AmanKtyr/Tailor#readme","bugs":{"url":"https://github.com/AmanKtyr/Tailor/issues"},"bin":{"tailor":"dist/cli/bin.js","tailor-mcp":"dist/cli/mcp-bin.js"},"dist":{"shasum":"292c9be83fb36390ac6520505186c411b48eae0c","tarball":"https://registry.npmjs.org/@amanktyr/tailor/-/tailor-1.3.0.tgz","fileCount":280,"integrity":"sha512-xlOZpOiEDll8U2dWWsMhXkUNmiqp2mGjxlB6gvgyldfuU6xlEdCFJaEPo5rBMDGyaxs/AWZKy+ITgacNtD4Vnw==","signatures":[{"sig":"MEYCIQD6l/ZzyrVRkKDjmmzD9UWTLUmQKYLYBU+/YiInobj1GgIhAJwDNQTsLNJEX0iaP3PCnUNDcyK1RmYbJ9LUW1y5TbhB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522616},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"17a2930afd6dab27093fb33f48abf33a55de7927","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/cli/bin.js","watch":"tsc -w","prepare":"npm run build","benchmark":"node benchmarks/scripts/run-benchmarks.js","test:watch":"vitest"},"_npmUser":{"name":"amanktyr","email":"amanktyrrr@gmail.com"},"repository":{"url":"git+https://github.com/AmanKtyr/Tailor.git","type":"git"},"_npmVersion":"10.9.3","description":"Unified AI Coding-Agent Engineering Framework. Combining Spec-Driven Development, Adaptive Pragmatism (Lite/Full/Ultra), Progressive Project Memory (.ai/), AST Semantic Code Reuse, and Native Model Context Protocol (MCP) Server for Claude Code, Cursor, Co","directories":{},"_nodeVersion":"22.19.0","dependencies":{"js-yaml":"^4.1.0","commander":"^12.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.6","typescript":"^5.7.3","@types/node":"^22.13.4","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/tailor_1.3.0_1787167181565_0.2948679265547911","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@amanktyr/tailor","version":"1.3.1","keywords":["ai","ai-agent","ai-agents","ai-coding","ai-coding-agent","agentic","agentic-ai","agentic-coding","vibe-coding","coding-assistant","ai-pair-programmer","developer-tools","devtools","cli","mcp","mcp-server","model-context-protocol","context-protocol","context-management","spec-driven-development","sdd","spec-kit","specification","specs","cursor","cursorrules","claude","claude-code","windsurf","windsurfrules","cline","clinerules","roo-code","copilot","github-copilot","codex","antigravity","gemini-cli","opencode","zed","zed-editor","aider","skills","agent-skills","ponytail","project-memory","constitution","code-reuse","ast-analysis","ast-semantic-reuse","code-intelligence","ai-guardrails","token-optimization","cost-optimization","anti-bloat","clean-code","drift-detection","software-engineering","architecture-decision-records","adr","decision-ladder","AmanKtyr"],"author":{"name":"Aman Katiyar","email":"https://github.com/AmanKtyr"},"license":"MIT","_id":"@amanktyr/tailor@1.3.1","maintainers":[{"name":"amanktyr","email":"amanktyrrr@gmail.com"}],"homepage":"https://github.com/AmanKtyr/Tailor#readme","bugs":{"url":"https://github.com/AmanKtyr/Tailor/issues"},"bin":{"tailor":"dist/cli/bin.js","tailor-mcp":"dist/cli/mcp-bin.js"},"dist":{"shasum":"4907b185851bc9e784e3c3eb532b1071454fbf32","tarball":"https://registry.npmjs.org/@amanktyr/tailor/-/tailor-1.3.1.tgz","fileCount":280,"integrity":"sha512-ABYLc+1pSPpXFPBlL/NDyeHZSmenhVez0cyJ0oekIlCjQKHILD4mLlh1m3QbIl3j2kag738OiirKrcwrsyWSEw==","signatures":[{"sig":"MEYCIQCEGCYDGVGGLr+7Ss2yzBNt8qFYepb+zPrZmxv91rsAsAIhAPu5O+pjTaulLpQ0OOA5BKA1THEXGBP59aQjtyYHlGrq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":523196},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c2bf208450ea25a894061bec178a073442b11d8d","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/cli/bin.js","watch":"tsc -w","prepare":"npm run build","benchmark":"node benchmarks/scripts/run-benchmarks.js","test:watch":"vitest"},"_npmUser":{"name":"amanktyr","email":"amanktyrrr@gmail.com"},"repository":{"url":"git+https://github.com/AmanKtyr/Tailor.git","type":"git"},"_npmVersion":"10.9.3","description":"Stop vibe-coding bloat & token waste. Unified AI Coding-Agent & Spec-Driven Development (SDD) framework with AST semantic code reuse, progressive project memory (.ai/), and native MCP server for Claude Code, Cursor, Windsurf, Roo Code, Copilot, Zed, and A","directories":{},"_nodeVersion":"22.19.0","dependencies":{"js-yaml":"^4.1.0","commander":"^12.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.6","typescript":"^5.7.3","@types/node":"^22.13.4","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/tailor_1.3.1_1787505172108_0.2946513640377024","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"_id":"@amanktyr/tailor@1.4.0","bin":{"tailor":"dist/cli/bin.js","tailor-mcp":"dist/cli/mcp-bin.js"},"bugs":{"url":"https://github.com/AmanKtyr/Tailor/issues"},"dist":{"shasum":"1c52170b023cb82cc5f9c92b92902cd155d58391","tarball":"https://registry.npmjs.org/@amanktyr/tailor/-/tailor-1.4.0.tgz","fileCount":303,"integrity":"sha512-P///v+eGuHpcnq3bZ0Xi014BT7IdgnrPLoNWaYDTxDsvTs+UEJsSt6NWRwV5DwCGfWcrNyYC7yaQC5XE++OEpw==","signatures":[{"sig":"MEUCIGKlKo+LnQsKqGB421VptevbTiUGmj/W1/6eq7Q2VD4wAiEAg7kxZ7S2bVu++WuamDLob5xeVK057q+RM76jsdxXVhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID5mh8TMTd48d9jjC5eRCDlWlaVpPFb45HyRcPNe1O4cAiEArurpoe21eHAk6GS63m50z2sFRigeFjGob8IVaOx2TlA="}],"unpackedSize":638499},"main":"dist/index.js","name":"@amanktyr/tailor","type":"module","types":"dist/index.d.ts","author":{"name":"Aman Katiyar","email":"https://github.com/AmanKtyr"},"engines":{"node":">=18.0.0"},"gitHead":"d3f47d125493354a9c9aad74417a27dc86023826","license":"MIT","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsc","start":"node dist/cli/bin.js","watch":"tsc -w","prepare":"npm run build","benchmark":"node benchmarks/scripts/run-benchmarks.js","test:watch":"vitest"},"version":"1.4.0","_npmUser":{"name":"amanktyr","email":"amanktyrrr@gmail.com"},"homepage":"https://github.com/AmanKtyr/Tailor#readme","keywords":["ai","ai-agent","ai-agents","ai-coding","ai-coding-agent","agentic","agentic-ai","agentic-coding","vibe-coding","coding-assistant","ai-pair-programmer","developer-tools","devtools","cli","mcp","mcp-server","model-context-protocol","context-protocol","context-management","spec-driven-development","sdd","spec-kit","specification","specs","cursor","cursorrules","claude","claude-code","windsurf","windsurfrules","cline","clinerules","roo-code","copilot","github-copilot","codex","antigravity","gemini-cli","opencode","zed","zed-editor","aider","skills","agent-skills","ponytail","project-memory","constitution","code-reuse","ast-analysis","ast-semantic-reuse","code-intelligence","ai-guardrails","token-optimization","cost-optimization","anti-bloat","clean-code","drift-detection","software-engineering","architecture-decision-records","adr","decision-ladder","AmanKtyr"],"repository":{"url":"git+https://github.com/AmanKtyr/Tailor.git","type":"git"},"_npmVersion":"10.9.3","description":"Stop vibe-coding bloat & token waste. Unified AI Coding-Agent & Spec-Driven Development (SDD) framework with AST semantic code reuse, progressive project memory (.ai/), and native MCP server for Claude Code, Cursor, Windsurf, Roo Code, Copilot, Zed, and A","directories":{},"maintainers":[{"name":"amanktyr","email":"amanktyrrr@gmail.com"}],"_nodeVersion":"22.19.0","dependencies":{"js-yaml":"^4.1.0","commander":"^12.1.0","picocolors":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.6","typescript":"^5.7.3","@types/node":"^22.13.4","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tailor_1.4.0_1788718928552_0.6788382667319739"}}},"time":{"created":"2026-08-16T08:44:30.029Z","modified":"2026-09-06T18:22:08.831Z","0.1.0":"2026-08-16T08:44:30.393Z","1.3.0":"2026-08-19T19:19:41.740Z","1.3.1":"2026-08-23T17:12:52.343Z","1.4.0":"2026-09-06T18:22:08.663Z"},"bugs":{"url":"https://github.com/AmanKtyr/Tailor/issues"},"author":{"name":"Aman Katiyar","email":"https://github.com/AmanKtyr"},"license":"MIT","homepage":"https://github.com/AmanKtyr/Tailor#readme","keywords":["ai","ai-agent","ai-agents","ai-coding","ai-coding-agent","agentic","agentic-ai","agentic-coding","vibe-coding","coding-assistant","ai-pair-programmer","developer-tools","devtools","cli","mcp","mcp-server","model-context-protocol","context-protocol","context-management","spec-driven-development","sdd","spec-kit","specification","specs","cursor","cursorrules","claude","claude-code","windsurf","windsurfrules","cline","clinerules","roo-code","copilot","github-copilot","codex","antigravity","gemini-cli","opencode","zed","zed-editor","aider","skills","agent-skills","ponytail","project-memory","constitution","code-reuse","ast-analysis","ast-semantic-reuse","code-intelligence","ai-guardrails","token-optimization","cost-optimization","anti-bloat","clean-code","drift-detection","software-engineering","architecture-decision-records","adr","decision-ladder","AmanKtyr"],"repository":{"url":"git+https://github.com/AmanKtyr/Tailor.git","type":"git"},"description":"Stop vibe-coding bloat & token waste. Unified AI Coding-Agent & Spec-Driven Development (SDD) framework with AST semantic code reuse, progressive project memory (.ai/), and native MCP server for Claude Code, Cursor, Windsurf, Roo Code, Copilot, Zed, and A","maintainers":[{"name":"amanktyr","email":"amanktyrrr@gmail.com"}],"readme":"<div align=\"center\">\n\n# TAILOR\n\n<img src=\"./assets/tailor-mascot.jpg\" alt=\"Tailor - Reuse-First AI Engineering\" width=\"800\" style=\"border-radius: 8px; margin: 16px 0;\" />\n\n### *Make the code fit the project — with zero waste.*\n\n**The Unified AI Coding-Agent Engineering Framework**  \nCombining **Spec-Driven Development (SDD)**, **Adaptive Pragmatism (Lite/Full/Ultra)**, **Progressive Project Memory (`.ai/`)**, **AST Semantic Code Reuse**, and a **Native Model Context Protocol (MCP) Server** for Claude Code, Cursor, Codex, Gemini CLI / Antigravity, Windsurf, Roo Code / Cline, GitHub Copilot CLI, and Zed.\n\nCreated by **Aman Katiyar** ([@AmanKtyr](https://github.com/AmanKtyr)).\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Node: >=18](https://img.shields.io/badge/Node-%3E%3D18.0.0-green.svg)](package.json)\n[![TypeScript: Strict](https://img.shields.io/badge/TypeScript-Strict-blue.svg)](tsconfig.json)\n[![Tests: Vitest](https://img.shields.io/badge/Tests-41%20Passing-brightgreen.svg)](tests/)\n[![Benchmarks: 100%](https://img.shields.io/badge/Benchmarks-100%25-success.svg)](benchmarks/)\n[![MCP: Supported](https://img.shields.io/badge/MCP-Protocol%202024--11--05-purple.svg)](src/mcp/)\n\n---\n\n</div>\n\n## Overview & Objectives\n\nAI coding assistants frequently encounter two distinct failure modes:\n1. **Unstructured Generation (\"Vibe Coding\"):** Agents generate code from loose prompts, introducing redundant dependencies, duplicate components, and unvetted architectural changes.\n2. **Extreme Laziness without Specifications:** Agents produce abbreviated implementations without documented requirements, contracts, or architectural constraints.\n\n**Tailor** unifies these requirements into a disciplined, multi-agent engineering framework:\n* **Spec-Driven Development (SDD):** Transforms user intent into formal feature specifications (`spec.md`), technical plans (`plan.md`), and granular checklists (`tasks.md`), governed by a **Project Constitution** (`.ai/CONSTITUTION.md`).\n* **Adaptive Pragmatism Ladder:** Enforces the 7-step decision ladder (YAGNI -> Existing Code -> Stdlib -> Native API -> Installed Dep -> One-liner -> Minimal Code) with configurable intensity levels (`lite`, `balanced`, `ultra`, `strict`).\n* **Progressive Project Memory (`.ai/`):** Self-healing, compact domain memory reducing LLM context token overhead by up to 80% with live drift repair.\n* **AST Semantic Code Reuse:** Deterministically indexes workspace components, hooks, and utilities to inject reuse audits prior to code generation.\n* **Strict Anti-Styling & Anti-Bloat Guardrails:** Enforces zero unsolicited CSS, prevents styling sprawl (gradients, glassmorphism, random Tailwind classes), and mandates minimal diff discipline.\n* **17 Production Agent Skills:** Standardized skills across frontend, backend, security, testing, architecture, and governance synchronized automatically to `.agents/skills/`.\n* **Native MCP Server:** Connects directly to Claude Desktop, Cursor, Zed, Windsurf, and Antigravity via standard JSON-RPC.\n\n---\n\n## Comparison Matrix\n\n| Capability / Dimension | GitHub `spec-kit` (Specify) | DietrichGebert `ponytail` | **Tailor 2.0 (Unified)** |\n| :--- | :--- | :--- | :--- |\n| **Core Paradigm** | Spec-Driven Development (SDD) | Pragmatism & LOC reduction | **Unified Framework: SDD + Pragmatism + Memory + Reuse + MCP** |\n| **CLI & Runtime** | Python (`uv tool install specify-cli`) | Prompt-only (no executable CLI) | **Zero-Config Node/TypeScript CLI (`npx @amanktyr/tailor`)** |\n| **Project Constitution** | `.specify/memory/constitution.md` | Hardcoded prompt rule | **`.ai/CONSTITUTION.md` + `.ai/INDEX.md` + Live ADRs** |\n| **Pre-Execution Reuse Audit** | None (causes duplicated code) | Text rule only | **AST scan automatically injects existing components into `plan.md`** |\n| **Pragmatism Intensity** | None (tends to generate bloat) | `lite`, `full`, `ultra` | **`lite`, `balanced`, `ultra`, `strict` embedded everywhere** |\n| **Native MCP Server** | None | None | **Built-in JSON-RPC 2.0 Server (`tailor mcp` / `tailor-mcp`)** |\n| **Live Drift Detection** | None | None | **Continuous AST scanner auto-repairs stale project memory** |\n| **Multi-Agent Adapters** | 4 platforms | 5 platforms | **10+ Platforms (Claude, Cursor, Codex, Gemini, Windsurf, Cline, Copilot, Zed)** |\n| **Open Source Standards** | Standard GitHub | HN/Reddit buzz | **NPM CLI, Skills standard, MCP protocol, and CI workflows** |\n\n---\n\n## Quick Start & Installation\n\nTailor can be utilized via the universal **Agent Skills** standard, as a **Global / Local CLI**, or as a **Model Context Protocol (MCP) Server**.\n\n### 1. Universal Agent Installation (`skills` CLI)\n\n```bash\n# Install Tailor across all AI coding assistants in your workspace\nnpx skills add AmanKtyr/Tailor -y\n\n# Or install globally across your machine (-g)\nnpx skills add AmanKtyr/Tailor -g -y\n```\n\n### 2. NPM CLI Installation\n\n```bash\n# Install globally\nnpm install -g @amanktyr/tailor\n\n# Or run directly via npx without installation:\nnpx @amanktyr/tailor init\n```\n\n### 3. Model Context Protocol (MCP) Server Setup\n\nAdd Tailor to your `claude_desktop_config.json` or Cursor MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"tailor\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@amanktyr/tailor\", \"mcp\"]\n    }\n  }\n}\n```\n\n---\n\n## CLI Command Reference\n\n```bash\n# Project Governance & Initialization\ntailor init                          # Conduct discovery, stack selection, and initialize .ai/\ntailor constitution                  # View or regenerate .ai/CONSTITUTION.md\ntailor sync                          # Synchronize all 10+ AI agent adapter files\n\n# Skills Governance\ntailor skills list                   # Inspect all 17 agent engineering skills and sync status\ntailor skills sync                   # Mirror all skills into .agents/skills/ for Gemini & Codex\ntailor skills info <name>            # View complete directives and rules for a specific skill\n\n# Spec-Driven Development (SDD) Workflow\ntailor spec init                     # Initialize specs/ directory and constitution\ntailor spec new <feature-name>       # Scaffold specs/<id>-<name>/spec.md with user stories\ntailor spec plan <id>                # Generate reuse-aware technical plan (plan.md)\ntailor spec tasks <id>               # Generate granular, ordered task checklist (tasks.md)\ntailor spec list                     # View all active feature specs and completion status\n\n# Intelligence, Memory & Security\ntailor analyze                       # Deterministically inspect stack, frameworks, and reusable catalog\ntailor memory update                 # Synchronize .ai/ progressive memory documents\ntailor memory drift                  # Detect drift between active code and recorded memory\ntailor security                      # Run static security rules and credential leak checks\ntailor dependencies --check <pkg>   # Evaluate package for bloat, redundancy, and licenses\ntailor review                        # Run holistic quality, architecture, and security gates\ntailor doctor                        # Run full system, git, memory, and skill diagnostics\ntailor mcp                           # Start stdio Model Context Protocol (MCP) server\n```\n\n---\n\n## The 7-Step Pragmatism Ladder\n\nBefore writing any new implementation or adding dependencies, AI agents follow this mandatory sequence:\n\n```\n┌────────────────────────────────────────────────────────┐\n│ 1. Does this need to exist? (YAGNI)                    │\n│    -> Reject speculative complexity or future-proofing.│\n├────────────────────────────────────────────────────────┤\n│ 2. Already in this codebase?                           │\n│    -> Search src/components/, src/lib/, src/utils/.    │\n├────────────────────────────────────────────────────────┤\n│ 3. Does the Standard Library do it?                    │\n│    -> Use crypto.randomUUID(), structuredClone(), etc. │\n├────────────────────────────────────────────────────────┤\n│ 4. Does a Native Platform / Browser API cover it?      │\n│    -> Use <dialog>, <input type=\"date\">, fetch().      │\n├────────────────────────────────────────────────────────┤\n│ 5. Does an already-installed dependency solve it?      │\n│    -> Reuse existing packages in package.json.         │\n├────────────────────────────────────────────────────────┤\n│ 6. Can it be written as a one-liner / inline helper?   │\n│    -> Avoid creating 50-line wrappers for simple logic.│\n├────────────────────────────────────────────────────────┤\n│ 7. Only then: Write the minimum amount of clean code.  │\n│    -> Clean domain boundaries, types, and tests.       │\n└────────────────────────────────────────────────────────┘\n```\n\n---\n\n## Universal Multi-Agent Support (10+ Platforms)\n\n| AI Platform | Integration File | Description |\n| :--- | :--- | :--- |\n| **Claude Code** | `CLAUDE.md` | Loads `.ai/CONSTITUTION.md` and enforces Reuse-First rules |\n| **Cursor IDE** | `.cursorrules` & `.cursor/rules/tailor.mdc` | Guides Cursor Composer & Chat with project memory |\n| **OpenAI Codex / ChatGPT** | `AGENTS.md` & `.agents/skills/` | Resolved automatically from `.agents/skills/` standard |\n| **Gemini CLI / Antigravity** | `GEMINI.md` & `.agents/skills/` | Discovers 17 skills directly in workspace `.agents/skills/` |\n| **Windsurf** | `.windsurfrules` | Native discovery via standard rules file |\n| **Roo Code / Cline** | `.clinerules` | Enforces project constitution during task execution |\n| **GitHub Copilot CLI** | `.github/copilot-instructions.md` | Native instructions for Copilot workspace chat |\n| **OpenCode** | `.opencode/rules/tailor.md` | Open-source agent integration rules |\n| **Aider** | `.aider.conventions.md` | Terminal pair programming conventions |\n| **Zed Editor** | `.zed/prompt.md` | Custom instructions for Zed AI assistant |\n\nRun `tailor sync` at any time to update all adapter files simultaneously.\n\n---\n\n## Benchmarks & Measurable Results\n\nTailor includes an automated benchmark suite (`benchmarks/scripts/run-benchmarks.js`) running across 5 real fixture codebases:\n* `nextjs-app` (Next.js 14, React 18, Tailwind CSS, Vitest)\n* `django-app` (Django 4.2, PostgreSQL, DRF, Pytest)\n* `react-app` (React, Vite)\n* `dotnet-api` (ASP.NET Core, C# .NET 8)\n* `messy-monolith` (Express, legacy dependencies, leaked secrets, eval)\n\n**Benchmark Performance:**\n* **Project Signal Detection:** 100% accurate across Next.js, Django, React, ASP.NET Core, and Express.\n* **Semantic Reuse Matching:** 100% match for user requests (`modal` -> existing `Dialog`, `fetchUser` -> `getUser`).\n* **Dependency Governance:** 100% rejection of trivial micro-packages (`is-odd`, `left-pad`) and challenge on redundant libraries (`axios`).\n* **Security Defenses:** 100% detection of hardcoded AWS credentials, SQL string concatenation, and dangerous `eval()`.\n* **Token & LOC Reduction:** 40-70% reduction in generated code volume and context token consumption.\n\n---\n\n## Privacy & Security\n\n* **Local & Deterministic Execution:** Zero telemetry, no hidden remote logging, and no source code transmission.\n* **Non-destructive Defaults:** Never silently overwrites or deletes unrelated files.\n\n---\n\n## Contributing & Development\n\n```bash\ngit clone https://github.com/AmanKtyr/Tailor.git\ncd Tailor\nnpm install\nnpm run build\nnpm test\nnpm run benchmark\nnode dist/cli/bin.js doctor\n```\n\n---\n\n## License\n\n[MIT](LICENSE) © [Aman Katiyar](https://github.com/AmanKtyr) & Tailor Contributors","readmeFilename":"README.md"}