{"_id":"@alfonsobries/aikit","_rev":"15-203c07e00e849567330353a6ecd2ce3f","name":"@alfonsobries/aikit","dist-tags":{"latest":"0.14.0"},"versions":{"0.1.0":{"name":"@alfonsobries/aikit","version":"0.1.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.1.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"49e759239beae2da9a38315f68c517a947f850d5","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.1.0.tgz","fileCount":13,"integrity":"sha512-FzmAx9EcZkK97yRgq6t3y69q2tbxArjs4PlDpWdPAOKqO6sUYE711pevsupUqNEORxIUbMYpScJI7iz+7/9twg==","signatures":[{"sig":"MEMCIC5fXJ80CuMr1x65RpoQZU8cyPX6ahwOSH8/tPWpDSBxAh8XK9CJg4ii5Q/fZ54trKxLVd8+4mmWNrugtCA0/2+n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346139},"type":"module","_from":"file:alfonsobries-aikit-0.1.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/private/var/folders/rh/64nqx4l545d8j33jxk9qcx140000gn/T/1670264895f1bb32cfe1f87f15295177/alfonsobries-aikit-0.1.0.tgz","_integrity":"sha512-FzmAx9EcZkK97yRgq6t3y69q2tbxArjs4PlDpWdPAOKqO6sUYE711pevsupUqNEORxIUbMYpScJI7iz+7/9twg==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.7","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.1.0_1784759557493_0.3775924358373832","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alfonsobries/aikit","version":"0.2.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.2.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"555aef71d8df63dfa3a7d3291f697dc34da9296d","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.2.0.tgz","fileCount":13,"integrity":"sha512-QeSomtU+FnlzpExpfj7avxSjeJCuBvwBJ8KMDI9fj7J0UihMkxRUDUEsqEqMlpw4Yt08V7UNcBEJSEi34ICm/A==","signatures":[{"sig":"MEQCIDm4TUdZ1NdfopQh4P/RuPelghzuv8s3HWXotXdk4WwOAiAsu78W+rlJsAzxUtu69hZ3H2b3N71uLlCcs3eEYu5Erg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":351159},"type":"module","_from":"file:alfonsobries-aikit-0.2.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/private/var/folders/rh/64nqx4l545d8j33jxk9qcx140000gn/T/b7e04c9a4c3d52b30552263c40e2bb88/alfonsobries-aikit-0.2.0.tgz","_integrity":"sha512-QeSomtU+FnlzpExpfj7avxSjeJCuBvwBJ8KMDI9fj7J0UihMkxRUDUEsqEqMlpw4Yt08V7UNcBEJSEi34ICm/A==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.7","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.2.0_1784760622482_0.7377400033444024","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alfonsobries/aikit","version":"0.2.1","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.2.1","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"52b9ffef4d364febc3c933ee4c4bce1d1c3f6a0d","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.2.1.tgz","fileCount":13,"integrity":"sha512-0JHcN4R96WQDlcU8Jh3dFxmfr6mvOUexyXxxu7f6nCo1N/gUCEx75VUgH5M1RhiVwJkQjY3nBmb6uMA4uuD0aw==","signatures":[{"sig":"MEUCIBcdQxFhuEh54NCObdG41Pu4lXa4Py15qLtO4UpYdOSoAiEAucTOrQV4WgWsU3CbA8OR6KUTAO+6w2KRAa4hT6GUSWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353659},"type":"module","_from":"file:alfonsobries-aikit-0.2.1.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/35fed22896a06ae521c48960b5044365/alfonsobries-aikit-0.2.1.tgz","_integrity":"sha512-0JHcN4R96WQDlcU8Jh3dFxmfr6mvOUexyXxxu7f6nCo1N/gUCEx75VUgH5M1RhiVwJkQjY3nBmb6uMA4uuD0aw==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.2.1_1784761102171_0.2288448751017278","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alfonsobries/aikit","version":"0.3.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.3.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"df13fad8f58d3b16a4ec1ace6d58359ee7784336","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.3.0.tgz","fileCount":13,"integrity":"sha512-BPn9ROz8fKWgoT9U2J9/eL4Xyb00vSj+VQBHpnuV8pCAmwDi/eDOlgmGN8F1U27IHmLUZJxH+sC0H6PGMc406A==","signatures":[{"sig":"MEQCID/Bfdrc2N2hmts3h5lywKQHFZMYVdFVzh0AK6ib/CvdAiAlFO6+phQhX5wmUbPZ5jLJTkpyLUsaQwp8rrEiLd49Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356175},"type":"module","_from":"file:alfonsobries-aikit-0.3.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/b4e6c533b9e2a0bad121ae91d320f4e9/alfonsobries-aikit-0.3.0.tgz","_integrity":"sha512-BPn9ROz8fKWgoT9U2J9/eL4Xyb00vSj+VQBHpnuV8pCAmwDi/eDOlgmGN8F1U27IHmLUZJxH+sC0H6PGMc406A==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.3.0_1784762829965_0.07620831369793479","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@alfonsobries/aikit","version":"0.3.1","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.3.1","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"ec0dac8220c196463ddb0194e3fbe77aaf4fbda5","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.3.1.tgz","fileCount":13,"integrity":"sha512-hUNFPs3SCU/eYo2H+6xr0/LhxxlwMbvaU1SkeGiyzCauFmtJR5yJ7edA1NOtFoeZm3P9zWJmXwBpJrYIzxqtew==","signatures":[{"sig":"MEQCIHGY9f3jgPtzR+ju90GYKIUUG8hup5FTVqNEfFCktrZ4AiAx4Flq/FS35TqE78DQIi1MH0rD9/shkmJQVZYnO4uqeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356526},"type":"module","_from":"file:alfonsobries-aikit-0.3.1.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/1985cc983e1593e5a1c67822ec7ee7a0/alfonsobries-aikit-0.3.1.tgz","_integrity":"sha512-hUNFPs3SCU/eYo2H+6xr0/LhxxlwMbvaU1SkeGiyzCauFmtJR5yJ7edA1NOtFoeZm3P9zWJmXwBpJrYIzxqtew==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.3.1_1784831856493_0.5475858251605283","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@alfonsobries/aikit","version":"0.5.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.5.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"c21bd494e6313f3bb52263df09385148ae317018","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.5.0.tgz","fileCount":26,"integrity":"sha512-N1LIHUXCmrxQjXjmz0Jd7N8wz80A/8K9Wtfo0VEWeDQD6TLdUSCXBx0ujk7NoZ4ME0QVO9bvDT9yvtG1N16zGw==","signatures":[{"sig":"MEUCIFQtEdqEmZGqzO60/ASND75mvyT4yTZyJKs9mi38y5nrAiEAhRlltiW7Q8xmKg/6cYHNi1536M8jUYEV/tkx1i6T2Jc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437721},"type":"module","_from":"file:alfonsobries-aikit-0.5.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/d9df6448bfaa1a5cad4a7597122d6703/alfonsobries-aikit-0.5.0.tgz","_integrity":"sha512-N1LIHUXCmrxQjXjmz0Jd7N8wz80A/8K9Wtfo0VEWeDQD6TLdUSCXBx0ujk7NoZ4ME0QVO9bvDT9yvtG1N16zGw==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.5.0_1785267857424_0.8622771759000805","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@alfonsobries/aikit","version":"0.6.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.6.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"ac2ae0567d25c6e7b0e3ca38230d9cc2feba729b","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.6.0.tgz","fileCount":26,"integrity":"sha512-0ezYSP6nFv8I5PzEWXIU6in9Rbx5NwFdAb9ZxUIaty/sxGzlTWKXs7lAcLpq8LucCD0DhLNkqBPaYTax0FWDTg==","signatures":[{"sig":"MEYCIQCAi9Abbck0Rkvg/kLn/smuJArWH0O1zA1A8RpdXhmPmAIhAMGBk1FqzvJPBVdAuPsbnJfFbxo0DghMoMCoPgvTWybZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440188},"type":"module","_from":"file:alfonsobries-aikit-0.6.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/530a9c80c1c25f503fd9bf2521ba0506/alfonsobries-aikit-0.6.0.tgz","_integrity":"sha512-0ezYSP6nFv8I5PzEWXIU6in9Rbx5NwFdAb9ZxUIaty/sxGzlTWKXs7lAcLpq8LucCD0DhLNkqBPaYTax0FWDTg==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.6.0_1785336163316_0.2551924770100302","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@alfonsobries/aikit","version":"0.7.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.7.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"a6192d6e6587d5a98b33fd0b7e29d85d23a5c8ac","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.7.0.tgz","fileCount":26,"integrity":"sha512-EAEonxfTGKihACtxVTVYJY3/cIuAUpMDwhiYBwVmRAJ2Jbe5bAv3xhcVESfBt2qH+z8djeKYzZYNFHb0K6OuHw==","signatures":[{"sig":"MEUCIQDC+bhZBJ8V7NLgsYeQDucIBQjSt/AkAfWx5nlvoTROBAIgVH7LsmZuTeQHfdsffy8GoGevOLDQ50OL9qcx1v4ZBdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":441377},"type":"module","_from":"file:alfonsobries-aikit-0.7.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/cb2d114a97382a01b02d8f8afa8bb8c1/alfonsobries-aikit-0.7.0.tgz","_integrity":"sha512-EAEonxfTGKihACtxVTVYJY3/cIuAUpMDwhiYBwVmRAJ2Jbe5bAv3xhcVESfBt2qH+z8djeKYzZYNFHb0K6OuHw==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.7.0_1785340686585_0.7406373912070836","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@alfonsobries/aikit","version":"0.8.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.8.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"b1714ad07244faaf2e9ddf5202c7060c04edf52c","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.8.0.tgz","fileCount":27,"integrity":"sha512-x7Zz6fU8cxSHh42KvjNZUP33/HjJmJcmWUR944X+bZIPHFArU/J7+Es2XvHgagFbCcSzWzmdjHDujF/N9tHDYQ==","signatures":[{"sig":"MEYCIQDWH8fGNNYbhC6ZkDQAHasMT4P9m/FZZAIabqY9BuxXvAIhAO7nmkKzjHNvtMJImNDvWDK2hAz/ixpJSQouXZ/ISsfm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442443},"type":"module","_from":"file:alfonsobries-aikit-0.8.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/3675803a82bd673bb766fd37fb380f50/alfonsobries-aikit-0.8.0.tgz","_integrity":"sha512-x7Zz6fU8cxSHh42KvjNZUP33/HjJmJcmWUR944X+bZIPHFArU/J7+Es2XvHgagFbCcSzWzmdjHDujF/N9tHDYQ==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.8.0_1785530409953_0.20565723893963295","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@alfonsobries/aikit","version":"0.9.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.9.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"ccc3643ebc2b1ad81e96d847c40eb5a22873e485","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.9.0.tgz","fileCount":27,"integrity":"sha512-KvitsiZLxXDt34vaMOD42b4MqK33eeQEWrpqK8V7ab6s3x06dQhlPHIKKOBItk25I/na+DcI8Ar18FRnM0OYkA==","signatures":[{"sig":"MEUCIQCyAzx5xrojDaX4JULmK6wZNGGi9yeEarlxvQIgXW9H0gIgVx5c+gbAum3SGzamS6SPlghNRQ6yLH5vIJX4tqM7ICg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442266},"type":"module","_from":"file:alfonsobries-aikit-0.9.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/97ddda043ab1c6d6594d665e9ee2d9a8/alfonsobries-aikit-0.9.0.tgz","_integrity":"sha512-KvitsiZLxXDt34vaMOD42b4MqK33eeQEWrpqK8V7ab6s3x06dQhlPHIKKOBItk25I/na+DcI8Ar18FRnM0OYkA==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.9.0_1786388850302_0.1272604480908972","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@alfonsobries/aikit","version":"0.10.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.10.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"c7c3d7ea4135b04eaac0b1699b1439badd56d3e4","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.10.0.tgz","fileCount":31,"integrity":"sha512-aY2UBq5SMw9VgcCKbakIHy3gRMcj1iPKK1PmQgxOkVRl+N5q6PRxxtOm7D4glzv1TK+rL/8h3Q9t+ZNDk/z0FA==","signatures":[{"sig":"MEUCIQDzMghmmDfz0K8NVs1bU0Uy028u9S5xfHhghjf7S9ARAAIgPIGteSjZwmCf4qnCmICJdC4d6EADh2pFA5o5HGEgHFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463445},"type":"module","_from":"file:alfonsobries-aikit-0.10.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/bb7a151dc7a5c1daeaa71445d47ccd77/alfonsobries-aikit-0.10.0.tgz","_integrity":"sha512-aY2UBq5SMw9VgcCKbakIHy3gRMcj1iPKK1PmQgxOkVRl+N5q6PRxxtOm7D4glzv1TK+rL/8h3Q9t+ZNDk/z0FA==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.10.0_1786545815635_0.13889596920619418","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@alfonsobries/aikit","version":"0.11.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.11.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"9dbc0aa5607b65e2d4f14d45013d5c64155308a0","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.11.0.tgz","fileCount":31,"integrity":"sha512-Q0dtj0QvlT18J/pEenPyuaQBjqL+Zi/GNF+yaLpS14ros+lS2syCAAEs87hXqgbOkiQsYuO04opM+deLMQT2/g==","signatures":[{"sig":"MEUCIQCbofwyFzZnCfLJy1JbCD3oPcXdJkp3OmpMPkfXfhHzKAIgUsIPUcBjze4+YXjVGqQa5cfaxqYMExQJrnGCUG1iokc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466351},"type":"module","_from":"file:alfonsobries-aikit-0.11.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/c0499c6b049643a28e70c5d977b4f1c6/alfonsobries-aikit-0.11.0.tgz","_integrity":"sha512-Q0dtj0QvlT18J/pEenPyuaQBjqL+Zi/GNF+yaLpS14ros+lS2syCAAEs87hXqgbOkiQsYuO04opM+deLMQT2/g==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.11.0_1787186123814_0.07900641852456647","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@alfonsobries/aikit","version":"0.12.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.12.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"bba5dca0f823966305fcc4e157d6d767458c116e","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.12.0.tgz","fileCount":33,"integrity":"sha512-fvmqQB0JjClg+VbwEnvfe8tTeraOgCuCHfhNMHO5FEMK/F3IpGvJ1yOMk0nMUA2dh7Y8qJwbQP+tlyzpeuRpiA==","signatures":[{"sig":"MEUCIE1jo0RcIs6j17aM6CLe8//uycdi3axpYvfRsAILF90UAiEAxRyO8uujJTP7cRhYMIe7eP5i6Tee38NBcNHVv/hYXm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469806},"type":"module","_from":"file:alfonsobries-aikit-0.12.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/45febb0d9f8f70962012a4337603f46b/alfonsobries-aikit-0.12.0.tgz","_integrity":"sha512-fvmqQB0JjClg+VbwEnvfe8tTeraOgCuCHfhNMHO5FEMK/F3IpGvJ1yOMk0nMUA2dh7Y8qJwbQP+tlyzpeuRpiA==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.12.0_1787408206281_0.696062797308034","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@alfonsobries/aikit","version":"0.13.0","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","_id":"@alfonsobries/aikit@0.13.0","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"homepage":"https://github.com/alfonsobries/aikit#readme","bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"bin":{"aikit":"dist/cli.js"},"dist":{"shasum":"9d4d865a69dcd365644e6af6362d395e4b8ad44d","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.13.0.tgz","fileCount":36,"integrity":"sha512-7l83fuXiBvONyKoKS/6zg171FoH3Pj3j0KMY/KJUR7OVFi44cibkjtisHLHCKgaGarha4WFMq82/rdrCBEadbg==","signatures":[{"sig":"MEQCIGQB8E6GbchdbmmYqRO/LoN6OlagdNVnE7ZCqyYB9fapAiBW1vtE3Fd8Lo2NdvypB8tJfgDhyUS1zjbqowb3AifnSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC7LzbuV7CnHAfQIeZURdv3tNNuGtP48BAQKThEwqyVWAiEAlggsLOkVeGB6b+XXZ0oKE59T5YLN23WU6P+M1KX453s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485537},"type":"module","_from":"file:alfonsobries-aikit-0.13.0.tgz","engines":{"node":">=20"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"_resolved":"/tmp/b437624f0cff3d7da2202abdd796eb2e/alfonsobries-aikit-0.13.0.tgz","_integrity":"sha512-7l83fuXiBvONyKoKS/6zg171FoH3Pj3j0KMY/KJUR7OVFi44cibkjtisHLHCKgaGarha4WFMq82/rdrCBEadbg==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/aikit_0.13.0_1788974686791_0.19208154838849878","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"_id":"@alfonsobries/aikit@0.14.0","bin":{"aikit":"dist/cli.js"},"bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"dist":{"shasum":"68c851e6b942d017c16a921f7c2ece16253b3ef5","tarball":"https://registry.npmjs.org/@alfonsobries/aikit/-/aikit-0.14.0.tgz","fileCount":37,"integrity":"sha512-nA50Xwd2PB34UPDLfiwdCp+R2eKXie6Ab03VxR8A36UpF3oqXHXN9uTesTemrbgKj0pI479Cz5h85lP9sCewYQ==","signatures":[{"sig":"MEUCIH17y4mz1pDdWZWxVvlxNXsD6yQX1tCCwp17eHM3ysgBAiEAjS6cxlxVITFZ+Mr3bwhHVmXUoqR1Q6iv7Ebu1FbIxaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGPGK6Tb29JAxRAAemU4tyHVFPR/40q1RXCiDUEdWWkgAiA9KSdkPHhImCpWeIhNDhu0uMZpMf4GEBYFkdFqVjoY7Q=="}],"unpackedSize":490029},"name":"@alfonsobries/aikit","type":"module","_from":"file:alfonsobries-aikit-0.14.0.tgz","author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"engines":{"node":">=20"},"license":"MIT","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","format":"prettier --write \"**/*.{md,yaml,yml,json}\"","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{md,yaml,yml,json}\"","test:coverage":"vitest run --coverage"},"version":"0.14.0","_npmUser":{"name":"alfonsobries","email":"alfonso@vexilo.com"},"homepage":"https://github.com/alfonsobries/aikit#readme","_resolved":"/tmp/259297f2f765a10ef8ee71a504e2f3b1/alfonsobries-aikit-0.14.0.tgz","_integrity":"sha512-nA50Xwd2PB34UPDLfiwdCp+R2eKXie6Ab03VxR8A36UpF3oqXHXN9uTesTemrbgKj0pI479Cz5h85lP9sCewYQ==","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"_npmVersion":"10.9.8","description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","directories":{},"maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"_nodeVersion":"22.23.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","yaml":"^2.6.1","eslint":"^10.7.0","vitest":"^4.1.10","prettier":"^3.9.6","@eslint/js":"^10.0.1","picocolors":"^1.1.1","typescript":"^5.9.3","@types/node":"^26.1.1","typescript-eslint":"^8.65.0","@vitest/coverage-v8":"^4.1.10"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aikit_0.14.0_1789492855791_0.7612330499182531"}}},"time":{"created":"2026-07-22T22:32:37.322Z","modified":"2026-09-15T17:20:56.062Z","0.1.0":"2026-07-22T22:32:37.681Z","0.2.0":"2026-07-22T22:50:22.624Z","0.2.1":"2026-07-22T22:58:22.326Z","0.3.0":"2026-07-22T23:27:10.088Z","0.3.1":"2026-07-23T18:37:36.637Z","0.5.0":"2026-07-28T19:44:17.597Z","0.6.0":"2026-07-29T14:42:43.463Z","0.7.0":"2026-07-29T15:58:06.734Z","0.8.0":"2026-07-31T20:40:10.104Z","0.9.0":"2026-08-10T19:07:30.506Z","0.10.0":"2026-08-12T14:43:35.805Z","0.11.0":"2026-08-20T00:35:23.960Z","0.12.0":"2026-08-22T14:16:46.443Z","0.13.0":"2026-09-09T17:24:46.884Z","0.14.0":"2026-09-15T17:20:55.904Z"},"bugs":{"url":"https://github.com/alfonsobries/aikit/issues"},"author":{"name":"Alfonso Bribiesca","email":"alfonso@vexilo.com"},"license":"MIT","homepage":"https://github.com/alfonsobries/aikit#readme","repository":{"url":"git+https://github.com/alfonsobries/aikit.git","type":"git"},"description":"Personal AI agent conventions - installs shared guidelines into a repo's CLAUDE.md (Claude Code) and AGENTS.md (Codex, Cursor) from a single source of truth.","maintainers":[{"name":"alfonsobries","email":"alfonso@vexilo.com"}],"readme":"# aikit\n\nPersonal AI agent conventions, installed from a single source of truth into every tool:\n\n- **Claude Code** - `CLAUDE.md` imports `.agents/aikit/*.md`\n- **Codex** - `AGENTS.md` carries the same guidelines inlined between managed markers\n- **Cursor** - reads `AGENTS.md` natively, nothing extra to install\n- **Grok CLI** - reads `AGENTS.md`, the `.mcp.json` bridges, and `.claude/skills` copies\n  natively, nothing extra to install (its personal override lives in `~/.grok/`, since\n  Grok skips gitignored files like `CLAUDE.local.md`)\n\nEach harness loads exactly one copy of the rules; nothing is cross-referenced between\ntools and nothing loads twice.\n\n## Day to day\n\n**Set up a new repo:**\n\n```bash\nnpx @alfonsobries/aikit@latest init\n```\n\nDetects the stack across the whole monorepo, installs the baseline, scaffolds\n`.agents/index.md`, `.agents/commands.md` and `.agents/conventions.md` with fill-in\nplaceholders, wires `CLAUDE.md`/`AGENTS.md`, and installs the global skills. Fill the\nplaceholders and commit everything.\n\n**Add a rule - tell the agent, don't hunt for the file:**\n\n```\n/teach never use semicolons          → configures .prettierrc, not prose\n/teach we're on Laravel 13 now       → .agents/stack.md (or skips it if Boost reports it)\n/teach always confirm before migrations   → .agents/conventions.md (always-on)\n/teach before writing tests read X   → .agents/guides/ + pointer in index.md\n/teach for all my projects: <rule>   → opens a draft PR against this repo's guidelines/\n```\n\nThe skill routes each rule to the one place it belongs, runs `aikit update` + `check`,\nand tells you where it landed. The last form is how a global rule is born: teach edits\n`guidelines/*.md` here, opens the PR, and after the next release every repo picks it up\nvia `aikit update`.\n\n**Reorganize a messy repo:**\n\n```\n/teach audit\n```\n\nInventories every rule source (`CLAUDE.md`, `AGENTS.md`, `.agents/`, `.claude/`,\n`.cursor/`), classifies each rule through the same tree, shows a plan table, and applies\nit after you confirm.\n\n**Think out loud without triggering work:**\n\n```\n/ja wouldn't it be better to cache this?\n/ja no sería mejor mover esto al servidor?\n```\n\nAnswers the question, argues its side, and stops. Nothing is edited, run or committed\nuntil you say to act, and work already in flight stays where it is. Useful mid-task,\nwhere a passing \"wouldn't it be better to...\" otherwise turns into a refactor nobody\nasked for.\n\n**Low-consumption mode on a strong model:**\n\n```\n/eco set the catalog and the media prompts, leave the rest\n/manual tu decides el look, otro agente implementa\n```\n\nKeeps this session on judgment (copy, IA, design, the prompt/style contract) and writes\n`docs/ECO.md` for a cheaper agent to execute. No tests, CI, web tours, asset generation\nor trial-and-error here. Not `/yolo` (do it all) and not `/ja` (no artifact).\n\n**Chase something slow:**\n\n```\n/audit-performance the confirmed list takes forever to open\n/audit-performance obsessive: this endpoint, squeeze it to the floor\n```\n\nReproduces the symptom at real scale, baselines it, freezes the current behaviour in\ntests, changes one mechanism at a time and re-measures after each. It ends by a stated\ncriterion rather than by fatigue: Pareto by default (take the dominant mechanism and\nstop), obsessive when asked (iterate until the number stops moving). Every pass reports\na before and after number.\n\n**Set up a new machine:**\n\n```bash\nnpx @alfonsobries/aikit@latest skill    # bundled skills for Claude, Codex and Grok\n```\n\nThen in any repo that declares team skills: `npx @alfonsobries/aikit skills`.\n\n## Install\n\n```bash\nnpx @alfonsobries/aikit@latest install\n```\n\nDetects the repo's stacks from every workspace manifest (PHP, Laravel, Pest, JS, React,\nVue, Expo) and:\n\n1. Writes the matching guidelines into `.agents/aikit/`\n2. Adds the missing `@.agents/aikit/*.md` imports at the top of `CLAUDE.md`\n3. Creates or syncs the managed blocks at the top of `AGENTS.md`\n4. Gitignores the personal override files (`CLAUDE.local.md`, `AGENTS.override.md`)\n5. Registers aikit as a devDependency with a `postinstall: aikit update` hook (repos with\n   a `package.json`), so every dev gets the pinned CLI and a fresh sync from a plain\n   `pnpm install`\n\nEverything below the imports / managed blocks belongs to the repo and is never touched.\nThe always-on blocks are size-budgeted: commands fail before writing when they exceed\n28 KiB, and warn when other content pushes `AGENTS.md` past what Codex reads (32 KiB).\n\n## Keep in sync (the doctor)\n\n```bash\nnpx @alfonsobries/aikit@latest update   # rewrite everything managed, fix the gaps below\nnpx @alfonsobries/aikit@latest check    # CI drift gate, exits 1 when out of sync\n```\n\nThere is no separate doctor command - `update` fixes and `check` flags, automatically,\nthe monorepo gaps no harness handles on its own:\n\n- **Nested MCP servers** (e.g. Laravel Boost under `api/`): root bridges are added to\n  `.mcp.json`, `.cursor/mcp.json` and `.codex/config.toml` so root sessions reach them.\n  Existing entries are never touched.\n- **Tool-neutral skills** in `.agents/skills/`: each gets a managed copy under\n  `.claude/skills/` (Claude Code doesn't read `.agents/skills`; the other tools do).\n- **Bundled global skills**: installed/refreshed in `~/.claude`, `~/.codex` and\n  `~/.grok`, with any scripts and references they bundle.\n\nCommit every generated artifact - agents and CI working from a clone don't run install\nhooks. Freshness comes from wiring the updaters where each tool lives:\n\n```json\n// composer.json (wherever Laravel lives)\n\"post-update-cmd\": [\"@php artisan boost:update --ansi\", \"npx @alfonsobries/aikit update --path ..\"]\n// package.json (repo root) - install wires this automatically\n\"postinstall\": \"aikit update\"\n```\n\nand gating drift in CI: `aikit check` at the root, plus\n`php artisan boost:update && git diff --exit-code` in the Laravel directory.\n\n## Bundled skills\n\nShipped with the package and installed globally by `npx @alfonsobries/aikit skill`, one\ncopy per harness (`~/.claude/skills`, `~/.codex/skills`, `~/.grok/skills`), refreshed on\nevery `update`:\n\n- **teach** - route a rule to the one place it belongs, or audit the rules a repo already\n  has.\n- **aim-high** - hold the work to what a team that stakes its reputation would ship, and\n  keep the bar from dropping silently.\n- **create-skill** - write, audit and fix `SKILL.md` skills that run on Claude Code,\n  Codex, Cursor and Grok, with a validator to check one before shipping it.\n- **ja** - \"just asking\": hold a question as a question, answer it, and change nothing\n  until told to act.\n- **eco** - low-consumption mode: spend this model on high-judgment work and write\n  `docs/ECO.md` for a cheaper agent. No tests, CI, browsing or asset generation here.\n  `/manual` is the same.\n- **audit-performance** - run the loop that makes software measurably faster: baseline,\n  freeze the current behaviour in tests, change one mechanism, measure again, and end it\n  by a stated criterion (Pareto or obsessive) instead of by fatigue.\n- **yolo** - drive a self-contained task autonomously: decide instead of asking, commit\n  as you go, open a PR and take its CI to green.\n- **yolo-gated** - the same, with a stop before every commit: build a chunk, show it,\n  commit only on approval.\n- **audit-agentic** - audit a public site against [Ora](https://ora.ai) /\n  [Is Agentic](https://is-agentic.com): scan, close the FAILs that apply, keep\n  machine files current (`npx is-agentic <domain>`).\n- **image-gen** - generate or edit AI images from any directory (OpenAI\n  gpt-image-2.5 Flare/Sunburst, xAI Grok Imagine 2.0). Needs\n  `~/.config/aikit/image-gen.env`.\n- **audio-gen** - text to speech, sound effects, music and multi-speaker dialogue\n  (ElevenLabs, OpenAI, xAI). Needs `~/.config/aikit/audio-gen.env`, and reads a personal\n  voice catalog from `~/.config/aikit/audio-gen/voices.tsv`.\n- **sentry-slow-sql** - rank SQL from Sentry Insights by time spent (default 7d,\n  `--period=` to change) and file one GitHub issue per query with the SQL and\n  Sentry metrics only. Does not diagnose or fix. Needs\n  `~/.config/aikit/sentry-slow-sql.env`. Token:\n  https://sentry.io/settings/account/api/auth-tokens/new-token/ with\n  `org:read`, `project:read`, `event:read` (not `org:ci`).\n\n## Team skills\n\nTwo kinds, two homes:\n\n- **Project skills** ship in the repo: put them in `.agents/skills/` and commit - every\n  clone has them, no install step.\n- **Global skills** (shared across projects, one copy per machine) are declared in the\n  repo's `.agents/recommended.yaml`:\n\n```yaml\nskills:\n  - name: vercel-react-best-practices\n    description: 70 React/Next performance rules from Vercel\n    install: npx skills add vercel-labs/agent-skills --skill vercel-react-best-practices -y\n    detect:\n      paths:\n        - ~/.claude/skills/vercel-react-best-practices\n    stacks: [react]\n```\n\nMissing ones surface with a banner on every `update` and `recommend` run until the dev\nruns:\n\n```bash\nnpx @alfonsobries/aikit skills   # runs the declared installs for whatever is missing\n```\n\nDeliberately human-invoked - repo-committed YAML never executes on its own. For the\nSessionStart nudge: `aikit recommend --if-due --hook` (skills always; anything else,\nweekly). Mute with `AIKIT_QUIET=1`.\n\n## Overrides\n\n- **Personal (gitignored):** `CLAUDE.local.md` for Claude Code; `AGENTS.override.md` for\n  Codex; `~/.grok/` for Grok. Cursor personal rules live in its User Rules setting.\n- **Per-repo:** rules below the imports in `CLAUDE.md` and below the managed blocks in\n  `AGENTS.md` - or better, in the `.agents/` always-on files.\n- **Permanent:** `/teach for all my projects: <rule>`, review the PR it opens here, merge\n  and release.\n\n## Release\n\n```bash\nnpm version minor --no-git-tag-version\npnpm build && node dist/cli.js install\ngit add -A && git commit -m \"$(node -p \"require('./package.json').version\")\"\ngit tag \"v$(node -p \"require('./package.json').version\")\"\ngit push --follow-tags\n```\n\nThe rebuild-and-install step resyncs `.agents/aikit/*.md` and `AGENTS.md`'s version stamp\nto the new release - skip it and CI's self-check fails on the tagged commit.\n\nThe Publish workflow runs the gate and releases to npm on the version tag (requires the\n`NPM_TOKEN` secret).\n","readmeFilename":"README.md"}