{"_id":"@akaoio/composer","_rev":"5-0e3179b2010b97efb4003c53ddc58584","name":"@akaoio/composer","dist-tags":{"latest":"0.2.4"},"versions":{"0.1.0":{"name":"@akaoio/composer","version":"0.1.0","keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"author":{"name":"AKAO.IO"},"license":"MIT","_id":"@akaoio/composer@0.1.0","maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"homepage":"https://github.com/akaoio/composer#readme","bugs":{"url":"https://github.com/akaoio/composer/issues"},"dist":{"shasum":"11e83586138bef4a908c33dfab570eaf979056fc","tarball":"https://registry.npmjs.org/@akaoio/composer/-/composer-0.1.0.tgz","fileCount":67,"integrity":"sha512-/upsy0LTCHjeOJMIR2jsY/dJZPILdL/NsAWfhwNGtgULA0Ww20d9e6tVn6QpD9wkpT4hp196d83RgcZ7HFznzA==","signatures":[{"sig":"MEUCIHTv+FJzfTLGgD1kSKhqXd8fEzxMdS2dzjWVZjmVF7u9AiEAgQL17TY1dVYjZlgjtrSmqMIZHK+81+la8tIOCyVpebI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46874},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"750d928b7bfc06605ebee06efe687a489ec7a7aa","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","example":"node example/index.js","test:watch":"jest --watch","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"akaoio","email":"dev@akao.io"},"repository":{"url":"git+https://github.com/akaoio/composer.git","type":"git"},"_npmVersion":"9.2.0","description":"Atomic document composition engine with real-time template processing","directories":{},"_nodeVersion":"18.19.0","dependencies":{"js-yaml":"^4.1.0","chokidar":"^3.5.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/composer_0.1.0_1755860604860_0.8339574878095619","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@akaoio/composer","version":"0.2.1","keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"author":{"name":"AKAO.IO"},"license":"MIT","_id":"@akaoio/composer@0.2.1","maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"homepage":"https://github.com/akaoio/composer#readme","bugs":{"url":"https://github.com/akaoio/composer/issues"},"dist":{"shasum":"9a20f90f6d43d56d6df6e1e1d3f69fe87a4b1387","tarball":"https://registry.npmjs.org/@akaoio/composer/-/composer-0.2.1.tgz","fileCount":7,"integrity":"sha512-atutXToLf+5H86RoA2+GRB95fRgycAWlt5PGCmPeVFv86vjwc6nTim1ktdPqI/aEU1QEiRxwJIoqLdGn7RzhkQ==","signatures":[{"sig":"MEUCIQD+lKjx3e8fbtpiZ5HP79Ps6nXhDaYQsXZpoNUlOXm5EAIgRyU6ewQKlNp38TDrBQoCV39WQ2nbpxlNhG4jGzyD64E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172105},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0e27264163bf386a09d3324f9472b5e6d0fb1a96","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"tsc --noEmit","test":"jest","build":"tsup src/index.ts --format cjs,esm --dts --clean","watch":"node bin/composer-watch.js","example":"node example/index.js","build:doc":"node scripts/build-docs.js","docs:build":"node scripts/build-docs.js","test:watch":"jest --watch","service:pm2":"pm2 start pm2.config.js","watch:daemon":"node bin/composer-watch.js --daemon","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test","service:docker":"docker-compose -f docker/docker-compose.yml up -d","example:generic":"node example/generic-usage.js","service:install":"bash scripts/install-service.sh"},"_npmUser":{"name":"akaoio","email":"dev@akao.io"},"repository":{"url":"git+https://github.com/akaoio/composer.git","type":"git"},"_npmVersion":"9.2.0","description":"Atomic document composition engine with real-time template processing","directories":{},"_nodeVersion":"18.19.0","dependencies":{"glob":"^10.3.10","js-yaml":"^4.1.0","chokidar":"^3.5.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.4","jest":"^29.7.0","tsup":"^8.5.0","ts-jest":"^29.4.1","typescript":"^5.3.3","@types/jest":"^29.5.14","@types/node":"^20.11.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/composer_0.2.1_1755926673728_0.8247718646665956","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@akaoio/composer","version":"0.2.2","keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"author":{"name":"AKAO.IO"},"license":"MIT","_id":"@akaoio/composer@0.2.2","maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"homepage":"https://github.com/akaoio/composer#readme","bugs":{"url":"https://github.com/akaoio/composer/issues"},"bin":{"composer":"bin/composer.mjs"},"dist":{"shasum":"637e70c19f4def7fb97100605a91d58b76462e39","tarball":"https://registry.npmjs.org/@akaoio/composer/-/composer-0.2.2.tgz","fileCount":9,"integrity":"sha512-4WViIH3aUcG1SQ8BAO6Gp34YhcnQTqtyzs4PIJVdSA36H0Zx6AJ+ewC2uNeOpJ/AWyHMBJLaw+bqq08KaJfzUw==","signatures":[{"sig":"MEUCIQCpO2zNPnyX4B/FMdH2hzUH25BGHNuTBvXsJla9cYyeaQIgHMO+YfM1p7+hGiNELNxa0mxeZnwWT/b5QNZGeLA5Twg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185426},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"be564db5eb5dd9ebb6f87d7b1604c6ddb12796ec","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"tsc --noEmit","test":"jest","build":"tsup src/index.ts --format cjs,esm --dts --clean","watch":"node bin/composer-watch.js","example":"node example/index.js","build:doc":"node scripts/build-docs.js","docs:build":"node scripts/build-docs.js","test:watch":"jest --watch","service:pm2":"pm2 start pm2.config.js","watch:daemon":"node bin/composer-watch.js --daemon","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test","service:docker":"docker-compose -f docker/docker-compose.yml up -d","example:generic":"node example/generic-usage.js","service:install":"bash scripts/install-service.sh"},"_npmUser":{"name":"akaoio","email":"dev@akao.io"},"repository":{"url":"git+https://github.com/akaoio/composer.git","type":"git"},"_npmVersion":"9.2.0","description":"Atomic document composition engine with real-time template processing","directories":{},"_nodeVersion":"18.19.0","dependencies":{"glob":"^10.3.10","js-yaml":"^4.1.0","chokidar":"^3.5.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.4","jest":"^29.7.0","tsup":"^8.5.0","ts-jest":"^29.4.1","typescript":"^5.3.3","@types/jest":"^29.5.14","@types/node":"^20.11.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/composer_0.2.2_1755928167774_0.2287667853822728","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@akaoio/composer","version":"0.2.3","keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"author":{"name":"AKAO.IO"},"license":"MIT","_id":"@akaoio/composer@0.2.3","maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"homepage":"https://github.com/akaoio/composer#readme","bugs":{"url":"https://github.com/akaoio/composer/issues"},"bin":{"composer":"bin/composer.mjs"},"dist":{"shasum":"eb4cbeb9fb701f6624f7361d28090b0b44e27343","tarball":"https://registry.npmjs.org/@akaoio/composer/-/composer-0.2.3.tgz","fileCount":9,"integrity":"sha512-Sc2yRU+oTQjm/P8P90Aj4yQ7EFv10wfXxNSVtcRY2Fs3WAD9VZROq+7xFgHxjo4jr3JOrkY9PWbJdM2zmZSFpA==","signatures":[{"sig":"MEYCIQCfYuCyk0DqbcRfRiF7anAwq4B6wyOsCmZjAq9kd4jrvQIhALF9nA1EPdv4dZDwXcU116hRSstBVU1DtiCsAv+vqtZm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186591},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ae26014a5efc20aaafcc1be2071c48af1d2608c9","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"tsc --noEmit","test":"jest","build":"tsup src/index.ts --format cjs,esm --dts --clean","watch":"node bin/composer-watch.js","example":"node example/index.js","build:doc":"node scripts/build-docs.js","docs:build":"node scripts/build-docs.js","test:watch":"jest --watch","service:pm2":"pm2 start pm2.config.js","watch:daemon":"node bin/composer-watch.js --daemon","test:coverage":"jest --coverage","prepublishOnly":"npm run build && npm test","service:docker":"docker-compose -f docker/docker-compose.yml up -d","example:generic":"node example/generic-usage.js","service:install":"bash scripts/install-service.sh"},"_npmUser":{"name":"akaoio","email":"dev@akao.io"},"repository":{"url":"git+https://github.com/akaoio/composer.git","type":"git"},"_npmVersion":"9.2.0","description":"Atomic document composition engine with real-time template processing","directories":{},"_nodeVersion":"18.19.0","dependencies":{"glob":"^10.3.10","js-yaml":"^4.1.0","chokidar":"^3.5.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.4","jest":"^29.7.0","tsup":"^8.5.0","ts-jest":"^29.4.1","typescript":"^5.3.3","@types/jest":"^29.5.14","@types/node":"^20.11.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/composer_0.2.3_1755929905446_0.3544492552027485","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@akaoio/composer","version":"0.2.4","description":"Atomic document composition engine with real-time template processing","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","bin":{"composer":"bin/composer.mjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"akao-build","dev":"akao-build --watch","lint":"tsc --noEmit","test":"npm run build && bun test/index.ts","test:watch":"bun --watch test/index.ts","prepublishOnly":"npm run build","example":"node example/index.js","example:generic":"node example/generic-usage.js","build:doc":"node scripts/build-docs.js","docs:build":"node scripts/build-docs.js","watch":"node bin/composer-watch.js","watch:daemon":"node bin/composer-watch.js --daemon","service:install":"bash scripts/install-service.sh","service:pm2":"pm2 start pm2.config.js","service:docker":"docker-compose -f docker/docker-compose.yml up -d"},"repository":{"type":"git","url":"git+https://github.com/akaoio/composer.git"},"keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"author":{"name":"AKAO.IO"},"license":"MIT","bugs":{"url":"https://github.com/akaoio/composer/issues"},"homepage":"https://github.com/akaoio/composer#readme","dependencies":{"chokidar":"^3.5.3","glob":"^10.3.10","js-yaml":"^4.1.0"},"devDependencies":{"@akaoio/battle":"^1.1.0","@akaoio/builder":"file:../builder","@types/js-yaml":"^4.0.9","@types/node":"^20.11.0","node-pty":"^1.0.0","tsx":"^4.20.4","typescript":"^5.3.3"},"engines":{"node":">=18.0.0"},"gitHead":"4c86a32f1806cd3c9d9e4fca8cdbefdae3890455","_id":"@akaoio/composer@0.2.4","_nodeVersion":"18.19.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-Sqo7sLuM/kfCHu544xFpPZlEWOMHmEKrmFxEFeXx/aeeeBxxKcM9Zlf8k1AI3WbpaQA4uKlYo/Zhqtzw9fX33g==","shasum":"8885e9edac427acedeeccc8e306d922500e720d3","tarball":"https://registry.npmjs.org/@akaoio/composer/-/composer-0.2.4.tgz","fileCount":11,"unpackedSize":558140,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDkiggdfJAqsEl+2vlbZy77ilbroIP77oY+vsytRVLiewIgf4s+GySsCLLysO9e/scSD1jwSVmHN6OiGg3tP1nKStM="}]},"_npmUser":{"name":"akaoio","email":"dev@akao.io"},"directories":{},"maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/composer_0.2.4_1756113955875_0.44924349799988916"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-22T11:03:24.793Z","modified":"2025-08-25T09:25:56.242Z","0.1.0":"2025-08-22T11:03:25.040Z","0.2.1":"2025-08-23T05:24:34.031Z","0.2.2":"2025-08-23T05:49:27.955Z","0.2.3":"2025-08-23T06:18:25.655Z","0.2.4":"2025-08-25T09:25:56.075Z"},"bugs":{"url":"https://github.com/akaoio/composer/issues"},"author":{"name":"AKAO.IO"},"license":"MIT","homepage":"https://github.com/akaoio/composer#readme","keywords":["composer","template","documentation","atomic","real-time","yaml","markdown"],"repository":{"type":"git","url":"git+https://github.com/akaoio/composer.git"},"description":"Atomic document composition engine with real-time template processing","maintainers":[{"name":"akaoio","email":"dev@akao.io"}],"readme":"# @akaoio/composer\n\n> A powerful, atomic documentation engine that builds comprehensive docs from small reusable content pieces. Self-documenting and production-ready for Node.js, Bun, Deno, and standalone server deployment.\n\n## ✨ Features\n\n\n###  Watch Mode\n\nAutomatic rebuilding when source files change, perfect for development workflows.\n\n\n###  Template Engine\n\nBuilt-in template engine with variable substitution supporting nested paths and array access.\n\n\n###  Multi-Format Support\n\nSeamlessly works with YAML, JSON, Markdown, HTML, and plain text files.\n\n\n###  Flexible Build Pipeline\n\nConfigurable build tasks with custom processors for complex content transformations.\n\n\n\n## 📦 Installation\n\n\n### Install via NPM\n\n```bash\nnpm install @akaoio/composer\n```\n\n\n\n### Install CLI Globally\n\n```bash\nnpm install -g @akaoio/composer\n```\n\n\n\n### Install via Deno\n\n```typescript\nimport { Composer } from \"npm:@akaoio/composer@latest\"\n```\n\n\n\n### Install via Bun\n\n```bash\nbun add @akaoio/composer\n```\n\n\n\n\n## 🚀 Usage\n\n\n### Node.js Module Usage\n\n```javascript\nconst { Composer, BuildPipeline, ConfigLoader } = require('@akaoio/composer')\n\n// Option 1: Simple usage\nconst composer = new Composer({\n  dataPath: './data',\n  templatesPath: './templates', \n  outputPath: './dist'\n})\n\nawait composer.render()\n\n// Option 2: Configuration-based\nconst loader = new ConfigLoader('./composer.config.js')\nconst config = await loader.loadConfig()\nconst pipeline = new BuildPipeline(config)\nawait pipeline.execute()\n```\n\n\n\n### Deno Module Usage\n\n```typescript\nimport { Composer, BuildPipeline } from \"npm:@akaoio/composer@latest\"\n\n// Deno with permissions\nconst composer = new Composer({\n  dataPath: './data',\n  templatesPath: './templates',\n  outputPath: './dist'\n})\n\nawait composer.render()\n```\n\n**Run with permissions:**\n```bash\ndeno run --allow-read --allow-write --allow-env your-script.ts\n```\n\n\n\n### Bun Module Usage\n\n```typescript\nimport { Composer, BuildPipeline, ConfigLoader } from '@akaoio/composer'\n\n// Bun with TypeScript support\nconst composer = new Composer({\n  dataPath: './data',\n  templatesPath: './templates',\n  outputPath: './dist'\n})\n\nawait composer.render()\n\n// Hot reload with Bun watch\nimport { watch } from 'fs'\n\ncomposer.watch((outputs) => {\n  console.log(`Rebuilt ${outputs.size} files`)\n})\n```\n\n\n\n### CLI Usage\n\n```bash\n# Initialize a new project\ncomposer init\n\n# Build documentation\ncomposer build\n\n# Watch for changes\ncomposer watch\n\n# Show help\ncomposer help\n```\n\n\n\n\n## 🖥️ Server Deployment\n\n### Quick Start Server\n\n```bash\n# Clone and setup\ngit clone https://github.com/akaoio/composer.git\ncd composer\nnpm install\nnpm run build\n\n# Run as daemon service\nnpm run service:pm2\n\n# Or with systemd\nsudo npm run service:install\n```\n\n### Docker Deployment\n\n```bash\n# Build image\ndocker build -f docker/Dockerfile.service -t composer-server .\n\n# Run container\ndocker run -d \\\n  -p 3000:3000 \\\n  -v $(pwd)/data:/app/data \\\n  -v $(pwd)/output:/app/output \\\n  --name composer-server \\\n  composer-server\n```\n\n### Health Monitoring\n\n```bash\n# Check service status\ncurl http://localhost:3000/health\n\n# View build logs\ncurl http://localhost:3000/api/logs\n\n# Trigger rebuild\ncurl -X POST http://localhost:3000/api/build\n```\n\n\n## 🤝 Contributing\n\n\n### Development Setup\n\n### Clone and Setup\n\n```bash\ngit clone https://github.com/akaoio/composer.git\ncd composer\n\n# Install dependencies\nnpm install     # or `bun install` or `deno install`\n\n# Build TypeScript\nnpm run build\n\n# Run tests\nnpm test\n\n# Build documentation (using composer itself!)\nnpm run build:doc\n```\n\n\n\n### Development Principles\n\nWhen contributing, follow these core principles:\n\n1. **Class = Directory + Method-per-file** - Every class is a directory\n2. **Atomic Documentation** - Each piece of content is a separate YAML file\n3. **Test-Driven Development** - Write tests first, implementation second\n4. **100% Real Implementation** - No mocks, stubs, or placeholder code\n5. **Zero Technical Debt** - Complete every task fully before moving on\n6. **Self-Documenting** - This README is generated using Composer itself!\n\n\n\n\n## 📄 License\n\nMIT\n\n## 🔗 Links\n\n- **Repository**: https://github.com/akaoio/composer\n- **NPM Package**: https://www.npmjs.com/package/@akaoio/composer\n- **Documentation**: Generated using Composer itself!\n\n---\n\n*Generated with ❤️ by @akaoio/composer v0.2.3*\n\n*This README demonstrates atomic documentation - every section is composed from individual YAML files in `src/doc/readme/atom/`*","readmeFilename":"README.md"}