{"_id":"@hstm-labs/aamf","_rev":"29-22f6e1b6d4d5c4001a4a6d6974626049","name":"@hstm-labs/aamf","dist-tags":{"latest":"3.6.0"},"versions":{"1.1.3":{"name":"@hstm-labs/aamf","version":"1.1.3","_id":"@hstm-labs/aamf@1.1.3","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"2c098a0ff24d2220a72a63f0f9647fe7280f7962","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-1.1.3.tgz","fileCount":36,"integrity":"sha512-WG8pv+skapX+8GXHZWB1J+77Lbqe8fNteyVo5HgPcUAE2u0Ke40wyNyhd9WyM2x9vzqAWzN0ZuCVGhdYrgeW/g==","signatures":[{"sig":"MEQCIHiWXNOKDL+ussO3oPzQY2tFrLFEhZtG5yGsLsRcvtuZAiB7UQOaJ9S2A2oI5+GaV2LThns2Xstamy/UZqsBlIwYAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121468},"type":"module","gitHead":"e24ad613ad4408029ba599ffe34ecbacc4ee4080","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_1.1.3_1771025896757_0.2069453357498967","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@hstm-labs/aamf","version":"2.0.0","_id":"@hstm-labs/aamf@2.0.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"43d111c28ead609c675f8ae72302c752943eea67","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.0.tgz","fileCount":36,"integrity":"sha512-JuQwADpeTO3w+njKkpDhrJfd+9X0gW3iQDi10Jcd4Pama2YcR/9Jv4jF9vIKrEk3rqrPTWbFy+DWeZhC3/J+kA==","signatures":[{"sig":"MEUCICUKIrpVbl/Z/jeONdQQxbEZ0qTgzXFvEfc/cgpyLnk9AiEA8Fn7//lZx8ygYncBTEMG2LDIuCWEM81k+8uWwRaA5fc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121468},"type":"module","gitHead":"e24ad613ad4408029ba599ffe34ecbacc4ee4080","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.0_1771027151507_0.789749361214138","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@hstm-labs/aamf","version":"2.0.1","_id":"@hstm-labs/aamf@2.0.1","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"81ac826d4e6a021d22ae3b0f4ea4ec03e7d9d752","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.1.tgz","fileCount":36,"integrity":"sha512-IlExela3Q14TtOjguydg9RLZIkjn0uj2TrEIPdpbbzevv64X8CWnfhhO6+ZICvcB9p/X1KkuAbFzkT1qNjhdPg==","signatures":[{"sig":"MEQCIBn5hwFixSJFi+TnZTT/JtSD49UmfY4OV1c8AOqr+2AuAiAy5tb61/TFpYUhcCGdtnJ1PNVI1+GRgbd97pwZsbzqNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122694},"type":"module","gitHead":"004badabaa2c0575ab1dc311bff266fc633395dd","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.1_1771027915623_0.09632957208503856","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@hstm-labs/aamf","version":"2.0.2","_id":"@hstm-labs/aamf@2.0.2","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"d83c27ef1aae801fa8980e954d3a0d33c8019750","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.2.tgz","fileCount":36,"integrity":"sha512-uVVouSSfmLwBkDrcaA3l/Rj+CPum78dIKfIWIDniLI55Y0Vp94673hpIh46mef7iPG5hkjamSv0yrxZRb5bojQ==","signatures":[{"sig":"MEQCIBzbBcjlGJfLenGaWe+lLNzsTN0EW2YEWOUM7TdYw/SdAiBHz99zwWZvbez0VOxWK68TCH4In9GfvtHwEZVwhxOgZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122560},"type":"module","gitHead":"fc2251287b94a8287aaddf2c4d7ac90a1d01d783","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.2_1771028737837_0.946604383526042","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@hstm-labs/aamf","version":"2.0.3","_id":"@hstm-labs/aamf@2.0.3","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"a465e8ac1ba93af49fde4bffb4d1d184c0e02b2f","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.3.tgz","fileCount":36,"integrity":"sha512-bc/l496NaHOYjl5lxAHmF2ZzJu+sE8ZRR60FSDDWds9In8xBw3eX2y4GI1Xmj8EdJcHkHcK6fMcJn9n6YsfWhA==","signatures":[{"sig":"MEYCIQCRNxGURzUd65C+qI1fXDDi4Ym4Du9bRjYyDLYZZwA2gAIhALDJOrrmBsXgUq415Aci0xWUfqwerSdua03e0mCyMqnD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124222},"type":"module","gitHead":"ed506ade6e5dc3a2cfa5282d39adac378972ccea","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.3_1771443849185_0.3934908603416343","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@hstm-labs/aamf","version":"2.0.4","_id":"@hstm-labs/aamf@2.0.4","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"395aee81e464d4b0400149e858d4d9ac8082cf68","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.4.tgz","fileCount":38,"integrity":"sha512-v71HAySiAccWBzcctLgZZ39h0iZ0Gy2pL8aArCU3DHE50emoCAnP8hCFT44ZiA08fQ4NSJSryspe2daD2etAPA==","signatures":[{"sig":"MEYCIQChHxR4lYMYWzcIHfrG8YuynB8AQo8ub3gpfDTpiV+ehQIhAMkF+CU1CGq4CsVryw4eFDr2IRTfyWAJyAuTzEzpjtBi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136597},"type":"module","gitHead":"bc2615edfd04c8195e0957aa8b0ecbbd37486987","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.4_1771532534051_0.31115200180450353","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@hstm-labs/aamf","version":"2.0.5","_id":"@hstm-labs/aamf@2.0.5","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"d6ca4b1273dd37ad5dff8bb40c4cc6c074bc54fb","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.5.tgz","fileCount":38,"integrity":"sha512-LUb4LI5J6AQUPhkk38Xhwr9xiVcWCCLgpHdzwxdsH70PXxLx2+34jF7a4qoDzj07Yq4ua0T53sXrDjmDfZoqww==","signatures":[{"sig":"MEUCIHFE4X8C3oaMTZ5OXPT65fIZvaePD3b/+FiqGaPDhXIJAiEAw5lBK6BBoX55/sb/mC/Vj3x/LkoCC3kRfMZSVQ+FOHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142683},"type":"module","gitHead":"595a7af8ed26429e43941b791bb07fffb02cbaca","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.5_1771534161470_0.9287109843605379","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@hstm-labs/aamf","version":"2.0.7","_id":"@hstm-labs/aamf@2.0.7","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"9cfa4bf9ece09af6dced9cb1c67162214746f44d","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.7.tgz","fileCount":41,"integrity":"sha512-34yJ3egy6irr9BZAVoMXIcFTj1qeIDmcWIbx/5wrLr80N3nRPINVRcxHddy6jU0seqOkt0JWV8kL1FlWr4aNGg==","signatures":[{"sig":"MEUCICGQw6AVNz3Is3Pqm1lU99bgeSvQlcFfajJqR/ySwCZZAiEAhPs4BVgVmPq+MMtHdXI9SnNmVHM2LDJrihVc3ZwHevY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":169624},"type":"module","gitHead":"5f76b861dc93b6d9d19e7f93a290a13052e3c49c","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.7_1771964597291_0.2796744041105781","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@hstm-labs/aamf","version":"2.0.8","_id":"@hstm-labs/aamf@2.0.8","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"15d40815e191cdd900d4060930e3aa6e5e0d47ad","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.8.tgz","fileCount":41,"integrity":"sha512-b1HI8apQsr9QMLuv+T0ob3L14bqIGPrL03fiZu68OJbJ6CCOYZPvxmH5O8EK6bs1oOPRFghdikGU0Seqt57Tiw==","signatures":[{"sig":"MEUCIQD0M/mnqUBPr3oKYPYeM/sQhrO8I0hL9X5jIVwwc0YEpAIgSErZwiFYLplXvl5TAbRhseZXXHNAQE8rhbpiZmeeCzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171901},"type":"module","gitHead":"dacc49facb30444c73024ca62af7b45856a8c39b","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.8_1771967301789_0.4490953262787112","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@hstm-labs/aamf","version":"2.0.9","_id":"@hstm-labs/aamf@2.0.9","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"b9bb9f2183b685852ebb534f2525e74e6ec3bd0f","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.9.tgz","fileCount":41,"integrity":"sha512-GyZ/UFeFV4htlizZDoMJjPysKKo5S1MdQ28wq0kSgFNG4Yd/34dC1abS0YrmXC+sAxKfWLZDuRm0/3GlLEVLng==","signatures":[{"sig":"MEUCIQCMejWmgu1vnu+Sbr6mPWogCSKmya7GczcWdArwD+pDVwIgIlbg3rUb4RrZvUPrhdOxwUhI3jwufqNBrf/aDVBUobk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186423},"type":"module","gitHead":"77afcd9260b816368841e1d56648d88a9120f58b","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.9_1771969703942_0.7303419605291959","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"@hstm-labs/aamf","version":"2.0.11","_id":"@hstm-labs/aamf@2.0.11","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"1396385e6eb8a5b89bfb9afb17382637eb46ebff","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.11.tgz","fileCount":41,"integrity":"sha512-mHLJGhVDSEszDmpCHqD7yZvyKzXm0pTbiiIj6XSfTacwon8+kMBix8nH1bQCAPlQEOuukafVtHoihjohmqJ1Ug==","signatures":[{"sig":"MEYCIQCxSA0o5Ebiixvnp+Uod6yIpRzGEkSApuRKFB39UyHaMwIhAKoOlWHS/gRbdhIbQ9Qo18pN3tuz8oVkarnvTbkgAFVs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181965},"type":"module","gitHead":"c582cb0f012866213e9fe254bfda7a2f4660f86d","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.11_1772028719806_0.40349721756543344","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"@hstm-labs/aamf","version":"2.0.13","_id":"@hstm-labs/aamf@2.0.13","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"2a80170709f5d31dbba6b3e5326171c1113f6784","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-2.0.13.tgz","fileCount":41,"integrity":"sha512-YZJ0TzjLjbqteM7KiSWlqho5v4wD1xXnrzKYx8XOALau8ss9PJ0D3bvJLETfwCUYNeLwrfOmTBWAeZ+2pXg2kg==","signatures":[{"sig":"MEYCIQCil5wAYQTWoQMZWO3DrbQnfwRXdKj+z3ED2tUjeiOPdQIhAMbVLKkUtrj/qEyH5mNT1RWjyMULy4fEvwFSCK/WAP5r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188314},"type":"module","gitHead":"30e62eb0109af69b63f84b59375c78bc59cbe79c","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_2.0.13_1772413868607_0.28982894010423843","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@hstm-labs/aamf","version":"3.0.0","_id":"@hstm-labs/aamf@3.0.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"879e0614909c08208c8b0bd4581c080c181613e4","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.0.0.tgz","fileCount":75,"integrity":"sha512-CmVs1OZN6n2EbUqyOw/plxBH5ra8RZVM52uOPCrWb+P4cDzgS6PEmBkh6P4qbc2NSQZb9FBzOLkse2R8gJj5Ew==","signatures":[{"sig":"MEUCIGkZnjYWppd5hcOWQujekFlYPMgqrqBl9+916Z8iOqCWAiEApZ+8pUfFSyfhRWf5Excf6EU+TsRO2qCiFiTbtyw5pQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231814},"type":"module","gitHead":"b77c4d47454934530af6d47ab65e1940ed1506c7","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.0.0_1773705111477_0.8382372028057425","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@hstm-labs/aamf","version":"3.0.1","_id":"@hstm-labs/aamf@3.0.1","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"3ed99a26e5904288363537c68dd6dbb51c3e680f","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.0.1.tgz","fileCount":75,"integrity":"sha512-F4vVfWn/Ic0YOEUylFMVkqIUElaUs6T2o7tElYsDNBpDdUvOvzkxgfF0EmePAmx5X5gUiVaFNnQZwwGWvT+0SQ==","signatures":[{"sig":"MEYCIQCVWIZDetP6JjSceg44SkjrS7M8C0VBoyEnhEw6uCmuaAIhAJ1djJWBS49LxQGTGTQbo9Uz9X4jNFXvVPe4vm9yR/oX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238699},"type":"module","gitHead":"dd55aa9389f6b0398caef11081d206685e7fa3b3","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.0.1_1773782098753_0.8782387939737861","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@hstm-labs/aamf","version":"3.0.2","_id":"@hstm-labs/aamf@3.0.2","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"7f1c23923f88612e3c638fcdd761cec0fcb7560c","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.0.2.tgz","fileCount":75,"integrity":"sha512-1CUhMld1P0LFsF5eK0+BCdAq7wObSpXI0Lh9XuUR3FIFvX5XSxZV/iVDpNe0YMMhLoF2OYsj3funEljVBaK42w==","signatures":[{"sig":"MEQCIF0OkKMlsPlnR6t170da6IZdtne7XHs0hKiKgMPHpWCGAiAm36deTiYUpXTgPl8Gwaa6wEgJTjyfz80euNn25HRyPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238688},"type":"module","gitHead":"2f433a1068ce470cd8d14283fa95ec1caba67fda","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.0.2_1773783338862_0.012637111061881035","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@hstm-labs/aamf","version":"3.1.0","_id":"@hstm-labs/aamf@3.1.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"5d27ce17dea9c6a1f02e0cb41d2afd5e1712a1ef","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.1.0.tgz","fileCount":75,"integrity":"sha512-dxztHfc6LhNOc8964NGLZx53UHwvAud43RBpFYM/hp4IPpsv2DB6wufSWRhi5IkX4xhY4c58Q5zl35sqI9Xfjw==","signatures":[{"sig":"MEYCIQCSQZXuYQJQsNGJ4fwiKhhUHQGu9i/HQZZMENPg2AcprQIhAJO2XYGE4js+idowRojeClACDeloxC+xNCm2DTJvwKEO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256948},"type":"module","gitHead":"d2c43c28a1782d164e4299e99d64405040dc37c7","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.1.0_1773790308080_0.35092160261550065","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@hstm-labs/aamf","version":"3.2.0","_id":"@hstm-labs/aamf@3.2.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"6839f9a5e47a75a9b3ad32a841812c96c3d45a57","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.2.0.tgz","fileCount":74,"integrity":"sha512-QvshMYn2teBLRzfLNaZ8WfwYJ2PcF3Wjy+sEqNjmT/KPZ2P6RaLf/a76UEUG2y42oZNSEHzIVAJ31rjJVrJHoQ==","signatures":[{"sig":"MEUCIA8dvAjFi8oVbAlNfHdMQvsOUoa6bXo4O5pajDhj+LrMAiEAjcGzv9JqmmHZjnTvfb3JKg4tTmVYVjf+GMUVv7pQgB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256201},"type":"module","gitHead":"af2abae5ca24c4ba76e925c1eb7b8032879beef8","scripts":{"dev":"tsc && node bin/aamf.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.2.0_1773860288046_0.1911163611252058","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"@hstm-labs/aamf","version":"3.3.0","_id":"@hstm-labs/aamf@3.3.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"26d2b524cb73497c96b7ebdee1500d2963cf6e81","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.3.0.tgz","fileCount":78,"integrity":"sha512-g8LiqXKT+90WSIW+Lo88Wj1g1RVvjMa/BWQ+GTcnZqWhSU8Oljg5iZX2bU/cufU9F+oRBBXdtVmMoQ3gC43WVg==","signatures":[{"sig":"MEYCIQCaFXCOxlSeVnNUq5LtJuoBhuRae46fO+FTCzJdQfEhLAIhAM5wiOtoFZHf++A1Tw4NNtUaPAEbXP0fExLnLTnfYHy5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287274},"type":"module","gitHead":"a9016d69a636d5fceef3aa9816ee3c34764700f5","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.3.0_1773935423930_0.17170866255970352","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"@hstm-labs/aamf","version":"3.4.0","_id":"@hstm-labs/aamf@3.4.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"814d10a8b941035f41892557f0ad6f0dede5d76b","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.0.tgz","fileCount":78,"integrity":"sha512-YCiq19PvVCZAXsfEyyL7ULKuZc+J8Jsbe4Mz+QjviUhVh7iJzSFpl/M68bddjouY8hFjBlgVFPa3Dg4TJw0nlQ==","signatures":[{"sig":"MEUCIQChO28Uelb/mzIAxFuULzmtAo3PJHJauVfwMGmtFHI79AIgRdzfo5NEPzoRw6FINqHC0yvWlMMR/zOAcdN1an29JPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290406},"type":"module","gitHead":"522d1684c7c0dfd0a792568edc28fdb4e0d9dc06","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.0_1773941068052_0.7403351328055299","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"@hstm-labs/aamf","version":"3.4.1","_id":"@hstm-labs/aamf@3.4.1","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"9e5f8855c65e94159459eba9f3c1bc35d440b830","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.1.tgz","fileCount":78,"integrity":"sha512-v0/FxBuhiHex/VFxz2lLXo1GKnpZzLlowfjOs9PvfC9z17BbamF6+/lIgMduh2z/uRT7XgfR7meErGW6Xz3SNQ==","signatures":[{"sig":"MEUCIQCPmt1TbWPfCOhJRwsj3nr6gEo8WzRHADH0AIxbVxPLbgIgXFuYFDwQ798tHkqsycCZLxP7D34IU+V2W87x0Yjg/g0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290472},"type":"module","gitHead":"d0d795df3e289fd89a079e2a42f82af357f384d9","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.1_1773942502430_0.6417319202952949","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"@hstm-labs/aamf","version":"3.4.2","_id":"@hstm-labs/aamf@3.4.2","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"029ba63d8ee1501ca1abd52eeb77d697833ff948","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.2.tgz","fileCount":78,"integrity":"sha512-olmMBE3yFimaIeMvJUoSOp3bgi/skFKAwFwOpRWGhANj8q/AhEmPi99svaueLsX12L523Z+5FtOzOkFHZpV+1g==","signatures":[{"sig":"MEUCIQDUWGiPvj87trdqKOsgD5H8+ErZJnNTPuT1iSIP1rgYrgIgBhl9sCnYH3wD0XhazgyckkZSn5ac+YkeZ9GFSBTXq8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290741},"type":"module","gitHead":"c6f3db3a8b1b4c8347e1fe6a2e5c6a4ab9a98893","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.2_1773942622358_0.27231196940822744","host":"s3://npm-registry-packages-npm-production"}},"3.4.3":{"name":"@hstm-labs/aamf","version":"3.4.3","_id":"@hstm-labs/aamf@3.4.3","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"91d39de48e9f1b3b33404fb3e48844e6032c3107","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.3.tgz","fileCount":78,"integrity":"sha512-Mbz0yziFZXoA15OMyUf4zzdwqxvnG1kESmtnSPvpvjlYq+GSyiI3hKSC4Cz7/edns9RcJo5ZAhS+ctGDQY6WsA==","signatures":[{"sig":"MEQCIHchTELJXOosqYtAlDaa2P9bf+0txcTF+86tJQdfTjBIAiAFBn965w1MwA+HGXpCkHfTcd9NP8KT+MptFWrCQxfAuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292581},"type":"module","gitHead":"05e18fd865407bd74f4818edcf0b2c861019a250","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.3_1773942879880_0.7334037145209988","host":"s3://npm-registry-packages-npm-production"}},"3.4.4":{"name":"@hstm-labs/aamf","version":"3.4.4","_id":"@hstm-labs/aamf@3.4.4","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"2ad6dba41963c71de67a1b885db53f81dabb95c7","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.4.tgz","fileCount":78,"integrity":"sha512-RjjPjFtnNzH9MEX6V9rEe/Tu0axV0+o6/i7L1z2t4Ole/AJC70M7g/Ufg8jcY12+yqVCLmcvVLdgtXaaFr4AiA==","signatures":[{"sig":"MEUCIQCJGPxNB9VwWAX5iEd7zahPyBtGBp30tPe5IuML6T1F8wIgBjwx1EtgNaxot5A/1QyheBwmEVcT+duTCsWXxQ6WY2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293115},"type":"module","gitHead":"89fa21570bcee1e44987d4197e0b803ace5c80c7","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.4_1773943043136_0.095354663465687","host":"s3://npm-registry-packages-npm-production"}},"3.4.5":{"name":"@hstm-labs/aamf","version":"3.4.5","_id":"@hstm-labs/aamf@3.4.5","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"ab8fc1a63daf8803b67367717739057915f35543","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.5.tgz","fileCount":78,"integrity":"sha512-8MBU5CqrUIxzX/ebCc+ajKWd6HFQgpXw+vI45cKrpCOXesJUCtFE6PpjdlTsXrm4pPA+gxLjefZfBhIKuZn+qQ==","signatures":[{"sig":"MEUCIA1guM8WXizk0OZs+NFxdwkUBkzTAf/H4PhZjjtijc/cAiEA/7SH9EuPTd2n4VaK99o3CLtclVShFAiFh0xRTROXIPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293514},"type":"module","gitHead":"7fa9a19fe1008d1411e718b5a508451c6edc0177","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.5_1773946896325_0.9062111094041765","host":"s3://npm-registry-packages-npm-production"}},"3.4.6":{"name":"@hstm-labs/aamf","version":"3.4.6","_id":"@hstm-labs/aamf@3.4.6","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"2e0ae563121c0ce42b0c7c2bd4467676756adad5","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.6.tgz","fileCount":78,"integrity":"sha512-0gdlgE0wLkJWSs+FPwNiibfJmTGbmW+1Zs71Q+USd0skC0pt/AqIvy7cQEWmJqftPInmUBk2g/USyAQyUHXwOg==","signatures":[{"sig":"MEQCIAb5keHJB2hPnr1Ekb2dLL2wyOBVxOoHOfcQzY/8OvffAiBMLeg/m23SM9lB3ZiL6un8J42zOOOHG9LRRyRQ3kB//Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294369},"type":"module","gitHead":"793dbd4fb8f71c0bcaf65340fb17acafdcfe5c44","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.6_1773947760959_0.17073188581602539","host":"s3://npm-registry-packages-npm-production"}},"3.4.7":{"name":"@hstm-labs/aamf","version":"3.4.7","_id":"@hstm-labs/aamf@3.4.7","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"cb5339cbb4272a8fdf825eeb78bd6cf2777b12ea","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.4.7.tgz","fileCount":78,"integrity":"sha512-panIy8ZLa4AgnCN1GZvq6PIH1Aq9Lz83AphvkR1WSvAh9J0pECy7lXp/1ndQEI2dWIPDE63AsNyW86baAN9qLQ==","signatures":[{"sig":"MEYCIQC/egUylKZOm3+uq/+iO4vqRtr90+859YocosxzHIAEoQIhAN24Yv7PvEr7SR4nMGn11zTOzVHzqeYVfiFKGeTBaJFH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296885},"type":"module","gitHead":"783e4aaea6c03157828bd88dee1068035ec640d5","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.4.7_1773948140195_0.2500475403655955","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"@hstm-labs/aamf","version":"3.5.0","_id":"@hstm-labs/aamf@3.5.0","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"2dd919bbcf8389c344f39c5934cf5250381725a3","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.5.0.tgz","fileCount":79,"integrity":"sha512-GRO9D3cyhxfy3A96AwKMIKaJl9hhLQ9aBBq2q8R4NQP9eeJEnEQqeTcWNYuQTCMTScXeyf68xv01qG4eNcFReA==","signatures":[{"sig":"MEQCIBUj5KPx2dqwuskR7FB1Ld8bjWMbM3DEzBlFvdpM0kBBAiBdXkTkcZdqXqHSzZd+Y2NEFOAOSGdP7MJWjDXrUq3NOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300221},"type":"module","gitHead":"7f0acdf3a234c437914b5274ea7c2b580fc02a35","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.5.0_1773953603519_0.8443653193346112","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"@hstm-labs/aamf","version":"3.5.1","_id":"@hstm-labs/aamf@3.5.1","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"bin":{"aamf":"bin/aamf.js"},"dist":{"shasum":"e22a913c905a78b80027a2bf6becb8811a219343","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.5.1.tgz","fileCount":79,"integrity":"sha512-70wEuQ8JyYhpZxlmpQRgmPnh+zq8M/5GlyXKo5J7PNEXlV/BoAhGA9xbbmKdXWitlPC+cIGssX70MX6FCGeRvA==","signatures":[{"sig":"MEUCIQDeQTLzdh4oR25qmFe/lonyDdvvxiP88RvJ92DLhfUKMQIgVHWmDwZn+5SXBU1FPk1v49EIyIinDGK5J+oGPZ9ToEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300700},"type":"module","gitHead":"0c00c3b7de017ba37c0b916a238b639814f980e8","scripts":{"dev":"tsc && node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","build":"tsc","start":"node bin/aamf.js","release":"npm version patch && npm publish","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","prepublishOnly":"npm run build","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh"},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"_npmVersion":"10.9.4","description":"Autonomous Application Modernization Framework","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","mdpdf":"^3.1.0","fs-extra":"^11.2.0","commander":"^11.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.3","@types/node":"^25.0.10","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/aamf_3.5.1_1773954112249_0.7283211179730724","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"@hstm-labs/aamf","version":"3.6.0","description":"Autonomous Application Modernization Framework","type":"module","bin":{"aamf":"bin/aamf.js"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","dev":"tsc && node bin/aamf.js","start":"node bin/aamf.js","test":"npm run build && node --test test/pdf-generator.test.js","test:pandoc-smoke":"bash test/pandoc-smoke/run-smoke.sh","prepublishOnly":"npm run build","release":"npm version patch && npm publish","release:minor":"npm version minor && npm publish","release:major":"npm version major && npm publish"},"dependencies":{"ajv":"^8.12.0","chalk":"^5.3.0","commander":"^11.0.0","fs-extra":"^11.2.0","mdpdf":"^3.1.0"},"devDependencies":{"@types/fs-extra":"^11.0.4","@types/node":"^25.0.10","typescript":"^5.3.3"},"_id":"@hstm-labs/aamf@3.6.0","gitHead":"c76465d50900b82e4f074f0418b3d09e0a2ea8ce","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-ifebC7S/JY131sf177S4m8S6WAitupjRdhGlpztWH1SXSQER7pF4YHijtBLtx6owAkeonYPmH4V5HyPHwqSyww==","shasum":"17626bdc56712f42b40be31792ef1562ecf00236","tarball":"https://registry.npmjs.org/@hstm-labs/aamf/-/aamf-3.6.0.tgz","fileCount":79,"unpackedSize":300472,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHhcXz1AhxF3lBQuQ5gwRhEWVXnEIz9YPohIpG9rgB9xAiBuxTVA0hOmjevwQZsYgtGB4n0hX+YryawfHxH9TbOgwA=="}]},"_npmUser":{"name":"rsdickerson","email":"scott1127@live.com"},"directories":{},"maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aamf_3.6.0_1773956941326_0.8633621616165643"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-13T23:38:16.655Z","modified":"2026-03-19T21:49:01.626Z","1.1.3":"2026-02-13T23:38:16.904Z","2.0.0":"2026-02-13T23:59:11.657Z","2.0.1":"2026-02-14T00:11:55.781Z","2.0.2":"2026-02-14T00:25:38.017Z","2.0.3":"2026-02-18T19:44:09.347Z","2.0.4":"2026-02-19T20:22:14.210Z","2.0.5":"2026-02-19T20:49:21.636Z","2.0.7":"2026-02-24T20:23:17.434Z","2.0.8":"2026-02-24T21:08:21.957Z","2.0.9":"2026-02-24T21:48:24.086Z","2.0.11":"2026-02-25T14:11:59.944Z","2.0.13":"2026-03-02T01:11:08.780Z","3.0.0":"2026-03-16T23:51:51.651Z","3.0.1":"2026-03-17T21:14:58.909Z","3.0.2":"2026-03-17T21:35:39.075Z","3.1.0":"2026-03-17T23:31:48.236Z","3.2.0":"2026-03-18T18:58:08.309Z","3.3.0":"2026-03-19T15:50:24.083Z","3.4.0":"2026-03-19T17:24:28.210Z","3.4.1":"2026-03-19T17:48:22.578Z","3.4.2":"2026-03-19T17:50:22.531Z","3.4.3":"2026-03-19T17:54:40.065Z","3.4.4":"2026-03-19T17:57:23.287Z","3.4.5":"2026-03-19T19:01:36.464Z","3.4.6":"2026-03-19T19:16:01.120Z","3.4.7":"2026-03-19T19:22:20.351Z","3.5.0":"2026-03-19T20:53:23.675Z","3.5.1":"2026-03-19T21:01:52.406Z","3.6.0":"2026-03-19T21:49:01.517Z"},"description":"Autonomous Application Modernization Framework","maintainers":[{"name":"rsdickerson","email":"scott1127@live.com"}],"readme":"# AAMF — Autonomous Application Modernization Framework\n\nAAMF is an opinionated, enterprise-grade framework for governing AI-assisted application modernization.\n\nIt enables teams to safely use AI to reverse-engineer legacy systems, define modern target systems, and plan migrations — **without sacrificing rigor, auditability, or engineering trust**.\n\n---\n\n## Table of Contents\n\n- [What AAMF Does](#what-aamf-does)\n- [Why AAMF Exists](#why-aamf-exists)\n- [The Complete Process](#the-complete-process)\n- [Implementation Readiness (Phase 5)](#phase-5-implementation-readiness)\n- [Using the Architecture Agent](#using-the-architecture-agent)\n- [Phase 3 and Phase 5 (Domain Decomposition)](#phase-3-and-phase-5-domain-decomposition)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [CLI Commands](#cli-commands)\n- [Preparing Your Legacy System](#preparing-your-legacy-system)\n- [Who Should Use AAMF](#who-should-use-aamf)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## What AAMF Does\n\nAAMF provides:\n\n- **Structured modernization workflow** — Five sequential phases with quality gates\n- **AI-friendly prompt artifacts** — Battle-tested prompts that produce consistent output\n- **Deterministic validation** — JSON Schema validation ensures completeness\n- **Audit-ready reports** — Human-readable and agent-readable outputs\n- **CI/CD-ready CLI** — Integrate validation into your pipelines\n\n**AAMF does not execute AI prompts.**  \nIt governs and validates the outputs produced by your AI tools (Cursor, Claude, Copilot, etc.).\n\n---\n\n## Why AAMF Exists\n\nAI can analyze legacy systems quickly — but:\n\n- Outputs vary by model and session\n- Critical requirements are missed\n- Engineers cannot trust incomplete specs\n- Leadership lacks defensible artifacts\n\nAAMF exists to make AI outputs:\n\n- **Complete** — Quality gates enforce minimum requirements\n- **Consistent** — Structured prompts produce predictable results\n- **Reviewable** — Human-readable markdown reports\n- **Safe** — Validation before each phase transition\n\n> AI accelerates thinking.  \n> AAMF enforces understanding.\n\n---\n\n## The Complete Process\n\n```mermaid\nflowchart TD\n    L[Legacy Application] --> Q[Gather Legacy Quirks<br/>& Tribal Knowledge]\n    Q --> P1[Phase 1: AI Reverse Engineering]\n    P1 --> V1[AAMF Validate<br/>source-system]\n    V1 --> SA[Phase 2: Scope Adjustments]\n    SA --> P3[Phase 3: AI Target System Spec]\n    P3 --> V3[AAMF Validate<br/>target-system]\n    V3 --> P4[Phase 4: AI Delta Analysis]\n    P4 --> V4[AAMF Validate<br/>delta-analysis]\n    V4 --> P5[Phase 5: AI Implementation Readiness]\n    P5 --> V5[AAMF Validate<br/>implementation-readiness]\n    V5 --> M[Migration Ready]\n```\n\n\n\n### Phase 1: Source System Reverse Engineering\n\nThe AI analyzes your legacy codebase and produces factual, evidence-based documentation of what the system actually does. Phase 1 requires an **exhaustive inventory** (features, business rules, entities, relationships, workflows, use cases) in `.aamf/docstacks/source-system/00-source-exhaustive-inventory.md` before generating the 7 source-system documents.\n\n**Inputs (place in `.aamf/input/`):**\n\n- Legacy source code (or point the AI at your `src/` directory)\n- Database schema\n- Existing documentation (converted to markdown)\n- Tribal knowledge from stakeholders\n\n**Outputs:**\n\n- Exhaustive inventory at `.aamf/docstacks/source-system/00-source-exhaustive-inventory.md` (prerequisite to the 7 documents)\n- 7 markdown documents in `.aamf/docstacks/source-system/`\n- JSON summary at `.aamf/output/source-system/source-system.json`\n\n**Validation Requirements:**\n\n- Minimum 7 documents produced\n- **Coverage-based exhaustiveness:** When the Phase 1 output includes discovery counts (`entryPointsDiscovered`, `tablesInSchema`, `foreignKeysInSchema`, `actorRolesDiscovered`), validation requires the inventory to cover 100% of discovered items: features ≥ entry points, entities ≥ tables, relationships ≥ FKs, use cases ≥ actor roles. This makes exhaustiveness relative to the source application size rather than fixed minimums.\n- Minimum evidence citations and low floors for business rules/workflows (see schema); primary exhaustiveness check is coverage when discovery counts are provided.\n\n---\n\n### Phase 2: Target System Specification\n\nThe AI uses the reverse-engineered docs to design a modern target system — without referencing the legacy system directly.\n\n**Inputs:**\n\n- `.aamf/docstacks/source-system/` from Phase 1\n\n**Outputs:**\n\n- 9 markdown documents in `.aamf/docstacks/target-system/`\n- JSON summary at `.aamf/output/target-system/target-system.json`\n\n**Validation Requirements:**\n\n- Minimum 20 functional requirements\n- Minimum 20 acceptance criteria\n- Minimum 3 user personas\n- Minimum 3 state models\n\n---\n\n### Phase 3: Delta Analysis & Migration Planning\n\nThe AI compares the source system with the target specification to create a prioritized migration plan.\n\n**Inputs:**\n\n- `.aamf/docstacks/source-system/` from Phase 1\n- `.aamf/docstacks/target-system/` from Phase 2\n\n**Outputs:**\n\n- Migration scope document in `.aamf/docstacks/delta-analysis/`\n- JSON summary at `.aamf/output/delta-analysis/delta-analysis.json`\n\n**Validation Requirements:**\n\n- Features to keep identified\n- Features to modernize (minimum 3)\n- Features to deprecate identified\n- New features defined (minimum 3)\n- Migration phases planned (minimum 3)\n\n---\n\n### Phase 5: Implementation Readiness\n\nThe AI evolves the target-system docstack into an implementation-ready docstack: Units of Work (UoW), concrete API contracts, DB schema, master document template, and test specifications. Each UoW is self-contained so an AI implementation agent can execute it in sequence.\n\n**Inputs:**\n\n- `.aamf/docstacks/target-system/` from Phase 3\n- `.aamf/docstacks/delta-analysis/` from Phase 4\n- `.aamf/input/scope-adjustments.md`\n\n**Outputs:**\n\n- 9 evolved documents plus UoW documents in `.aamf/docstacks/implementation-readiness/`\n- `master-document-template.md`, `uow/` folder, `README.md`\n- JSON summary at `.aamf/output/implementation-readiness/implementation-readiness.json`\n\n**Validation:** `aamf validate implementation-readiness`\n\n#### Agent-optimized mode\n\nWhen the implementation-readiness docstack will be consumed primarily by **AI implementation agents** (e.g. Cursor, Claude, or other agents that implement each UoW), you can request an **agent-optimized** docstack. In this mode the generator produces documents that are structured for fast, unambiguous parsing by agents: strict section headers, table- and list-heavy content, explicit code-block labels, and a README subsection that explains document roles and UoW dependency order.\n\n**When to use it**\n\n- You plan to have AI agents implement UoWs from the docstack with minimal human editing.\n- You want consistent structure (e.g. `<!-- agent-optimized -->` headers, purpose lines under each section) so agents can reliably find API contracts, DB schema, and test specs.\n- You prefer tables and bullet lists over prose so agents can resolve FR/BR/UoW references without interpreting long paragraphs.\n\n**When to skip it**\n\n- The docstack will be read mainly by humans; standard markdown is often easier to read.\n- You do not need the extra header blocks or the README “Agent consumption” subsection.\n\n**How to activate**\n\nInclude the word **agent-optimized** (case-insensitive) in the same message you use to submit the Implementation Readiness prompt to your AI tool.\n\n**Examples:**\n\n- “Run the implementation-readiness prompt, **agent-optimized**.”\n- “Execute Phase 5. Please use **agent-optimized** mode.”\n- “Generate the implementation-readiness docstack. I want it **agent-optimized** for AI implementers.”\n\nThe AI that runs `.aamf/framework/prompts/05_implementation_readiness.prompt.md` will detect the phrase and apply the agent-optimized conventions to all generated documents (evolved docs, UoW files, master template, README). No CLI flag is required; activation is entirely via the prompt submission message.\n\n---\n\n### Using the Architecture Agent\n\nAAMF includes an optional **Architecture Agent** prompt (`framework/prompts/architecture-agent.prompt.md`) for a single-shot, DDD-focused run that produces both target-system–equivalent design and the implementation-readiness docstack in one pass.\n\n**What it is:** A single prompt that consumes Phase 1–4 outputs (source-system, scope-adjustments, target-system, delta-analysis) and produces Domain/Bounded Context architecture, microservice specs (REST + GraphQL per BC), and the Phase 5 implementation-readiness pack.\n\n**When to use it:** You want Domains/Bounded Contexts, REST+GraphQL per BC, and one combined AI run instead of separate Phase 3 and Phase 5.\n\n**How to use it:**\n\n1. Complete Phases 1–4 as usual (source-system, scope-adjustments, target-system, delta-analysis).\n2. Load the Architecture Agent prompt: run `aamf start` to get the framework path, then open `framework/prompts/architecture-agent.prompt.md` from your AAMF install.\n3. Provide the agent with the same inputs it lists (source-system docstack, scope-adjustments, target-system docstack, delta-analysis docstack).\n4. Ensure the output includes the implementation-readiness docstack under `.aamf/docstacks/implementation-readiness/` and the JSON summary at `.aamf/output/implementation-readiness/implementation-readiness.json` in a form that passes `aamf validate implementation-readiness`. If you need to validate target-system as well, extract or generate a summary at `.aamf/output/target-system/target-system.json` in the required shape (functionalRequirements, acceptanceCriteria, personas, stateModels).\n\n**Optional:** For DDD/BC-style output within the standard phase flow, you can also load `architecture-agent.prompt.md` alongside the Phase 3 or Phase 5 prompt and follow its Domain/BC and output-structure rules.\n\n---\n\n### Phase 3 and Phase 5 (Domain Decomposition)\n\n**Phase 3** uses **Domain Decomposition** only. The prompt is `03b_domain_decomposition_target_system.prompt.md` (returned by `aamf next` for target-system). It produces Domains, Subdomains, Bounded Contexts, Context Map, Ubiquitous Language, and Service Candidates. Output goes to `.aamf/docstacks/target-system/` and must produce `.aamf/output/target-system/target-system.json` so `aamf validate target-system` works.\n\n**Phase 5** uses the **DDD docstack layout** only: `evolved/` (01-functional-requirements.md … 09-test-strategy-and-plans.md), `api/<bounded-context>/`, `events/`, `schema/`, `uow/`, `ADR/`, README, and master-document-template. For each Bounded Context, the **Service Contract Generator** (`05b_service_contract_generator.prompt.md`) is run to produce REST/GraphQL contracts, domain events, DDL, and UoW seeds; Phase 5 describes this under \"Bounded Contexts and Service Contract Generator.\"\n\n---\n\n## Installation\n\n### From npm\n\n```bash\nnpm install -g @hstm-labs/aamf\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/your-org/aamf.git\ncd aamf\nnpm install\nnpm run build\nnpm link\n```\n\n---\n\n## Quick Start\n\n### 1. Initialize a Workspace\n\n```bash\ncd /path/to/your/legacy-application\naamf init\n```\n\nYou will see an AAMF ASCII banner and a prompt to **select your AI assistant** (Cursor, VSCode + Copilot, Windsurf, or Other). Based on your choice, AAMF creates a **/aamf-start** command (or instructions) that loads the orchestrator prompt from your AAMF installation.\n\nThis creates an `.aamf/` workspace containing:\n\n- `input/` — Place your legacy documents and schema exports here\n- `output/` — Directories for phase outputs\n- `docstacks/` — Directories for AI-generated docstacks\n- `README.md` — Usage instructions\n\n**Prompts and schemas are not copied** — they are provided by your global (or local) AAMF install. The **/aamf-start** command loads the orchestrator prompt from that install (its path is written into the command when you run init).\n\n### 2. Run Phase 1\n\n1. In your AI assistant, run **/aamf-start** (Cursor/Windsurf) or follow `.vscode/aamf-start.md` (VSCode + Copilot) to load the orchestrator prompt.\n2. Run `**aamf next`** to get the path to the Phase 1 prompt; give your AI both the orchestrator and Phase 1 prompt.\n3. Point the AI at your legacy codebase\n4. Let the AI produce the 7 documentation files\n5. Ensure the AI saves the JSON summary to `.aamf/output/source-system/source-system.json`\n\n### 3. Validate Phase 1\n\n```bash\naamf validate source-system\n```\n\nIf validation passes, proceed to Phase 2. If it fails, the AI needs to address the gaps.\n\n### 4. Run Phase 2 — Scope Adjustments\n\n1. Run `aamf next` for the prompt path, then provide that prompt to your AI.\n2. Define exclusions, additions, behavioral changes, and target architecture pattern\n3. Output saved to: `.aamf/input/scope-adjustments.md`\n\n### 5. Run Phase 3 — Target System Specification\n\n1. Run `aamf next` for the prompt path; the Phase 3 prompt is domain decomposition (`03b_domain_decomposition_target_system.prompt.md`). Give your AI the orchestrator and that prompt.\n2. Let the AI produce the target-system docstack (Domains, Bounded Contexts, Context Map, etc.).\n3. Ensure the AI saves the JSON summary to `.aamf/output/target-system/target-system.json`\n\n### 6. Validate Phase 3\n\n```bash\naamf validate target-system\n```\n\n### 7. Run Phase 4 — Delta Analysis\n\n1. Run `aamf next` for the prompt path, then provide that prompt to your AI.\n2. Let the AI produce the migration analysis\n3. Ensure the AI saves the JSON summary to `.aamf/output/delta-analysis/delta-analysis.json`\n\n### 8. Validate Phase 4\n\n```bash\naamf validate delta-analysis\n```\n\n### 9. Run Phase 5 — Implementation Readiness\n\n1. Run `aamf next` for the prompt path, then provide that prompt to your AI.\n2. *(Optional)* Include **agent-optimized** in your message if the docstack will be used mainly by AI implementation agents (see [Agent-optimized mode](#agent-optimized-mode)).\n3. Let the AI produce the implementation-readiness docstack (evolved docs, UoW folder, master template, README).\n4. Ensure the AI saves the JSON summary to `.aamf/output/implementation-readiness/implementation-readiness.json`\n\n### 10. Validate Phase 5\n\n```bash\naamf validate implementation-readiness\n```\n\n**You now have a complete, validated modernization plan and an implementation-ready docstack.**\n\n---\n\n## CLI Commands\n\n\n| Command                 | Description                                                             |\n| ----------------------- | ----------------------------------------------------------------------- |\n| `aamf init`             | Initialize workspace, show banner, select assistant, create /aamf-start |\n| `aamf start`            | Print path to the orchestrator prompt (used by /aamf-start)             |\n| `aamf next`             | Show the next phase and its prompt path                                 |\n| `aamf validate <phase>` | Validate phase output against schema                                    |\n| `aamf --version`        | Show version                                                            |\n| `aamf --help`           | Show help                                                               |\n\n\n### Validation Output\n\nEach validation produces:\n\n- `validation.report.json` — Machine-readable, CI/CD-friendly\n- `validation.report.md` — Human-readable, review-ready\n\n---\n\n## Preparing Your Legacy System\n\nBefore running AAMF, prepare your legacy system materials.\n\n### Document Format Requirements\n\n**AAMF prompts work best with Markdown (`.md`) or plain text (`.txt`) documentation.**\n\nConvert other formats (PDF, Word, HTML) before starting.\n\n### Place All Input Files in `.aamf/input/`\n\n```\n.aamf/input/\n├── schema.sql            # Exported database schema\n├── user-guide.md         # Converted from PDF/Word\n├── api-reference.md      # Converted from HTML\n└── business-rules.txt    # Plain text / tribal knowledge notes\n```\n\n### Database Schema Export\n\n**Oracle:**\n\n```bash\nsqlplus user/pass@db @generate_ddl.sql > .aamf/input/schema.sql\n```\n\n**SQL Server:**\n\n```bash\nmssql-scripter -S server -d database --schema-only -f .aamf/input/schema.sql\n```\n\n**PostgreSQL:**\n\n```bash\npg_dump --schema-only dbname > .aamf/input/schema.sql\n```\n\n**MySQL:**\n\n```bash\nmysqldump --no-data dbname > .aamf/input/schema.sql\n```\n\n---\n\n## Who Should Use AAMF\n\n- **Platform and architecture teams** modernizing legacy systems\n- **Modernization programs** requiring structured governance\n- **Engineering leaders** needing defensible artifacts\n- **Regulated organizations** requiring audit trails\n- **Consultancies** delivering modernization assessments\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how you can help:\n\n### Reporting Issues\n\n- Search existing issues before creating new ones\n- Include reproduction steps and expected vs actual behavior\n- Attach relevant error messages and logs\n\n### Submitting Pull Requests\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/my-feature`\n3. Make your changes\n4. Run the build: `npm run build`\n5. Commit with clear messages: `git commit -m \"Add feature X\"`\n6. Push to your fork: `git push origin feature/my-feature`\n7. Open a Pull Request\n\n### Development Setup\n\n```bash\ngit clone https://github.com/your-org/aamf.git\ncd aamf\nnpm install\nnpm run build\nnpm run dev -- --help\n```\n\n### Areas for Contribution\n\n- **Prompt improvements** — Enhance prompts in `framework/prompts/`\n- **Schema refinements** — Improve validation in `framework/schemas/`\n- **New commands** — Add CLI functionality in `src/cli/commands/`\n- **Documentation** — Improve guides and examples\n- **Testing** — Add test coverage\n\n### Code Style\n\n- TypeScript for all source code\n- ESM modules (`\"type\": \"module\"`)\n- Functional approach where practical\n- Clear, descriptive commit messages\n\n---\n\n## Project Structure\n\n```\naamf/\n├── bin/                      # CLI entry point\n├── dist/                     # Compiled JavaScript\n├── framework/\n│   ├── config/               # Configuration files\n│   ├── prompts/              # AI prompt templates\n│   └── schemas/              # JSON validation schemas\n├── src/\n│   ├── cli/commands/         # CLI command implementations\n│   ├── core/                 # Phase and state engines\n│   ├── rendering/            # Report generation\n│   ├── types/                # TypeScript type definitions\n│   └── validation/           # Schema validation\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n---\n\n## License\n\nMIT License\n\nCopyright (c) 2024\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","readmeFilename":"README.md"}