{"_id":"@claudelaw/taichu","_rev":"3-4cf30af07738527f82e6f4eec94a9be2","name":"@claudelaw/taichu","dist-tags":{"latest":"0.8.0"},"versions":{"0.6.0":{"name":"@claudelaw/taichu","version":"0.6.0","keywords":["cms","headless-cms","ai-agent","mcp","content-management","agent-native","blog","static-site"],"author":{"name":"Liu Huai'an"},"license":"MIT","_id":"@claudelaw/taichu@0.6.0","maintainers":[{"name":"claudelaw","email":"704156106@qq.com"}],"homepage":"https://github.com/Caludelaw/Taichu#readme","bugs":{"url":"https://github.com/Caludelaw/Taichu/issues"},"bin":{"taichu":"scripts/cli.js"},"dist":{"shasum":"76f1c49c0fc779c6d08a175462ce6cfd25286137","tarball":"https://registry.npmjs.org/@claudelaw/taichu/-/taichu-0.6.0.tgz","fileCount":93,"integrity":"sha512-2idVCsnrK33WINMrb2SchdpoZG3DXmOR0gmEtNgbTM6XnFVRZUbcYnC++5pcaWDw2ZHZCaQkBGj1uxl8ZGuPNQ==","signatures":[{"sig":"MEYCIQDbjuUYC5vNYjFJMJwQDqZDZVZRoZPnzWk3nskD5Kuk+QIhAIHdxgaoa+xnumNMdvvGo0hK3Mp86AuK42qYCc75xFy7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1128588},"engines":{"node":">=18.0.0"},"gitHead":"60cacaf7cfda453871e6bdb6fb9cda285532f116","private":false,"scripts":{"dev":"node packages/server/src/index.js","lint":"eslint .","test":"node --test packages/core/src/core.test.js packages/core/src/server.test.js","build":"cd packages/admin && npx vite build","clean":"rm -rf packages/*/dist packages/*/node_modules","start":"TAICHU_PUBLIC_READ=1 node packages/server/src/index.js","lint:fix":"eslint . --fix","test:integration":"node --test packages/server/src/server.test.js"},"_npmUser":{"name":"claudelaw","email":"704156106@qq.com"},"repository":{"url":"git+https://github.com/Caludelaw/Taichu.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"AI Agent-Native CMS — content infrastructure built for the agent era","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","@eslint/js":"^10.0.1"},"_npmOperationalInternal":{"tmp":"tmp/taichu_0.6.0_1781256730397_0.0656276453881508","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@claudelaw/taichu","version":"0.7.0","keywords":["cms","headless-cms","ai-agent","mcp","content-management","agent-native","blog","static-site"],"author":{"name":"Liu Huai'an"},"license":"MIT","_id":"@claudelaw/taichu@0.7.0","maintainers":[{"name":"claudelaw","email":"704156106@qq.com"}],"homepage":"https://github.com/Caludelaw/Taichu#readme","bugs":{"url":"https://github.com/Caludelaw/Taichu/issues"},"bin":{"taichu":"scripts/cli.js"},"dist":{"shasum":"a5be11bcff15b9d74ef43ca73d50b3fa9768cf1f","tarball":"https://registry.npmjs.org/@claudelaw/taichu/-/taichu-0.7.0.tgz","fileCount":139,"integrity":"sha512-q/wApXj4Fivw304MQ1ayUFgBSF6+ctnqJZGKSswPzR8pXIbP5bzRXkQZVHW0ZZ8ldXOqfm66K0RCHXKmSjRfBg==","signatures":[{"sig":"MEUCIQDH1VYN3dKdc67kQzDoboETPa0xmtHIx39LLsj0KQtykAIgRj4673qB2mh7LHwKDREFb00SKFfJCp6gDdV8Qm4jYZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1179865},"engines":{"node":">=18.0.0"},"gitHead":"d1141f2b6253a3358e51df868fd0db9e1fe4868a","private":false,"scripts":{"dev":"node packages/server/src/index.js","lint":"eslint .","test":"node --test packages/core/src/core.test.js packages/core/src/server.test.js","build":"cd packages/admin && npx vite build","clean":"rm -rf packages/*/dist packages/*/node_modules","setup":"node scripts/setup-hooks.js","start":"TAICHU_PUBLIC_READ=1 node packages/server/src/index.js","prepare":"node scripts/setup-hooks.js","lint:fix":"eslint . --fix","test:e2e":"npx playwright test","test:integration":"node --test packages/server/src/server.test.js"},"_npmUser":{"name":"claudelaw","email":"704156106@qq.com"},"repository":{"url":"git+https://github.com/Caludelaw/Taichu.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"AI Agent-Native CMS — content infrastructure built for the agent era","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.1","@eslint/js":"^10.0.1","@playwright/test":"^1.60.0"},"_npmOperationalInternal":{"tmp":"tmp/taichu_0.7.0_1781484772646_0.012979393265167394","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@claudelaw/taichu","version":"0.8.0","private":false,"description":"AI Agent-Native CMS — content infrastructure built for the agent era","workspaces":["packages/*"],"bin":{"taichu":"scripts/cli.js"},"scripts":{"dev":"node packages/server/src/index.js","start":"TAICHU_PUBLIC_READ=1 node packages/server/src/index.js","build":"cd packages/admin && npx vite build","test":"node --test packages/core/src/core.test.js packages/core/src/server.test.js","test:integration":"node --test packages/server/src/server.test.js","test:e2e":"npx playwright test","lint":"eslint .","lint:fix":"eslint . --fix","setup":"node scripts/setup-hooks.js","prepare":"node scripts/setup-hooks.js","clean":"rm -rf packages/*/dist packages/*/node_modules"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/Caludelaw/Taichu.git"},"keywords":["cms","headless-cms","ai-agent","mcp","content-management","agent-native","blog","static-site"],"author":{"name":"Liu Huai'an"},"license":"MIT","devDependencies":{"@eslint/js":"^10.0.1","@playwright/test":"^1.60.0","eslint":"^10.4.1"},"_id":"@claudelaw/taichu@0.8.0","gitHead":"5e683dec51549e049c4d4836405c8c64f3dcf905","bugs":{"url":"https://github.com/Caludelaw/Taichu/issues"},"homepage":"https://github.com/Caludelaw/Taichu#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-AQRpUvzvW8lL311b44ttovwCBBFihH08cAhyLdUn2JV3sqKwKUNEYK1k3neY88Qif8EXQR2QU6ErNKW3Ls6wEg==","shasum":"95f0e68e3e812a1ffd73d63f551865c459d8bda7","tarball":"https://registry.npmjs.org/@claudelaw/taichu/-/taichu-0.8.0.tgz","fileCount":153,"unpackedSize":1348045,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCj3KP0AWtDhWiwKbXh4s2eB6Z3GEsyYbVyHCXBCCfzxgIhAJoWlc2XKWvV3FKS2ieZ+KF5HEzyYG4b94y4g4S9F/zx"}]},"_npmUser":{"name":"claudelaw","email":"704156106@qq.com"},"directories":{},"maintainers":[{"name":"claudelaw","email":"704156106@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/taichu_0.8.0_1782262360426_0.37259854713902385"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-12T09:32:10.234Z","modified":"2026-06-24T00:52:40.706Z","0.6.0":"2026-06-12T09:32:10.569Z","0.7.0":"2026-06-15T00:52:52.870Z","0.8.0":"2026-06-24T00:52:40.574Z"},"bugs":{"url":"https://github.com/Caludelaw/Taichu/issues"},"author":{"name":"Liu Huai'an"},"license":"MIT","homepage":"https://github.com/Caludelaw/Taichu#readme","keywords":["cms","headless-cms","ai-agent","mcp","content-management","agent-native","blog","static-site"],"repository":{"type":"git","url":"git+https://github.com/Caludelaw/Taichu.git"},"description":"AI Agent-Native CMS — content infrastructure built for the agent era","maintainers":[{"name":"claudelaw","email":"704156106@qq.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/logo.svg\" alt=\"Taichu\" width=\"360\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-brightgreen.svg\" alt=\"License: MIT\" /></a>\n  <a href=\"#\"><img src=\"https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg\" alt=\"Node.js >= 18\" /></a>\n  <a href=\"CONTRIBUTING.md\"><img src=\"https://img.shields.io/badge/contributions-welcome-brightgreen.svg\" alt=\"Contributions Welcome\" /></a>\n  <a href=\"#\"><img src=\"https://img.shields.io/badge/stage-alpha-orange.svg\" alt=\"Alpha Stage\" /></a>\n</p>\n\n---\n\n## What is Taichu?\n\nTaichu is a **content management system built for the AI agent era**. While WordPress and Typecho were architected for human authors editing HTML in a browser, Taichu is architected for a world where AI agents are first-class content producers and consumers.\n\n### The Problem\n\n- **WordPress / Typecho** store content as HTML strings in a database, designed for one human editing in a WYSIWYG editor and another human reading on a themed page\n- **Headless CMS** (Strapi, Directus) separate content from presentation, but are still designed for human authors\n- **AI agents** need structured, semantic content with discoverable APIs, fine-grained permissions, and content pipelines\n\n### Our Answer\n\nTaichu treats **AI agents as first-class citizens** alongside human authors:\n\n| | Traditional CMS | Headless CMS | **Taichu** |\n|---|---|---|---|\n| Authors | Humans only | Humans only | **Humans + AI Agents** |\n| Content format | HTML strings | Structured JSON | **Semantic JSON-LD** |\n| API | Afterthought (REST API plugin) | Primary (REST / GraphQL) | **Native (REST + GraphQL + MCP)** |\n| Search | SQL LIKE | Full-text index | **Vector + Semantic** |\n| Plugin model | Human-oriented (widgets, SEO) | Webhooks | **Agent Capability Extensions** |\n| Permissions | Role-based (admin/editor/author) | Role-based | **Identity-based (Human + Agent + Scope)** |\n| Deployment | LAMP stack | Docker / Cloud | **Single binary or Docker** |\n\n---\n\n## Philosophy\n\n### Content as Data, Not HTML\n\nTaichu stores structured data — not HTML blobs. An article is a document with typed fields (`title: string`, `body: json`, `tags: array`), not a `wp_post` row with a `post_content` column full of HTML.\n\nThis means:\n- AI agents can read and write content without parsing HTML\n- Rendering is separated from storage — same content can be a web page, RSS feed, or agent response\n- Relationships are native — fields can be typed as `relation` to other content types\n- Search is semantic — embedding vectors live alongside structured fields\n\n### Agents Are First-Class Citizens\n\nEvery API endpoint, permission, and workflow is designed for both human and agent consumers:\n\n```bash\n# Human access (JWT)\ncurl -H \"Authorization: Bearer $JWT_TOKEN\" \\\n  https://taichu.example.com/api/content/article\n\n# Agent access (API Key)\ncurl -H \"X-Taichu-Agent-Key: $AGENT_KEY\" \\\n  https://taichu.example.com/api/content/article\n```\n\nAgent-specific features:\n- **Rate limiting per agent** — prevent runaway agents from overwhelming the system\n- **Content pipelines** — agents can register as processors in content workflows\n- **Audit trails** — every agent action is logged and attributable\n- **MCP protocol** — agents discover Taichu's capabilities automatically via Model Context Protocol (Phase 2)\n\n### Zero Dependencies (Core)\n\nThe core runtime depends only on Node.js built-in modules. No npm install dance, no dependency hell. This is a deliberate choice:\n\n- **Auditability** — every line of code can be reviewed\n- **Longevity** — no risk of left-pad incidents\n- **Performance** — no framework overhead\n- **Simplicity** — `git clone && npm start` just works\n\n*Optional dependencies (SQLite driver, vector store) will be clearly documented and isolated.*\n\n### Extensible by Design\n\nLike WordPress's plugin system, but for agents:\n\n```js\n// Register a content type\ntaichu.registerContentType(createContentType('product', {\n  label: 'Product',\n  fields: {\n    name: { type: 'string', required: true },\n    price: { type: 'number' },\n    description: { type: 'json' }\n  }\n}));\n\n// Hook into the content pipeline\ntaichu.hooks.on('afterCreate', async (doc, ctx) => {\n  if (doc.type === 'article') {\n    await autoGenerateExcerpt(doc);\n    await indexForSearch(doc);\n  }\n});\n\n// Agent capability extension\ntaichu.hooks.on('agent:onRequest', async (payload, ctx) => {\n  if (ctx.agent.scope === 'seo-optimizer') {\n    payload.enhancements = ['keywords', 'readability'];\n  }\n});\n```\n\n---\n\n## Quick Start\n\n```bash\n# Clone\ngit clone https://github.com/Caludelaw/Taichu.git\ncd taichu\n\n# Run (yes, that's it — zero npm install needed for core)\nnpm start\n\n# Taichu is now running at http://localhost:3120\n# Health check: http://localhost:3120/api/health\n```\n\n### Create Your First Content\n\n```bash\n# Create a document\ncurl -X POST http://localhost:3120/api/content/article \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"data\": {\n      \"title\": \"Hello Taichu\",\n      \"body\": {\"text\": \"Welcome to the agent-native CMS.\"},\n      \"status\": \"published\"\n    }\n  }'\n\n# List all articles\ncurl http://localhost:3120/api/content/article\n\n# Get a single article\ncurl http://localhost:3120/api/content/article/<id>\n```\n\n---\n\n## Project Structure\n\n```\ntaichu/\n├── packages/\n│   ├── core/           # Content model, storage abstraction, hook system\n│   │   └── src/\n│   │       ├── content-type.js   # Schema definition & validation\n│   │       ├── store.js          # Storage interface + MemoryStore\n│   │       ├── hooks.js          # Lifecycle hook system\n│   │       └── errors.js         # Structured error types\n│   ├── server/         # HTTP server (zero-dependency)\n│   │   └── src/\n│   │       ├── index.js          # Server entry point\n│   │       ├── router.js         # URL routing\n│   │       ├── context.js        # Request context\n│   │       └── routes/\n│   │           └── api.js        # REST API implementation\n│   ├── mcp/            # MCP Server (Phase 2)\n│   └── admin/          # Vue 3 Admin SPA (Phase 2)\n├── docs/\n│   ├── architecture/   # Architecture Decision Records (ADRs)\n│   ├── api/            # API documentation\n│   └── guides/         # User & developer guides\n├── .github/\n│   └── workflows/      # CI/CD pipelines\n├── LICENSE             # MIT\n├── CONTRIBUTING.md     # Contribution guide\n└── CODE_OF_CONDUCT.md  # Community standards\n```\n\n---\n\n## Development Roadmap\n\n| Phase | Focus | Status |\n|-------|-------|--------|\n| **Phase 1** | Core CMS: content model, REST API, memory store | 🚧 Alpha |\n| **Phase 2** | AI-Native: vector search, MCP, agent permissions, GraphQL | 📋 Planned |\n| **Phase 3** | Ecosystem: extension marketplace, multi-agent collaboration, federation | 📋 Planned |\n\nSee [ROADMAP.md](docs/ROADMAP.md) for details.\n\n---\n\n## Contributing\n\nTaichu is in active early development. We welcome contributions from developers who share our vision of agent-native content infrastructure.\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines, and check [GitHub Issues](https://github.com/Caludelaw/Taichu/issues) for tasks tagged `good first issue`.\n\n---\n\n## License\n\nMIT © 2026 Liu Huai'an and Taichu contributors. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}