{"_id":"@aligntrue/exporters","_rev":"34-35b57457cb77caa1105c0a2440d59017","name":"@aligntrue/exporters","dist-tags":{"next":"0.1.0-alpha.2","alpha":"1.0.0-alpha.6","latest":"0.9.3"},"versions":{"0.1.0-alpha.2":{"name":"@aligntrue/exporters","version":"0.1.0-alpha.2","_id":"@aligntrue/exporters@0.1.0-alpha.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"7a9b8c5edaa22c84703c791661944a3456895db9","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.1.0-alpha.2.tgz","fileCount":255,"integrity":"sha512-QUOhn3DM/v56zhU/7OUxFY6oEMIodR8VAHj4XUNL0QnruHDMymutBHqouAp96Qf70LaiKVqFk06JXW+Qq4lx+w==","signatures":[{"sig":"MEYCIQCb7V/oSuZDXphGAo66+eloCXokHo8ntcJ8+np9jQn//QIhAK7XUkjUg+7ZWw+NzMAB4OoHwgxTErWkqg1ChjL4rzdI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630166},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.1.0-alpha.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./cursor":"./dist/cursor/index.js","./agents-md":"./dist/agents-md/index.js","./vscode-mcp":"./dist/vscode-mcp/index.js"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/5f42387b45b94ffe376bed116219821f/aligntrue-exporters-0.1.0-alpha.2.tgz","_integrity":"sha512-QUOhn3DM/v56zhU/7OUxFY6oEMIodR8VAHj4XUNL0QnruHDMymutBHqouAp96Qf70LaiKVqFk06JXW+Qq4lx+w==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.12.0","ajv-formats":"^3.0.1","@aligntrue/schema":"0.1.0-alpha.2","@aligntrue/file-utils":"0.1.0-alpha.2","@aligntrue/plugin-contracts":"0.1.0-alpha.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.4","js-yaml":"^4.1.0","typescript":"^5","@types/node":"^24","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/exporters_0.1.0-alpha.2_1761669005847_0.5710900381189892","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-alpha.3":{"name":"@aligntrue/exporters","version":"0.1.1-alpha.3","_id":"@aligntrue/exporters@0.1.1-alpha.3","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"07a9f039c9eed8b95e7827af7d8feba3fd2e5c44","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.1.1-alpha.3.tgz","fileCount":368,"integrity":"sha512-qcOkRIsbP9lwMbmWMlGCKYCpSQCq+zdcZDHPNTWwGO2cX9b5vjTWDo8iEyKygGtZZIcP9gJ3Tk+emhaMUFri1Q==","signatures":[{"sig":"MEQCIEren9medJSbQlpt5y5egE0N5f1k+Dtxxwx0sZnwGU6yAiBnLlK4dkQW1IhexHHds8Hsu5ZYc6NFOvEa+V2mx1v1IA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":926217},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.1.1-alpha.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":"./dist/index.js","./cursor":"./dist/cursor/index.js","./agents-md":"./dist/agents-md/index.js","./vscode-mcp":"./dist/vscode-mcp/index.js"},"scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/806b2a1a91c77b6d695960a7bb221a5d/aligntrue-exporters-0.1.1-alpha.3.tgz","_integrity":"sha512-qcOkRIsbP9lwMbmWMlGCKYCpSQCq+zdcZDHPNTWwGO2cX9b5vjTWDo8iEyKygGtZZIcP9gJ3Tk+emhaMUFri1Q==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.1.1-alpha.3","@aligntrue/schema":"0.1.1-alpha.3","@aligntrue/file-utils":"0.1.1-alpha.3","@aligntrue/plugin-contracts":"0.1.1-alpha.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"js-yaml":"^4.1.0","@types/js-yaml":"^4.0.9"},"_npmOperationalInternal":{"tmp":"tmp/exporters_0.1.1-alpha.3_1762478056507_0.5068657966831418","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-alpha.4":{"name":"@aligntrue/exporters","version":"0.1.1-alpha.4","license":"MIT","_id":"@aligntrue/exporters@0.1.1-alpha.4","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"a4dcc2678c06306eda75f947aad715cf0fe55b72","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.1.1-alpha.4.tgz","fileCount":429,"integrity":"sha512-xx3AMFn92KCKj90BAo+/ltbwl9Vrdtof3znB9xz6FyEdr+La1kRYGBJACqX/DX0LZsDzUfltVh86XsKeJ/hlsQ==","signatures":[{"sig":"MEYCIQC/Sy647y2tnUmOUextHcUHl5FKOySMigssr4Hc84pWnwIhAPHSklW+zHzylZgRdxKJuJzP4m2UW4sm/H/mopmDT9/W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":740211},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.1.1-alpha.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents-md":{"types":"./dist/agents-md/index.d.ts","default":"./dist/agents-md/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/f096d96017dcd4ca1a6646f74bd656f5/aligntrue-exporters-0.1.1-alpha.4.tgz","_integrity":"sha512-xx3AMFn92KCKj90BAo+/ltbwl9Vrdtof3znB9xz6FyEdr+La1kRYGBJACqX/DX0LZsDzUfltVh86XsKeJ/hlsQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.1.1-alpha.4","@aligntrue/schema":"0.1.1-alpha.4","@aligntrue/file-utils":"0.1.1-alpha.4","@aligntrue/plugin-contracts":"0.1.1-alpha.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.1.1-alpha.4_1762969365411_0.1933507905219376","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.5":{"name":"@aligntrue/exporters","version":"1.0.0-alpha.5","license":"MIT","_id":"@aligntrue/exporters@1.0.0-alpha.5","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"88a770ad2a53f021584dd743e67cd5fd2563b2a9","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-1.0.0-alpha.5.tgz","fileCount":412,"integrity":"sha512-7Zb1hIGVdtMimwvI5eZgHZUjl4eX9mMmhJiYv3Ja03dkTKJSuZCB7XgRORG8nMgzj4vLJk67dREJltZl7AQECw==","signatures":[{"sig":"MEQCIEnSUHuBERhXEZYasQm/CugyxlgDWZTm0PE3HHB3oD3QAiAgSoKgH1g+yihl3whm98/F3k8eWlMF3xM+WmZRP/I/VQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640488},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-1.0.0-alpha.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents-md":{"types":"./dist/agents-md/index.d.ts","default":"./dist/agents-md/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/tmp/9785bb445d71d141828c1a65198ae2b1/aligntrue-exporters-1.0.0-alpha.5.tgz","_integrity":"sha512-7Zb1hIGVdtMimwvI5eZgHZUjl4eX9mMmhJiYv3Ja03dkTKJSuZCB7XgRORG8nMgzj4vLJk67dREJltZl7AQECw==","deprecated":"Migrated to 0.x versioning. Use @aligntrue/exporters@latest (0.1.0+) instead.","_npmVersion":"10.9.4","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"1.0.0-alpha.5","@aligntrue/schema":"1.0.0-alpha.5","@aligntrue/file-utils":"1.0.0-alpha.5","@aligntrue/plugin-contracts":"1.0.0-alpha.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_1.0.0-alpha.5_1763184990635_0.04928131658303769","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.6":{"name":"@aligntrue/exporters","version":"1.0.0-alpha.6","license":"MIT","_id":"@aligntrue/exporters@1.0.0-alpha.6","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"3812b49039360c10abe4912347aef8223848608a","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-1.0.0-alpha.6.tgz","fileCount":490,"integrity":"sha512-TvBYcjLJAWlseJxqbbgmSwoxFUwyQ34FFj2MJhFwd2NV0kEKL07RSFnIfLRQXF1xHPSQm8GjHLa9zBK00Wq2Gg==","signatures":[{"sig":"MEUCICeVXILBRwkwuviCdPT1pqdz3ZVb5yt9KN4lXsuhWr6+AiEA7vI7Vlldy9Hn6k0H5NpJbQLQeUyW66Lb+t2XwDePGbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1627135},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents-md":{"types":"./dist/agents-md/index.d.ts","default":"./dist/agents-md/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"gitHead":"b04eb7057d72305e79f989ac1c2a28509d61878f","scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"deprecated":"Migrated to 0.x versioning. Use @aligntrue/exporters@latest (0.1.0+) instead.","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"workspace:*","@aligntrue/schema":"workspace:*","@aligntrue/file-utils":"workspace:*","@aligntrue/plugin-contracts":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/exporters_1.0.0-alpha.6_1763351929080_0.09049920088708707","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@aligntrue/exporters","version":"0.1.0","license":"MIT","_id":"@aligntrue/exporters@0.1.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"bb15168b0b922833e7795a3cd62cb435d4b72204","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.1.0.tgz","fileCount":490,"integrity":"sha512-vNTHvQbC/FwBm4a+kWBJH73t0DlhamuHURrhpxfte5jrbvVGgXnO19tKsBbwYM8LODG+lJkQuF2Gb5mrC71Y6w==","signatures":[{"sig":"MEQCICBPV/qM86k6K2/5rW468pdO+raFzgS+obohk4rznlGwAiAR3ylqnB0mvJMsys61Ge/PFqhKdMNjNbfh1sP4kNdIBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625378},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents-md":{"types":"./dist/agents-md/index.d.ts","default":"./dist/agents-md/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"gitHead":"8536cf12f8cbe7d338465bead868e78e7ce80b1e","scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"workspace:*","@aligntrue/schema":"workspace:*","@aligntrue/file-utils":"workspace:*","@aligntrue/plugin-contracts":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.1.0_1763356272396_0.3657146651816767","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aligntrue/exporters","version":"0.1.1","license":"MIT","_id":"@aligntrue/exporters@0.1.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"750455b4a1fbb0d6effaa2b62ea377e4028a486d","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.1.1.tgz","fileCount":490,"integrity":"sha512-rcWLN+S+aWYhvDo60KYkt0mR+LBwFzsHo0WADhh7fAkGOI/Ee3skZa3U+TPGnQqz8yX0gmKdNisvA5ipy4jbmQ==","signatures":[{"sig":"MEUCIQCsMVMBaE2TwVx483G4hKOAUvGVpWUy77M/3OdwsRB/PAIgTUEIlCpf7NBIw9tKdXgF1CFJVA4yQJTdK4LUBCxaQ2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625358},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents-md":{"types":"./dist/agents-md/index.d.ts","default":"./dist/agents-md/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"gitHead":"d86e375f2952434f654890b0b5ec221784d5e5e5","scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"^0.1.0","@aligntrue/schema":"^0.1.0","@aligntrue/file-utils":"^0.1.0","@aligntrue/plugin-contracts":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.1.1_1763356662151_0.42675949857762596","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aligntrue/exporters","version":"0.2.0","license":"MIT","_id":"@aligntrue/exporters@0.2.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"68ef70be9bb3e4fdb05dbc88abb484ab1552acc3","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.2.0.tgz","fileCount":479,"integrity":"sha512-0PlOfk7gnuK++rGi1BcRwqR/0GgA6wz6fzrvnzXMapAXv8tF3Cq88+Xc6m8Vk6+cGdcTeGMJiJLCyT/jqf1qNQ==","signatures":[{"sig":"MEUCIGZhCd8pB0U6wuZH9ZFIHa+URaumByBiOK8XIihjKOWZAiEAu0LKKamMxcA+KO04uTDhZUrCjXyZvQn8LSAtbdw2uvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1631206},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"gitHead":"d8359202e86210404080835b1b4b937075f37be1","scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"workspace:*","@aligntrue/schema":"workspace:*","@aligntrue/file-utils":"workspace:*","@aligntrue/plugin-contracts":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.2.0_1763442563450_0.2929978801541355","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aligntrue/exporters","version":"0.2.1","license":"MIT","_id":"@aligntrue/exporters@0.2.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"003315726c61c2b2bbbb470e9433ce9cd9fd1681","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.2.1.tgz","fileCount":482,"integrity":"sha512-aI82n//tqCPhTdX1XnujNaGaCDsm7NsSzDhBi/THyafsvy6+cHSEWvNgLJLnTcDXh36f6ImDq16y5XoEFr20EA==","signatures":[{"sig":"MEUCIQCXqhvtzU8/Mk81zGNz4Cw4HOBt40dikA6XfZ3Dw5gsXAIgfz+EoM7iwSFcFEDiPhMF+Hoa3Q7kFf/mHG1m7RIy1uc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1665435},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"gitHead":"3a51d38de396a30b659c700b4a0ecaf523b175d6","scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"workspace:*","@aligntrue/schema":"workspace:*","@aligntrue/file-utils":"workspace:*","@aligntrue/plugin-contracts":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.2.1_1763529779971_0.4822815126826443","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aligntrue/exporters","version":"0.2.2","license":"MIT","_id":"@aligntrue/exporters@0.2.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"d135bf2832cc95b4b60078bf7bdfd34902eee165","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.2.2.tgz","fileCount":483,"integrity":"sha512-lIFI4ZWmPVZ+eu2kdd2uMe7oiJ67vpWS0SpTppIMxkhXI7ay++F9ikPnzQG2/II+XEg0440D18EDw22rEPUjjg==","signatures":[{"sig":"MEQCIHY0hqQ3zTRuj9i94afMKDzaeEi9h7IyA3FnIUYjILZgAiBTwDRvfbCMlPAoPN7GKDqqmw77w93wHgp5kEByvSSzyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1668299},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.2.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/d931edc44128181feafe3dce2622e8b1/aligntrue-exporters-0.2.2.tgz","_integrity":"sha512-lIFI4ZWmPVZ+eu2kdd2uMe7oiJ67vpWS0SpTppIMxkhXI7ay++F9ikPnzQG2/II+XEg0440D18EDw22rEPUjjg==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.2.2","@aligntrue/schema":"0.2.2","@aligntrue/file-utils":"0.2.2","@aligntrue/plugin-contracts":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.2.2_1763561794177_0.04273043675910504","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@aligntrue/exporters","version":"0.2.3","license":"MIT","_id":"@aligntrue/exporters@0.2.3","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"2238f5bf5ad95d086b805f55d9a7e86d59f2346c","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.2.3.tgz","fileCount":484,"integrity":"sha512-ETgSOrqVc2cXCO72CQpbZre1rPx/yis7AKh5hcQNdkNgMKDun9H47ESbeeawkrAZhKQlU9E/JxkGi2MqaVgbCg==","signatures":[{"sig":"MEUCIQCSKMq8vNP+i3ny51/IGgYKPm79S/fnc6eYwbWi2kg42AIgb23mASZBIbZs24jXK2nGAvoEHBgQLbEx+xr+J/53Nt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1680041},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.2.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/256e7b4a21476b7b5673f33611e6d5c8/aligntrue-exporters-0.2.3.tgz","_integrity":"sha512-ETgSOrqVc2cXCO72CQpbZre1rPx/yis7AKh5hcQNdkNgMKDun9H47ESbeeawkrAZhKQlU9E/JxkGi2MqaVgbCg==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.2.3","@aligntrue/schema":"0.2.3","@aligntrue/file-utils":"0.2.3","@aligntrue/plugin-contracts":"0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.2.3_1763659624960_0.5798708870512894","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aligntrue/exporters","version":"0.3.0","license":"MIT","_id":"@aligntrue/exporters@0.3.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"71bb98194be41a28ba9c11b13c4de34780ecdf14","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.3.0.tgz","fileCount":585,"integrity":"sha512-tsKrQemyHg/7RUoxrC40SorA1MrhlB+/vJfLozhSOlOUPQ8VB3zWPoIStGQsPDf4lvXKe4mpvGOA8zdPtrHsbQ==","signatures":[{"sig":"MEUCIEhy48OgS3iEQlfDUA0vHKgML8PhW1l6MPK2pO/4uuubAiEAqyH4+fpUgrTRVjprLAp2OaesSqa7lSaMXXA/r98AYSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1844610},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/c36e2a5b94d0a7527fdc3d919474b5bc/aligntrue-exporters-0.3.0.tgz","_integrity":"sha512-tsKrQemyHg/7RUoxrC40SorA1MrhlB+/vJfLozhSOlOUPQ8VB3zWPoIStGQsPDf4lvXKe4mpvGOA8zdPtrHsbQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.3.0","@aligntrue/schema":"0.3.0","@aligntrue/file-utils":"0.3.0","@aligntrue/plugin-contracts":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.3.0_1763877207760_0.2104535561526779","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aligntrue/exporters","version":"0.4.0","license":"MIT","_id":"@aligntrue/exporters@0.4.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"f5acba509035b99ac755acbd28428bf4530830ee","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.4.0.tgz","fileCount":604,"integrity":"sha512-fGn6VbFgfmv44JylghLyquS8xnC7CoakyZgpx/nBj3Zaw1fYznsGad9ebptMUfW7FbN7C9NvkCFCuvLGZ5cWxQ==","signatures":[{"sig":"MEUCIQCZkp8GhmvhESGnN+KuC02Zk7nHXtdY4QARrWGQ/YCDxwIgeHiQcoSo0vElxuyTsZ+2nsrDQIg5z/Up5hoYiiz0+eQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1770263},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/dec4024d2bfca7ecd694abfa8255bb86/aligntrue-exporters-0.4.0.tgz","_integrity":"sha512-fGn6VbFgfmv44JylghLyquS8xnC7CoakyZgpx/nBj3Zaw1fYznsGad9ebptMUfW7FbN7C9NvkCFCuvLGZ5cWxQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.4.0","@aligntrue/schema":"0.4.0","@aligntrue/file-utils":"0.4.0","@aligntrue/plugin-contracts":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.4.0_1764252566520_0.9522753981671914","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aligntrue/exporters","version":"0.4.1","license":"MIT","_id":"@aligntrue/exporters@0.4.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"64c3ecfc130a3eac1b1e33f2b6948c4b21770c69","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.4.1.tgz","fileCount":606,"integrity":"sha512-yfgPQTxpt4l1NFt5A4Zh0I34OFWIFBgJdo1PgqySl+uMUW4h5gYrN6OTkQgfv5T2mx6+LFT7tRtvmhW2HWmAdQ==","signatures":[{"sig":"MEQCIFEG42lDlecz2ClqY7c4f+Raq528dvzU3kv9J5KLfm3EAiBZb8migzwlqLm7UDBJGxCS477DEoUl1MmxlkXmC4pzJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804529},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.4.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/c4ce597aab7cb54178b2b5361df15ea3/aligntrue-exporters-0.4.1.tgz","_integrity":"sha512-yfgPQTxpt4l1NFt5A4Zh0I34OFWIFBgJdo1PgqySl+uMUW4h5gYrN6OTkQgfv5T2mx6+LFT7tRtvmhW2HWmAdQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.4.1","@aligntrue/schema":"0.4.1","@aligntrue/file-utils":"0.4.1","@aligntrue/plugin-contracts":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.4.1_1764381816081_0.7603187958035604","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aligntrue/exporters","version":"0.5.0","license":"MIT","_id":"@aligntrue/exporters@0.5.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"8ec4214c147cc864125a21ca1ebc7fa0bbc3d3f8","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.5.0.tgz","fileCount":599,"integrity":"sha512-KdEhFmsxQkaAt+C2fibNHdPbun6grj0aEYi64nbom6cjBqyYrtnY1iN4KuC7XmGXZ5DofsJHdSoAeuuPiBL1Rw==","signatures":[{"sig":"MEUCICtPn4c0tMZwgJABA/s7SZsArDxBOnDzRngkjpBMU3sEAiEA0R+vh5YLgVe+8sGJEMjHdQ+3sw+2qEDvOZSlO4qKsvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1825052},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/a841710e615a9476cea9c6d95fa844b3/aligntrue-exporters-0.5.0.tgz","_integrity":"sha512-KdEhFmsxQkaAt+C2fibNHdPbun6grj0aEYi64nbom6cjBqyYrtnY1iN4KuC7XmGXZ5DofsJHdSoAeuuPiBL1Rw==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.5.0","@aligntrue/schema":"0.5.0","@aligntrue/file-utils":"0.5.0","@aligntrue/plugin-contracts":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.5.0_1764533232167_0.25318275486698383","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aligntrue/exporters","version":"0.5.1","license":"MIT","_id":"@aligntrue/exporters@0.5.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"646ac81100458a4798e8cb9950f10e9b47d88b17","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.5.1.tgz","fileCount":599,"integrity":"sha512-jBr5Fm/GsOmvWQ+i95yOeBbwhq3R+7DZh3rHCO0jB0sZKelDaOnS6tLys3asuw9F4xSTzZSJehjvlnsVVGIaiw==","signatures":[{"sig":"MEUCIQDLVxN5SVmUD9FXqQB4i0bj47iA57skAnYykjfjyQF/cQIgCS9lEXZ/se+IzDtTcDhw9X34S/yxd/9GnnMToTujNd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1827179},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.5.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/389911e4700db3cfdd09fcc4e21fae61/aligntrue-exporters-0.5.1.tgz","_integrity":"sha512-jBr5Fm/GsOmvWQ+i95yOeBbwhq3R+7DZh3rHCO0jB0sZKelDaOnS6tLys3asuw9F4xSTzZSJehjvlnsVVGIaiw==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.5.1","@aligntrue/schema":"0.5.1","@aligntrue/file-utils":"0.5.1","@aligntrue/plugin-contracts":"0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.5.1_1764561603965_0.26796148986014234","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@aligntrue/exporters","version":"0.5.2","license":"MIT","_id":"@aligntrue/exporters@0.5.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"b06c89ac28126d313d829912ba7326bd75166570","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.5.2.tgz","fileCount":599,"integrity":"sha512-fRqljwau74vIMNjeN8Ru9l+sF+DlM+Ny4+mNycAeq6JcbhFxRNRZvDBdi7oiUI7pZ4LlU4QClzxRIdbyc/KJoA==","signatures":[{"sig":"MEUCIB5QPdh+KKkunrvPNiJ+7Ln1MDAc+RJQsf0i0UwS4DpTAiEAiBxfihh40KfIq/lcr2qmLKLRSC2KPQ5yr73kIQRLVLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1835109},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.5.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/5742ef1559aefb0cbf13e590a6f322d4/aligntrue-exporters-0.5.2.tgz","_integrity":"sha512-fRqljwau74vIMNjeN8Ru9l+sF+DlM+Ny4+mNycAeq6JcbhFxRNRZvDBdi7oiUI7pZ4LlU4QClzxRIdbyc/KJoA==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.5.2","@aligntrue/schema":"0.5.2","@aligntrue/file-utils":"0.5.2","@aligntrue/plugin-contracts":"0.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.5.2_1764614843682_0.04943199986332014","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@aligntrue/exporters","version":"0.5.3","license":"MIT","_id":"@aligntrue/exporters@0.5.3","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"f5f60e60ff50538b6ba1d3b9179672597ed7b9d1","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.5.3.tgz","fileCount":599,"integrity":"sha512-uTVLwTuPLJhChKlEoeZnkuSOFYGa+OB8+hupRdF4tb1WcEHh8qZic/x1Vx2PFYnq/qL123Jj5Jt3n88vZE6b+w==","signatures":[{"sig":"MEQCIGQObPJrlh1HsW7S1twy0WUgw7s0Yv6OqpsWlK9d5gEpAiA+EiBfrJIsafKjDbkXkLTkIHQk+OMvYyEs7rmDrtamtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1827801},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.5.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/c7d15e472af2b84e58acfe2a80ab59f0/aligntrue-exporters-0.5.3.tgz","_integrity":"sha512-uTVLwTuPLJhChKlEoeZnkuSOFYGa+OB8+hupRdF4tb1WcEHh8qZic/x1Vx2PFYnq/qL123Jj5Jt3n88vZE6b+w==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.5.3","@aligntrue/schema":"0.5.3","@aligntrue/file-utils":"0.5.3","@aligntrue/plugin-contracts":"0.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.5.3_1764655705616_0.7381023968494447","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aligntrue/exporters","version":"0.6.0","license":"MIT","_id":"@aligntrue/exporters@0.6.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"21e98a6fb0fbb14b6644b5e3b12c9d3f01de5b2c","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.6.0.tgz","fileCount":599,"integrity":"sha512-V6d0ANlic8ZUnyZ3SlTL7TB8AS91UY1f1qXXsvVN4yBFa6HODK5dJ12s66oZmhWS49y5wn1cUs8VAJlnYY09BQ==","signatures":[{"sig":"MEUCIAKB+ZIgKDVK/I7M80cNUMAHZrOI5gBHzwasp0o9qxmGAiEAr0AYXqsKgmp2PT07ux9toYA1NN6QJ/V1903Oh5PJslc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1829184},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.6.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/6dda5eadefc1550a0db9f48623bc913e/aligntrue-exporters-0.6.0.tgz","_integrity":"sha512-V6d0ANlic8ZUnyZ3SlTL7TB8AS91UY1f1qXXsvVN4yBFa6HODK5dJ12s66oZmhWS49y5wn1cUs8VAJlnYY09BQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.6.0","@aligntrue/schema":"0.6.0","@aligntrue/file-utils":"0.6.0","@aligntrue/plugin-contracts":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.6.0_1764728502785_0.5606588294892365","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@aligntrue/exporters","version":"0.6.1","license":"MIT","_id":"@aligntrue/exporters@0.6.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"3809ce844cb99cc20f260429b00d511a5bcdb039","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.6.1.tgz","fileCount":599,"integrity":"sha512-L2Xk4ZFhvcCDKE9adMziImIP+pcKR7+6l8MfLEvfXKPAm3VNmzRgkywo9qm+RBVvcFPfHpU0tmM5VaQV6mEFOg==","signatures":[{"sig":"MEUCIQDZeSfsnRJJ5PFm0Otc85aJNBOc6SUJXOLyqO6QHHuNlgIgLQPLOD04ifxY3VUY4Hpt6ioQwMb+4afCOssqkAg6Ltw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1835741},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.6.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/db5ded0e39b0accb7c1c3b0198df6dbd/aligntrue-exporters-0.6.1.tgz","_integrity":"sha512-L2Xk4ZFhvcCDKE9adMziImIP+pcKR7+6l8MfLEvfXKPAm3VNmzRgkywo9qm+RBVvcFPfHpU0tmM5VaQV6mEFOg==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.6.1","@aligntrue/schema":"0.6.1","@aligntrue/file-utils":"0.6.1","@aligntrue/plugin-contracts":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.6.1_1764746802592_0.6920742202375567","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aligntrue/exporters","version":"0.7.0","license":"MIT","_id":"@aligntrue/exporters@0.7.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"b27984f364d7e7a0939ac4d7c6f3188eddf10459","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.7.0.tgz","fileCount":599,"integrity":"sha512-GX2a5zLTWU18wYrrhRYugB0Y+nxbkqzVnF1zdVd0S2L8Fw7ZaV0Us8jX2a35vKHo7eurHrQwwLH2oK/kNi0o8w==","signatures":[{"sig":"MEUCIDkVFVzZEwIguqX6EQ4kPgoNMCLBtWsTZfskwxdShntTAiEA5ToJv5/A9YkUOuS8VbFC4SV6Uqq1Bjmf1vGPFqCCALM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1829401},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.7.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/5e9650875b2fe5a2a2f439b21c7affdc/aligntrue-exporters-0.7.0.tgz","_integrity":"sha512-GX2a5zLTWU18wYrrhRYugB0Y+nxbkqzVnF1zdVd0S2L8Fw7ZaV0Us8jX2a35vKHo7eurHrQwwLH2oK/kNi0o8w==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.6.1","ajv-formats":"^3.0.1","@aligntrue/core":"0.7.0","@aligntrue/schema":"0.7.0","@aligntrue/file-utils":"0.7.0","@aligntrue/plugin-contracts":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.7.0_1764795569361_0.7698088749155585","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@aligntrue/exporters","version":"0.7.1","license":"MIT","_id":"@aligntrue/exporters@0.7.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"c717d65e50395f28ace769a1f4f4803f24ac0d3e","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.7.1.tgz","fileCount":599,"integrity":"sha512-7/xechJFllp0gjpFK1Y7roRmj9oXjU+HdbQQD2yoRpfPKQ33nbFKgZpoAtmETrFEnEHAqaWPeKwCDN7dwPnyfw==","signatures":[{"sig":"MEQCIG93mjDCRuTHQoUmyApl8Fc/PzCEzrgCiUcWbmitWu9dAiAUjPJEs3RqnJCG2+/W0iITEvRack7FGriqW/W3SMrUBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1835299},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.7.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/64a8ad0ca9324d59d6f31de368c8e28f/aligntrue-exporters-0.7.1.tgz","_integrity":"sha512-7/xechJFllp0gjpFK1Y7roRmj9oXjU+HdbQQD2yoRpfPKQ33nbFKgZpoAtmETrFEnEHAqaWPeKwCDN7dwPnyfw==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.7.1","@aligntrue/schema":"0.7.1","@aligntrue/file-utils":"0.7.1","@aligntrue/plugin-contracts":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.7.1_1764826267219_0.5744154361379294","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@aligntrue/exporters","version":"0.7.2","license":"MIT","_id":"@aligntrue/exporters@0.7.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"6bce3a568bf342b46f1e76ffc0b4a0cfa39f67e4","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.7.2.tgz","fileCount":599,"integrity":"sha512-LtPpswZLdGY5L4u5VnJEy8PSrLzRUu55sjkmVvYNw4KsFEphRvfUnDM5RuOI4kwOFujvQRFQFSWo3bheOqRcqg==","signatures":[{"sig":"MEQCIAPVs4XsvzApZjmh5rvZi5VV9Pw9WBfO8eFs+dFyKid4AiBl/zH99FV6Gesu2zaNPf2g0QK+scS9AL5PZczI5JbwvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1829402},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.7.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/9f384d577e71164d6efa83b558e49764/aligntrue-exporters-0.7.2.tgz","_integrity":"sha512-LtPpswZLdGY5L4u5VnJEy8PSrLzRUu55sjkmVvYNw4KsFEphRvfUnDM5RuOI4kwOFujvQRFQFSWo3bheOqRcqg==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.7.2","@aligntrue/schema":"0.7.2","@aligntrue/file-utils":"0.7.2","@aligntrue/plugin-contracts":"0.7.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.7.2_1764834667109_0.12653790859050718","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@aligntrue/exporters","version":"0.7.3","license":"MIT","_id":"@aligntrue/exporters@0.7.3","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"740305256fd569335ee78cb82f6d2b92035bc19b","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.7.3.tgz","fileCount":599,"integrity":"sha512-Sxs0MOqklwpTZ/ZS1miJc9BRwY9bhrknkHVnuupaXWGFezAei6CuA/YkQSKtIa9v5Liud0/ea6k2YTcA2OzngQ==","signatures":[{"sig":"MEUCIQDD5RhEmRVwlERjluUsv3LUqsOMwq3P5fT+22TeuYsKMQIgO/JXoM64loEKI76pq0/on7CsN08Heqvh8pwjn6d3lU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1827326},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.7.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/8eb30be5857f9aad3c13ab59d00435c0/aligntrue-exporters-0.7.3.tgz","_integrity":"sha512-Sxs0MOqklwpTZ/ZS1miJc9BRwY9bhrknkHVnuupaXWGFezAei6CuA/YkQSKtIa9v5Liud0/ea6k2YTcA2OzngQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.7.3","@aligntrue/schema":"0.7.3","@aligntrue/file-utils":"0.7.3","@aligntrue/plugin-contracts":"0.7.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.7.3_1764837675973_0.7648742547724301","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aligntrue/exporters","version":"0.8.0","license":"MIT","_id":"@aligntrue/exporters@0.8.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"af878277d660acb295bd1bd8a5d42134a6f000e4","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.8.0.tgz","fileCount":612,"integrity":"sha512-fKZBpvwRoviXOA5VrogGkkCo69g4nfgiPYUcIAJ5bJwXGbVZGdhJ3Z8oTKbJyX7fFV+0hF+6u656lZP10PduyQ==","signatures":[{"sig":"MEUCIQCFPOf7gFKTNLNav2/PfWgHL4NzXZqCjoTLQ6A5uUWZLQIgWPYXx2/6euB1nFkH46HbT4OQCgT9AzK8BX8CkdZScrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1851639},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.8.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/77189258c3de53367724485caeffbd07/aligntrue-exporters-0.8.0.tgz","_integrity":"sha512-fKZBpvwRoviXOA5VrogGkkCo69g4nfgiPYUcIAJ5bJwXGbVZGdhJ3Z8oTKbJyX7fFV+0hF+6u656lZP10PduyQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.8.0","@aligntrue/schema":"0.8.0","@aligntrue/file-utils":"0.8.0","@aligntrue/plugin-contracts":"0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.8.0_1765010083173_0.4391196731012512","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@aligntrue/exporters","version":"0.8.1","license":"MIT","_id":"@aligntrue/exporters@0.8.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"fac1511d35619f87e69d9a96d68949dc49439a37","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.8.1.tgz","fileCount":612,"integrity":"sha512-tIe/so5aqv7dYa3VBRYMF0UKtxQrCSWqvNhHoLlahTJa+1vOuW0t+lC3By2tydQXQnL6f986tRnAwcZ7HDg40Q==","signatures":[{"sig":"MEYCIQCL5l8gA1D93CIZ2yaeb8NcDtbvkeIeUdNIBnEplaTokwIhAJesEF2jSJrMvoyU9lcVl2/hrrQycNXSKxs2MUFlU533","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1852534},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.8.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/75dcbdf7ae64812e7d52f83c64e6b076/aligntrue-exporters-0.8.1.tgz","_integrity":"sha512-tIe/so5aqv7dYa3VBRYMF0UKtxQrCSWqvNhHoLlahTJa+1vOuW0t+lC3By2tydQXQnL6f986tRnAwcZ7HDg40Q==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.8.1","@aligntrue/schema":"0.8.1","@aligntrue/file-utils":"0.8.1","@aligntrue/plugin-contracts":"0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.8.1_1765012225825_0.1861318134511365","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@aligntrue/exporters","version":"0.8.2","license":"MIT","_id":"@aligntrue/exporters@0.8.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"f6c32933dc51d344ebc72c00ee7069012378d1da","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.8.2.tgz","fileCount":612,"integrity":"sha512-r76wBPNIv6nXf0UI6/WtydSGhg5D1D+6aGZALwq3naSAC71VQnMt6g/i4IL+gm/y0+Mc0yHw3PW9vvbgok98uQ==","signatures":[{"sig":"MEUCIQDaEui1majMgSYLDVTwcPyqf0QiNxh9voJeB8RG32mM7QIgdS8E0xbdVkGwSD6y63Vcldr1lE/orJgCX07x0QEP/xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1841949},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.8.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/abd179c313e3366506d2b0c0719c424e/aligntrue-exporters-0.8.2.tgz","_integrity":"sha512-r76wBPNIv6nXf0UI6/WtydSGhg5D1D+6aGZALwq3naSAC71VQnMt6g/i4IL+gm/y0+Mc0yHw3PW9vvbgok98uQ==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.8.2","@aligntrue/schema":"0.8.2","@aligntrue/file-utils":"0.8.2","@aligntrue/plugin-contracts":"0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.8.2_1765044645575_0.5250635228282889","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aligntrue/exporters","version":"0.9.0","license":"MIT","_id":"@aligntrue/exporters@0.9.0","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"7321e0d46f66537041125a4195e724b8e3911a04","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.9.0.tgz","fileCount":623,"integrity":"sha512-81laQOhuyK+Xu3aF6K7zwoO0KCXMvU8KQ4n0tYK6t50Uu6PH82SeB+XUt4AaIHmQGGrhDxcTmIkb41x5T1wn9w==","signatures":[{"sig":"MEYCIQC8FrUllcXwPD3SUXb7GpEYhb47Sl3/9shngeHan7GExQIhAIExFFFmpV7GGJ4UKC5kMkDxSsWZ6pdtfRHTPn3aqe1W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1862678},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.9.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/0495285e566e0e0f14901a6e8ed10f2e/aligntrue-exporters-0.9.0.tgz","_integrity":"sha512-81laQOhuyK+Xu3aF6K7zwoO0KCXMvU8KQ4n0tYK6t50Uu6PH82SeB+XUt4AaIHmQGGrhDxcTmIkb41x5T1wn9w==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.9.0","@aligntrue/schema":"0.9.0","@aligntrue/file-utils":"0.9.0","@aligntrue/plugin-contracts":"0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.9.0_1765431265487_0.1773632243612282","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@aligntrue/exporters","version":"0.9.1","license":"MIT","_id":"@aligntrue/exporters@0.9.1","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"4d21ecc534baecf71819c60c9c9900dcd4801142","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.9.1.tgz","fileCount":623,"integrity":"sha512-0LS0cXSl2ZEWhICx9fDymJTKFBK9/1kvn8lgogi2kJAoSANxnVHiDosZnGDZ5y3SCV2x1MyBedUKbaYRMO4uAA==","signatures":[{"sig":"MEUCIQCR3JL8QOs1Ir0dA/k/8BQjdZvvfHmeSf38x7b3I0B/6gIgd8CjjAWIwEc4OeXKxJ3GolN5MvsKPFNugGzdHVvYuGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1864348},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.9.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/b8315435d6c111abdeee0a5a72dda89f/aligntrue-exporters-0.9.1.tgz","_integrity":"sha512-0LS0cXSl2ZEWhICx9fDymJTKFBK9/1kvn8lgogi2kJAoSANxnVHiDosZnGDZ5y3SCV2x1MyBedUKbaYRMO4uAA==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.9.1","@aligntrue/schema":"0.9.1","@aligntrue/file-utils":"0.9.1","@aligntrue/plugin-contracts":"0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.9.1_1765941815640_0.677355436574117","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@aligntrue/exporters","version":"0.9.2","license":"MIT","_id":"@aligntrue/exporters@0.9.2","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"dist":{"shasum":"f2be9f5bccf1398be0831426f0a1d4d6764774f6","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.9.2.tgz","fileCount":623,"integrity":"sha512-8ZqcnBXIZaxH1qqLYiWBoJr5NgjLIqO2W5rGD39qqElzxQnyvaglkop1UEyDPNFckVbjiznPfO/4cZi3BlOU6A==","signatures":[{"sig":"MEYCIQCBUfmPthq3sdYcY5bYg3D0lW4l2ghZdCexW1hLHZfd/gIhAIlKD1b6YBYweJ+hLqMaTLUWJj2Bkr3XNcZ70eNub9r5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1865038},"main":"./dist/index.js","type":"module","_from":"file:aligntrue-exporters-0.9.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"scripts":{"test":"vitest run","build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/147966b963cb8f62533e0111af4ca8d4/aligntrue-exporters-0.9.2.tgz","_integrity":"sha512-8ZqcnBXIZaxH1qqLYiWBoJr5NgjLIqO2W5rGD39qqElzxQnyvaglkop1UEyDPNFckVbjiznPfO/4cZi3BlOU6A==","_npmVersion":"11.6.0","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","directories":{},"_nodeVersion":"23.11.0","dependencies":{"ajv":"^8.17.1","yaml":"^2.8.2","ajv-formats":"^3.0.1","@aligntrue/core":"0.9.2","@aligntrue/schema":"0.9.2","@aligntrue/file-utils":"0.9.2","@aligntrue/plugin-contracts":"0.9.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/exporters_0.9.2_1765949052455_0.9118168458837634","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@aligntrue/exporters","version":"0.9.3","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cursor":{"types":"./dist/cursor/index.d.ts","default":"./dist/cursor/index.js"},"./agents":{"types":"./dist/agents/index.d.ts","default":"./dist/agents/index.js"},"./vscode-mcp":{"types":"./dist/vscode-mcp/index.d.ts","default":"./dist/vscode-mcp/index.js"},"./utils/section-parser":{"types":"./dist/utils/section-parser.d.ts","default":"./dist/utils/section-parser.js"}},"dependencies":{"ajv":"^8.17.1","ajv-formats":"^3.0.1","yaml":"^2.8.2","@aligntrue/core":"0.9.3","@aligntrue/schema":"0.9.3","@aligntrue/plugin-contracts":"0.9.3","@aligntrue/file-utils":"0.9.3"},"license":"MIT","engines":{"node":">=20"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc && node -e \"const fs=require('fs'),path=require('path');function copyManifests(dir){fs.readdirSync(dir,{withFileTypes:true}).forEach(e=>{const p=path.join(dir,e.name);if(e.isDirectory())copyManifests(p);else if(e.name==='manifest.json'){const t=p.replace('src','dist');fs.mkdirSync(path.dirname(t),{recursive:true});const content=fs.readFileSync(p,'utf8');const fixed=content.replace(/\\\"\\.\\/index\\.ts\\\"/g,'\\\"./index.js\\\"');fs.writeFileSync(t,fixed)}})};copyManifests('src')\"","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"_id":"@aligntrue/exporters@0.9.3","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","_integrity":"sha512-3PaUUu3NKoNM+nVO+/aDJ7mg8hC5eLmm8v7YkM17ZW8po/i6vQL+JeIc6U9NplP36IqrCbQBxeoi7/keG3wpmA==","_resolved":"/private/var/folders/qn/kzm93p190txc1rg4_9b9nx340000gn/T/23ab1e6aaa658bc027d2601a06414e9a/aligntrue-exporters-0.9.3.tgz","_from":"file:aligntrue-exporters-0.9.3.tgz","_nodeVersion":"23.11.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-3PaUUu3NKoNM+nVO+/aDJ7mg8hC5eLmm8v7YkM17ZW8po/i6vQL+JeIc6U9NplP36IqrCbQBxeoi7/keG3wpmA==","shasum":"1b0dee8a57e66794ec159ddaa37ae405ccf63a40","tarball":"https://registry.npmjs.org/@aligntrue/exporters/-/exporters-0.9.3.tgz","fileCount":623,"unpackedSize":1871838,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCcDrSnGGQAW2ygBfUEOc5peMcztkmpxtzbFbPszdYjzQIgOSMCSFSh0knjjNpTUICeQ/+UlEi6JqcdCHvOrrl2rbs="}]},"_npmUser":{"name":"gmays","email":"gabriel.mays@gmail.com"},"directories":{},"maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/exporters_0.9.3_1766196156962_0.694363769503866"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-28T16:30:05.778Z","modified":"2025-12-20T02:02:37.417Z","0.1.0-alpha.1":"2025-10-28T15:50:23.382Z","0.1.0-alpha.2":"2025-10-28T16:30:06.089Z","0.1.1-alpha.3":"2025-11-07T01:14:16.771Z","0.1.1-alpha.4":"2025-11-12T17:42:45.592Z","1.0.0-alpha.5":"2025-11-15T05:36:30.825Z","1.0.0-alpha.6":"2025-11-17T03:58:49.404Z","0.1.0":"2025-11-17T05:11:12.636Z","0.1.1":"2025-11-17T05:17:42.421Z","0.2.0":"2025-11-18T05:09:23.693Z","0.2.1":"2025-11-19T05:23:00.194Z","0.2.2":"2025-11-19T14:16:34.390Z","0.2.3":"2025-11-20T17:27:05.228Z","0.3.0":"2025-11-23T05:53:27.992Z","0.4.0":"2025-11-27T14:09:26.800Z","0.4.1":"2025-11-29T02:03:36.288Z","0.5.0":"2025-11-30T20:07:12.406Z","0.5.1":"2025-12-01T04:00:04.226Z","0.5.2":"2025-12-01T18:47:23.919Z","0.5.3":"2025-12-02T06:08:25.914Z","0.6.0":"2025-12-03T02:21:43.077Z","0.6.1":"2025-12-03T07:26:42.843Z","0.7.0":"2025-12-03T20:59:29.583Z","0.7.1":"2025-12-04T05:31:07.437Z","0.7.2":"2025-12-04T07:51:07.379Z","0.7.3":"2025-12-04T08:41:16.140Z","0.8.0":"2025-12-06T08:34:43.370Z","0.8.1":"2025-12-06T09:10:26.046Z","0.8.2":"2025-12-06T18:10:45.766Z","0.9.0":"2025-12-11T05:34:25.643Z","0.9.1":"2025-12-17T03:23:35.791Z","0.9.2":"2025-12-17T05:24:12.634Z","0.9.3":"2025-12-20T02:02:37.154Z"},"license":"MIT","description":"Agent-specific exporters for AlignTrue with hybrid manifest + handler registry.","maintainers":[{"name":"gmays","email":"gabriel.mays@gmail.com"}],"readme":"# @aligntrue/exporters\n\nAgent-specific exporters for AlignTrue with hybrid manifest + handler registry.\n\n## Architecture Note\n\nThis package implements the `ExporterPlugin` interface defined in `@aligntrue/plugin-contracts` and uses `AtomicFileWriter` from `@aligntrue/file-utils`. Plugin contracts are defined separately to avoid circular dependencies between core and exporters packages.\n\n## Features\n\n- **Hybrid Registry** - Declarative `manifest.json` + optional TypeScript handlers\n- **Community-Scalable** - Add new exporters without changing core code\n- **Schema Validation** - Manifest validation with JSON Schema (draft 2020-12)\n- **Dynamic Loading** - Handler modules loaded on-demand with ESM imports\n- **Fidelity Notes** - Surface semantic mapping limitations in exports\n\n## Core Exporters\n\n- ✅ **Cursor** (.mdc) - Scope-based .cursor/rules/\\*.mdc files with vendor.cursor frontmatter\n- ✅ **AGENTS.md** - Universal single-file format for multiple agents\n- ✅ **VS Code MCP** - .vscode/mcp.json configuration with vendor.vscode extraction\n\n### Cursor Exporter\n\nGenerates `.cursor/rules/*.mdc` files (one per scope) with YAML frontmatter.\n\n**Features:**\n\n- Scope-based file organization (preserves source file names; default scope uses the source filename)\n- Vendor.cursor metadata extracted to YAML frontmatter\n- Multiple rules concatenated as markdown sections\n- Content hash footer for drift detection\n- Fidelity tracking for unmapped fields and cross-agent vendor metadata\n\n**Example output:** `.cursor/rules/testing.mdc`\n\n```markdown\n---\nsession: default\nai_hint: \"Focus on code quality\"\n---\n\n## Rule: testing.require-tests\n\n**Severity:** warn\n\nAll features must have tests to ensure reliability.\n\n---\n\n**Generated by AlignTrue**  \nContent Hash: abc123...xyz789\n\n**Fidelity Notes:**\n\n- Machine-checkable rules (check) not represented in Cursor format\n```\n\n### AGENTS.md Exporter\n\nGenerates single root-level `AGENTS.md` file with v1 versioned format.\n\n**Features:**\n\n- Single merged file (not per-scope)\n- V1 format with version marker\n- Plain text severity labels (ERROR, WARN, INFO)\n- Scope paths in rule metadata\n- No vendor extraction (universal format)\n- Content hash footer\n\n**Example output:** `AGENTS.md`\n\n```markdown\n# AGENTS.md\n\n**Version:** v1  \n**Generated by:** AlignTrue\n\nThis file contains rules and guidance for AI coding agents.\n\n## Rule: testing.require-tests\n\n**ID:** testing.require-tests  \n**Severity:** WARN  \n**Scope:** \\*_/_.ts\n\n## All features should have tests.\n\n**Generated by AlignTrue**  \nContent Hash: abc123...xyz789\n```\n\n### VS Code MCP Exporter\n\nGenerates `.vscode/mcp.json` configuration for Model Context Protocol support.\n\n**Features:**\n\n- Single JSON file at workspace root\n- V1 JSON format with version marker\n- Extracts vendor.vscode metadata to top level (flattened structure)\n- Scope paths in rule metadata\n- Deterministic content hash\n- Fidelity tracking for unmapped fields and non-vscode vendor metadata\n\n**Example output:** `.vscode/mcp.json`\n\n```json\n{\n  \"version\": \"v1\",\n  \"generated_by\": \"AlignTrue\",\n  \"content_hash\": \"abc123...xyz789\",\n  \"rules\": [\n    {\n      \"id\": \"formatting.use-prettier\",\n      \"severity\": \"warn\",\n      \"guidance\": \"Use Prettier for consistent code formatting.\",\n      \"applies_to\": [\"**/*.ts\", \"**/*.tsx\"],\n      \"workbench_setting\": \"editor.formatOnSave\",\n      \"diagnostic_code\": \"format-001\"\n    }\n  ],\n  \"fidelity_notes\": [\n    \"Machine-checkable rules (check) not represented in MCP config format\",\n    \"Vendor-specific metadata for other agents not extracted to MCP config: cursor, copilot\"\n  ]\n}\n```\n\n**Vendor.vscode extraction:**\nFields in `vendor.vscode` are flattened to the top level of each rule object. This makes the JSON cleaner for VS Code to consume while preserving VS Code-specific metadata.\n\n## Exporter Registry\n\nThe hybrid manifest system allows community contributions without modifying core code.\n\n### Manifest Structure\n\nEach exporter directory contains a `manifest.json`:\n\n```json\n{\n  \"name\": \"cursor\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Export AlignTrue rules to Cursor .mdc format\",\n  \"outputs\": [\".cursor/rules/*.mdc\"],\n  \"handler\": \"./index.ts\",\n  \"license\": \"MIT\",\n  \"fidelityNotes\": [\n    \"Session metadata stored in vendor.cursor namespace\",\n    \"AI hints preserved in vendor.cursor.ai_hint\"\n  ]\n}\n```\n\n### Registry API\n\n```typescript\nimport { ExporterRegistry } from \"@aligntrue/exporters\";\n\nconst registry = new ExporterRegistry();\n\n// Programmatic registration (for tests/mocks)\nregistry.register(exporter);\n\n// Manifest-based registration (production)\nawait registry.registerFromManifest(\"./path/to/manifest.json\");\n\n// Discover all exporters in directory\nconst manifests = registry.discoverExporters(\"./src\");\n\n// Get exporter by name\nconst exporter = registry.get(\"cursor\");\n\n// List all registered exporters\nconst names = registry.list();\n\n// Get manifest metadata\nconst manifest = registry.getManifest(\"cursor\");\n```\n\n## Creating Exporters\n\n### 1. Create Manifest\n\nCreate `manifest.json` in your exporter directory:\n\n```json\n{\n  \"name\": \"my-exporter\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Export AlignTrue rules to My Tool format (min 10 chars)\",\n  \"outputs\": [\".mytool/*.txt\"],\n  \"handler\": \"./index.ts\",\n  \"license\": \"MIT\",\n  \"fidelityNotes\": [\"Optional: list any semantic mapping limitations\"]\n}\n```\n\n**Required fields:**\n\n- `name` - Lowercase alphanumeric with hyphens (e.g., `my-exporter`)\n- `version` - Semantic version (e.g., `1.0.0`)\n- `description` - Human-readable description (min 10 characters)\n- `outputs` - Array of file patterns produced (min 1 item)\n\n**Optional fields:**\n\n- `handler` - Relative path to TypeScript handler (e.g., `./index.ts`)\n- `license` - License identifier (default: MIT)\n- `fidelityNotes` - Array of semantic mapping caveats\n\n### 2. Implement Handler\n\nCreate a TypeScript file that exports an `ExporterPlugin`:\n\n```typescript\nimport type {\n  ExporterPlugin,\n  ScopedExportRequest,\n  ExportOptions,\n  ExportResult,\n} from \"@aligntrue/plugin-contracts\";\nimport { AtomicFileWriter } from \"@aligntrue/file-utils\";\nimport { canonicalizeJson, computeHash } from \"@aligntrue/schema\";\n\nexport class MyExporterExporter implements ExporterPlugin {\n  name = \"my-exporter\";\n  version = \"1.0.0\";\n\n  async export(\n    request: ScopedExportRequest,\n    options: ExportOptions,\n  ): Promise<ExportResult> {\n    // request.scope - Scope this export is for\n    // request.align - Align with sections for this scope\n    // request.outputPath - Suggested output path\n\n    // options.outputDir - Base output directory\n    // options.dryRun - If true, don't write files\n    // options.backup - If true, create .backup files\n\n    // Your export logic here\n    const filesWritten: string[] = [];\n    const contentHash = \"sha256-hash-of-output\";\n    const fidelityNotes: string[] = [];\n\n    return {\n      success: true,\n      filesWritten,\n      contentHash,\n      fidelityNotes,\n    };\n  }\n}\n\n// Export as default for registry loading\nexport default MyExporterExporter;\n```\n\n### 3. Write Tests\n\nCreate snapshot tests for your exporter:\n\n```typescript\nimport { describe, it, expect } from \"vitest\";\nimport { MyExporterExporter } from \"./index.js\";\n\ndescribe(\"MyExporterExporter\", () => {\n  it(\"exports rules correctly\", async () => {\n    const exporter = new MyExporterExporter();\n    const result = await exporter.export(request, options);\n\n    expect(result.success).toBe(true);\n    expect(result.filesWritten).toHaveLength(1);\n    expect(result.contentHash).toMatch(/^sha256-/);\n  });\n\n  it(\"matches snapshot\", async () => {\n    // Golden output snapshot test\n    const output = await generateOutput(rules);\n    expect(output).toMatchSnapshot();\n  });\n});\n```\n\n## Testing\n\nThe registry includes comprehensive test coverage:\n\n**Registry Tests (26 tests)**\n\n- Programmatic registration\n- Manifest loading and validation\n- Handler loading with dynamic imports\n- Exporter discovery in directories\n- Query methods (get, has, list)\n\n**Schema Tests (20 tests)**\n\n- Valid manifest validation\n- Required field enforcement\n- Format validation (name, version, semver)\n- Optional field handling\n- Additional properties rejection\n\n## API Reference\n\n### ExporterPlugin Interface\n\n```typescript\ninterface ExporterPlugin {\n  name: string;\n  version: string;\n  export(\n    request: ScopedExportRequest,\n    options: ExportOptions,\n  ): Promise<ExportResult>;\n}\n```\n\n### ScopedExportRequest\n\n```typescript\ninterface ScopedExportRequest {\n  scope: ResolvedScope; // Scope this export is for\n  align: Align; // Align with sections for this scope\n  outputPath: string; // Suggested output path\n}\n```\n\n### ExportOptions\n\n```typescript\ninterface ExportOptions {\n  outputDir: string;\n  dryRun?: boolean;\n  backup?: boolean;\n}\n```\n\n### ExportResult\n\n```typescript\ninterface ExportResult {\n  success: boolean;\n  filesWritten: string[];\n  fidelityNotes?: string[];\n  contentHash: string;\n}\n```\n\n### ExporterManifest\n\n```typescript\ninterface ExporterManifest {\n  name: string; // Exporter name (lowercase alphanumeric with hyphens)\n  version: string; // Semantic version (e.g., 1.0.0)\n  description: string; // Human-readable description\n  outputs: string[]; // File patterns produced\n  handler?: string; // Optional: relative path to TypeScript handler\n  license?: string; // License identifier (default: MIT)\n  fidelityNotes?: string[]; // Optional: semantic mapping limitations\n}\n```\n\n## Fidelity Notes\n\nFidelity notes document semantic mapping limitations when converting AlignTrue IR to agent-specific formats.\n\n**When to add fidelity notes:**\n\n- Agent format cannot represent a field (e.g., no severity levels)\n- Lossy conversion (e.g., severity mapped to markdown emphasis)\n- Agent-specific metadata stored in `vendor.<agent>` namespace\n- Behavioral differences (e.g., applies_to as comments vs. enforced)\n\n**Example:**\n\n```json\n{\n  \"fidelityNotes\": [\n    \"Severity mapped to markdown emphasis (* = info, ** = warn, *** = error)\",\n    \"applies_to patterns stored as comments (not enforced)\",\n    \"Vendor metadata preserved in frontmatter\"\n  ]\n}\n```\n\n## Package Status\n\n✅ **Step 10 Complete** - Exporter registry with hybrid manifests implemented  \n✅ **Step 11 Complete** - Cursor exporter with snapshot tests  \n✅ **Step 12 Complete** - AGENTS.md formatter with v1 format  \n✅ **Step 13 Complete** - VS Code MCP config exporter\n\n**All core exporters implemented!**\n\n**Test Coverage:**\n\n- 116 tests passing (100% pass rate)\n- 15 snapshot validations across 3 exporters\n- Full vendor extraction and fidelity tracking\n\n**Next:**\n\n- Step 14: Complete sync engine\n\n---\n\n## Security Expectations\n\n**Status:** Trust-based contract (implemented)  \n**See also:** `packages/core/docs/SECURITY.md`\n\n### Guidelines for Exporter Implementations\n\nAll exporters (community-contributed or official) must follow these security and safety guidelines:\n\n#### 1. No Network Calls During Export\n\nExporters must be deterministic and work offline.\n\n**❌ Don't do this:**\n\n```typescript\nasync export(request, options) {\n  await fetch('https://api.example.com/track')  // Violation\n  // ...\n}\n```\n\n**✅ Do this:**\n\n```typescript\nasync export(request, options) {\n  // Only work with local data\n  const output = generateOutput(request.align.sections)\n  return { success: true, filesWritten: [...] }\n}\n```\n\n**Rationale:** Network calls introduce:\n\n- Non-determinism (network failures)\n- Privacy concerns (data leakage)\n- Security risks (MITM attacks)\n- Offline workflow breakage\n\n---\n\n#### 2. Only Write Files via Provided Mechanisms\n\nUse the output mechanisms provided by the framework. Don't write directly to arbitrary paths.\n\n**❌ Don't do this:**\n\n```typescript\nimport { writeFileSync } from \"fs\";\nwriteFileSync(\"/tmp/output.txt\", content); // Violation\n```\n\n**✅ Do this:**\n\n```typescript\n// Use options.outputDir as base for all writes\nconst outputPath = join(options.outputDir, \".cursor/rules.mdc\");\n// Return file paths for atomic write handling\nreturn {\n  success: true,\n  filesWritten: [outputPath],\n  contentHash: \"sha256-...\",\n};\n```\n\n**Rationale:** Framework provides:\n\n- Atomic writes (temp+rename pattern)\n- Path validation (no directory traversal)\n- Backup/rollback on errors\n- Checksum tracking\n\n**See:** `packages/core/src/sync/file-operations.ts` - `AtomicFileWriter`\n\n---\n\n#### 3. Don't Execute External Commands\n\nExporters must not execute shell commands or external programs.\n\n**❌ Don't do this:**\n\n```typescript\nimport { execSync } from \"child_process\";\nexecSync(\"npm install something\"); // Violation\nexecSync('git commit -m \"Update\"'); // Violation\n```\n\n**✅ Do this:**\n\n```typescript\n// Pure transformation only\nfunction transformSections(sections: AlignSection[]): string {\n  return sections.map(formatSection).join(\"\\n\");\n}\n```\n\n**Rationale:** Command execution introduces:\n\n- Security risks (arbitrary code execution)\n- Non-determinism (environment-dependent)\n- Side effects (unintended system changes)\n\n---\n\n#### 4. Respect outputDir Boundaries\n\nAll output paths must be relative to `options.outputDir`. Never write outside the workspace.\n\n**❌ Don't do this:**\n\n```typescript\nconst outputPath = \"../../../etc/passwd\"; // Violation\nconst outputPath = \"/tmp/malicious.txt\"; // Violation\n```\n\n**✅ Do this:**\n\n```typescript\n// Always use join() with outputDir\nconst outputPath = join(options.outputDir, \".cursor/rules.mdc\");\n```\n\n**Enforcement:** Sync engine validates output paths before calling exporters.  \n**See:** `packages/core/src/sync/engine.ts` - output path validation\n\n---\n\n#### 5. Document Unsafe Operations in Fidelity Notes\n\nIf an exporter cannot support a feature safely, document the limitation in `fidelityNotes`:\n\n```typescript\nconst fidelityNotes: string[] = [];\n\nif (rule.autofix?.command) {\n  fidelityNotes.push(\n    \"Autofix commands not executed for security - stored as metadata only\",\n  );\n}\n\nif (rule.check?.type === \"command_runner\") {\n  fidelityNotes.push(\n    \"Command runner checks not executed - validation deferred to CLI\",\n  );\n}\n\nreturn {\n  success: true,\n  fidelityNotes,\n  // ...\n};\n```\n\n**Purpose:** Transparency about what features are supported vs. preserved as metadata.\n\n---\n\n### Runtime Enforcement (Future)\n\n**Current:** Trust-based expectations with documentation and code review.\n\n**Future:** Runtime sandboxing may be added:\n\n- Block network access (no `fetch`, `http`, `https`)\n- Block file system access outside workspace\n- Block `child_process` and `exec` family\n- Use Node.js VM or worker threads for isolation\n\n**See:** `packages/core/docs/SECURITY.md` - \"Future Enhancements\"\n\n---\n\n### Security Testing Checklist\n\nWhen contributing an exporter:\n\n- [ ] No `fetch()`, `http.request()`, or network calls\n- [ ] No `execSync()`, `spawn()`, or command execution\n- [ ] All file writes use `join(options.outputDir, relativePath)`\n- [ ] No absolute paths or `..` in output paths\n- [ ] Fidelity notes document any unsupported features\n- [ ] Tests include error paths and invalid inputs\n- [ ] No external dependencies beyond framework types\n\n**Code review will validate these requirements.**\n\n---\n\n## Contributing\n\nSee `CONTRIBUTING.md` for exporter contribution guidelines.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}