{"_id":"@abuhannaa/create-apptemplate","_rev":"15-27e13111190597b6bce1ecec07831ad6","name":"@abuhannaa/create-apptemplate","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@abuhannaa/create-apptemplate","version":"1.0.0","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.0","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"245c7d51336c248915c980e4fe2afa798a126d94","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.0.tgz","fileCount":5,"integrity":"sha512-bxMxHFiVl0G+Dt670EtY9OLxmsMR8gcNTWnuD/BC8qDlebs5JL4Fn285xaRT3PEPsa403xmMxmgC0ZIj0R3fUA==","signatures":[{"sig":"MEUCIQDywZuKaRQe+35O/enMbmresBwGmE86myoXwo835z/nGwIgSqPl38ilX1f8gu6D72jJSuvLV7XJJX9fmgT+j5uEe9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79182},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e63ac5e3115510c98bc39ce1872ecc521392dc41","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.0_1768200156770_0.38695402190511463","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@abuhannaa/create-apptemplate","version":"1.0.1","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.1","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"9e8ba0e3f2bd932600c1b10876d3434e54a2c903","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.1.tgz","fileCount":5,"integrity":"sha512-EUhvbnrCLNXI2dde312wJ9TsBh5cB7DyF+1dluh4MJBFJfu+ObyBDzJgwjGBdavL3mtg6OgcDkah/erXyKY3Ag==","signatures":[{"sig":"MEQCIGCNrndpaRDkcKmTxlAItnJgt/xUd+ZdiR2MIdwGUYBiAiA70OV1MXClmAHs1fgPq0nRpwTLUf/H+jkCjMOCa0zKgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83995},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"32a2b7df342bbeeec638af521ab7dc6c7f235978","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.1_1768201821846_0.9196457370555156","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@abuhannaa/create-apptemplate","version":"1.0.2","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.2","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"11fba5a753a2adf39e9d2cbe072b2c0936d51f64","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.2.tgz","fileCount":5,"integrity":"sha512-FGITfhNQhwP7gqHLlPjGMNqPIWVwGIh4qtkHTOxgcSIrjVeyNDKEkzPlch+V7urCHygFNIQ1WwiN+Vzlp7HBNQ==","signatures":[{"sig":"MEUCIBRnKZXizwqO8thWc8TqvDsaymw1ikhRVhxczfV60TlUAiEAjtmgJPoHc3CAKNZpc365SeYc5ZUbBpVEsQ65lcQF2g8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97948},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f9692333c7f27bd0a5393beb16ab6a4ba93cb036","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.2_1768202630677_0.338065941181271","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@abuhannaa/create-apptemplate","version":"1.0.3","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.3","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"9793cb99523cf9c1a38d7e990c7d16f4cce2d627","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.3.tgz","fileCount":5,"integrity":"sha512-vKfRyZyNmt1tmwyWpfq3kGIztBo4QCnYy21FaO0nrOEnsucfS2WNHkqnbxYP/RX84rcpWLQaTalB6NbtjaLMYQ==","signatures":[{"sig":"MEQCIHXMhsD77heBtDgs4Zun1zgjhIELlf8B9CLWBff3dMjOAiBteSApQj/7Y3pwE4Snmmv165x+/+WVlE7d70ST1nYb7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98663},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"953e6752797894fb5d45f2ed56a1a3e2e02b5c07","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.3_1768203242250_0.42956039843641003","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@abuhannaa/create-apptemplate","version":"1.0.4","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.4","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"5915d12d85720f5a9d8a9ed30a027f1ad63f2fa2","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.4.tgz","fileCount":5,"integrity":"sha512-3ju9wwP5er+xJwemiXm+uLnnG+06ratfDOzeuTQQmzjYmCYRNNHlN15tQ4AdurxpUOjXeBz+bt8cOlE8z3jOZw==","signatures":[{"sig":"MEUCIAZaMgQxVeWP9Ocue6gATarlXX5nAJSmLEdTGhzvjV76AiEA3wVxcBpDCS+47s5au/FCPNOv+rpXzGNW8fGYGnO2gT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100301},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a92a70c0225eb8a26c2adcaaf71b3e3f49dc57d7","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.4_1768204160717_0.0908598853236009","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@abuhannaa/create-apptemplate","version":"1.0.5","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.5","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"85bb68d6cd6696b89ec01aef59a44ece0cebcb9a","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.5.tgz","fileCount":5,"integrity":"sha512-ClnucLFjPJXE0bMxBbhPaAe+HrBvVJxHkMIuH/LVNJKqO/s6zdjnLIHWX9lNg9R8/esfmkNz13iiC+7AX+bFrw==","signatures":[{"sig":"MEUCIHjTf3wMU1sZUeu4IgagEEXN9HdUatm9ByowDqWxkfxmAiEA1aFarOcR1KTVcE18WshRy6bLfwQLyp2r+lEm9rc1hlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103681},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4c3dba2dc1467d38e2a347ad83df842a9d223a80","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.5_1768205680364_0.2619302213633601","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@abuhannaa/create-apptemplate","version":"1.0.6","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.6","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"8d1e74e6db30c49406379763112e5302ea45091a","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.6.tgz","fileCount":5,"integrity":"sha512-SpC1GQeXsG52Vaq5ZmBOTjsa9TpQMfe6XNmVe+7JpQPaUWSkpThIglwimPKc7zpo+mmHHXyqItUw6ciuCSjqqg==","signatures":[{"sig":"MEUCIQDi/mGQSlKYyWiVfqBOHWQxFaGOHv33SS/BEOnOQVfocwIgOywSse1XppmegvTMRRYJZNxoPVnD/ZOqazrdiwlNHIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108933},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5ce54bc18d3614adf3a3ad30cd76b5a0c5af6e71","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.6_1768295708500_0.819508460274869","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@abuhannaa/create-apptemplate","version":"1.0.7","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.7","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"1a69352f74fc9474dc2b7944415715b321f8a46c","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.7.tgz","fileCount":5,"integrity":"sha512-vliqFl/wLtqJhV289voedMBqhB7iwPoixurTGKnNAzsCUFmSgBOsjj+XIXu1N9IrX/XJzqS2KXu6P2JrZP5jtA==","signatures":[{"sig":"MEYCIQC5CDHY/87n6XUpMOZtjxPFA4QHtszAK0PMTfq9DF864gIhAM//JwDpinJM/qLW3bBhLo9gSbIyTYZNU+9MmLedoE4h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114046},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"c46c89d6a6c49b0c469e4b404286cd4734e8a185","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.7_1768371421474_0.8944329562583093","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@abuhannaa/create-apptemplate","version":"1.0.8","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.8","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"ad0f104bc08e042cd22e738c90aa516b2570e656","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.8.tgz","fileCount":5,"integrity":"sha512-HtGFMcFo7+294CqkCb5ClIo4HqXl0ytg4szFPWjVpFXUXRtC89ONStoIerYKEP2TiK2wtRyWMpomXTUgkAQHag==","signatures":[{"sig":"MEUCIQD3kNtGCOB4aHCJPT4CLlnGn0d2TDeKMvW+HdltWhIa0QIgCnxURzSvnRRvVqBSfLCZ+VSqU13LkEC7W8f+3l7IAgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123816},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ef780d042c6f9b229cd16fecae461f6b5690c4a4","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.8_1768809830095_0.9803617253701107","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@abuhannaa/create-apptemplate","version":"1.0.9","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.9","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"4e1f29417ff2d24d6cb3323230966c34998f24de","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.9.tgz","fileCount":5,"integrity":"sha512-BkuwjSPqDOyE+DCgcf3p/Yt2fOzyeh8faO7vQp0yGZYoC0PpfzMjRC3dWFqdh76iuFbD1U7jdvn//9PTHRhGeA==","signatures":[{"sig":"MEUCIC3RCa/K+vLKvuRi4o5xU3jX5PvtsIdTX4fI5YQq0EJkAiEAuB/Nt4O09nTHlXu9AE/XF/O3WXNUxrheutmWnhLarDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129436},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"af4d61268b93ff6484314e5236bcc17449f0b984","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.9_1771473602495_0.6496424068861713","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@abuhannaa/create-apptemplate","version":"1.0.10","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.10","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"2b44ff4c0316e9ae3b1f2e8d7affff3e8af58805","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.10.tgz","fileCount":5,"integrity":"sha512-Tdcs14C9UlVjyIKS+y52yVdk0aAfw3C2NBMQ0l+YEBA0uvWNMp3720teSnTyCy/T/wxm3QYblPMyC63dFw/rtA==","signatures":[{"sig":"MEUCIFb1cK3+OdJX1vIhVRufpIvR3O5zt8AoZOrdijoOWJ7vAiEAkmMeIpB0OdRiXZPalSho1hILwmrtCTvRyXjdxODsF1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188303},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a36ca9c79f5d4aedce2adb89b450fc0c32c7f1fa","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.10_1771481160020_0.9165824943261325","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@abuhannaa/create-apptemplate","version":"1.0.11","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.11","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"44f33c9956c7ad2247adbcb7b0b9588f640ca60c","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.11.tgz","fileCount":5,"integrity":"sha512-35cqpkQDYtqe4VlgiEWF2+zkxTtxIcq6mzdNUZVTe15XgbsBlDAtCnoi4r1ixp4M2+f0oPXxAIlVZZv1I8/O1w==","signatures":[{"sig":"MEQCIBsRq3NIUamqElpmeSswDZe3zTjTfV5DxyidcDvgIEW6AiAjqgFbUAiYhqg8fMdG6qFRAYSiqrtQiBrVLjI1l/nN6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189253},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f17b6c8effdf2bb527083234c99e96ec7a8c014c","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.11_1771486021357_0.7884025959498107","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@abuhannaa/create-apptemplate","version":"1.0.12","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.0.12","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"48041808bf3f6ae9e08e9b1038ca7b1ebbda1d09","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.0.12.tgz","fileCount":5,"integrity":"sha512-TNinDWfPGlpQWdOFUnAM3O9pdQvZgC56MsXopw2kKGy4sPi/2JHea2WqbtJrQCzTtEjZsqCdEkej+Yx4+hkyJw==","signatures":[{"sig":"MEQCIH1WKuFX8ftiy19EpSHe1ekXYOEwfknKQl4bw+ZknnEjAiAaVnlcX6W3DE9QFPpcG2HxHNzkx2GeWkuu3EuAuhbgew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189757},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"396a7c94151c2a8b006f4445f748194b3d8682dd","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.0.12_1771487179888_0.10216697309672296","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@abuhannaa/create-apptemplate","version":"1.1.0","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"author":{"name":"abuhanna"},"license":"MIT","_id":"@abuhannaa/create-apptemplate@1.1.0","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"homepage":"https://github.com/abuhanna/app-template#readme","bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"bin":{"create-apptemplate":"dist/index.js"},"dist":{"shasum":"8d4319fa7eeb66f59669b65c894200badb742148","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.1.0.tgz","fileCount":5,"integrity":"sha512-Te4sbs9u8HHqyzSmpPnW1ueWjq7P8QysCL3CEl1XyGMpmaVZ2xHPK+bUuILbiX2ivNiX9ZDIRVtRIYcumfO8cA==","signatures":[{"sig":"MEQCIG9VNrbYjdxAQnNqqYk+o+lJ3vaXSwsYANAQhFshyHr/AiBHk0Df66ypnYBcBmB8NPFVpgF99EE/sN+ehOnN7zhYxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136134},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4c0d5cd68c1dc0f43ee8348768747855b9d32348","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"repository":{"url":"git+https://github.com/abuhanna/app-template.git","type":"git"},"_npmVersion":"10.8.2","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","directories":{},"_nodeVersion":"20.19.5","dependencies":{"degit":"^2.8.4","picocolors":"^1.1.1","cross-spawn":"^7.0.6","@clack/prompts":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","typescript":"^5.7.3","@types/node":"^22.10.5","@types/degit":"^2.8.6","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"tmp":"tmp/create-apptemplate_1.1.0_1771492828301_0.08361461812921034","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@abuhannaa/create-apptemplate","version":"1.1.1","description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","author":{"name":"abuhanna"},"license":"MIT","type":"module","main":"./dist/index.js","bin":{"create-apptemplate":"dist/index.js"},"publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","prepublishOnly":"npm run build","typecheck":"tsc --noEmit"},"keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"repository":{"type":"git","url":"git+https://github.com/abuhanna/app-template.git"},"bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"homepage":"https://github.com/abuhanna/app-template#readme","dependencies":{"@clack/prompts":"^0.9.1","cross-spawn":"^7.0.6","degit":"^2.8.4","picocolors":"^1.1.1"},"devDependencies":{"@types/cross-spawn":"^6.0.6","@types/degit":"^2.8.6","@types/node":"^22.10.5","tsup":"^8.3.5","typescript":"^5.7.3"},"_id":"@abuhannaa/create-apptemplate@1.1.1","gitHead":"6eab2228b81b031ace43702ef42c402374208b82","types":"./dist/index.d.ts","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-KmEnE/0l9HF5TtemgmQ9HEv7U1KmHDmCo8OzV4t4lwQcpdgSyxvUvZ2Z80U4cqs2NeZ2sxKEnM1gZGG+hdBXwQ==","shasum":"b0a5e46350288b1965eba57340e4dab8b9909031","tarball":"https://registry.npmjs.org/@abuhannaa/create-apptemplate/-/create-apptemplate-1.1.1.tgz","fileCount":5,"unpackedSize":145311,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCYbH9TSmlI/zUvN6ZxqhhuUlBqwFw2JnlB0GVhcykwDgIhAL9IALyoUp1cXppZTUl183m+rttLnE6Qa+L8/amGRKbK"}]},"_npmUser":{"name":"abuhannaa","email":"alimulh.22@gmail.com"},"directories":{},"maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-apptemplate_1.1.1_1771918614532_0.022760553321435895"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T06:42:36.628Z","modified":"2026-02-24T07:36:54.798Z","1.0.0":"2026-01-12T06:42:36.893Z","1.0.1":"2026-01-12T07:10:21.997Z","1.0.2":"2026-01-12T07:23:50.812Z","1.0.3":"2026-01-12T07:34:02.389Z","1.0.4":"2026-01-12T07:49:20.853Z","1.0.5":"2026-01-12T08:14:40.521Z","1.0.6":"2026-01-13T09:15:08.636Z","1.0.7":"2026-01-14T06:17:01.671Z","1.0.8":"2026-01-19T08:03:50.280Z","1.0.9":"2026-02-19T04:00:02.637Z","1.0.10":"2026-02-19T06:06:00.176Z","1.0.11":"2026-02-19T07:27:01.537Z","1.0.12":"2026-02-19T07:46:20.075Z","1.1.0":"2026-02-19T09:20:28.466Z","1.1.1":"2026-02-24T07:36:54.674Z"},"bugs":{"url":"https://github.com/abuhanna/app-template/issues"},"author":{"name":"abuhanna"},"license":"MIT","homepage":"https://github.com/abuhanna/app-template#readme","keywords":["create","apptemplate","vue","vuetify","primevue","dotnet","spring","nestjs","fullstack","scaffolding","template","cli"],"repository":{"type":"git","url":"git+https://github.com/abuhanna/app-template.git"},"description":"Create fullstack apps with .NET/Spring/NestJS + Vue (Vuetify/PrimeVue)","maintainers":[{"name":"abuhannaa","email":"alimulh.22@gmail.com"}],"readme":"# @abuhannaa/create-apptemplate\r\n\r\nA CLI tool to scaffold production-ready fullstack applications with your choice of backend and frontend frameworks.\r\n\r\n## Quick Start\r\n\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest\r\n```\r\n\r\nThat's it! The interactive wizard will guide you through the setup.\r\n\r\n## Stack Options\r\n\r\n| Backend | Frontend | UI Libraries |\r\n|---------|----------|--------------|\r\n| .NET 8 | Vue 3 | Vuetify (Material Design 3) |\r\n| Spring Boot 3 | React 18 | PrimeVue |\r\n| NestJS | | MUI (Material UI) |\r\n| | | PrimeReact |\r\n\r\nMix and match any backend with any frontend to create your ideal stack.\r\n\r\n## Installation Methods\r\n\r\n```bash\r\n# npm\r\nnpm create @abuhannaa/apptemplate@latest\r\n\r\n# npx\r\nnpx @abuhannaa/create-apptemplate my-app\r\n\r\n# pnpm\r\npnpm create @abuhannaa/apptemplate\r\n\r\n# yarn\r\nyarn create @abuhannaa/apptemplate\r\n\r\n# bun\r\nbun create @abuhannaa/apptemplate\r\n```\r\n\r\n## Usage\r\n\r\n### Interactive Mode (Recommended)\r\n\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest\r\n```\r\n\r\nThe wizard will prompt you for:\r\n\r\n1. **Project location** - Directory name for your project\r\n2. **Project type** - Fullstack, Backend only, or Frontend only\r\n3. **Backend framework** - .NET 8, Spring Boot 3, or NestJS\r\n4. **Frontend framework** - Vue 3 or React 18\r\n5. **UI library** - Vuetify, PrimeVue, MUI, or PrimeReact\r\n6. **Project name** - Namespace for .NET/Spring (e.g., `MyCompany.MyApp`)\r\n7. **Install dependencies** - Run install automatically\r\n\r\n### Command Line Mode\r\n\r\nSkip the prompts by providing options directly:\r\n\r\n```bash\r\n# Fullstack with .NET + Vuetify\r\nnpm create @abuhannaa/apptemplate@latest my-app -b dotnet -u vuetify -n \"MyCompany.MyApp\" -i\r\n\r\n# Fullstack with Spring Boot + React MUI\r\nnpm create @abuhannaa/apptemplate@latest my-app -b spring -f react -u mui -n \"com.mycompany.myapp\" -i\r\n\r\n# Fullstack with NestJS + PrimeVue\r\nnpm create @abuhannaa/apptemplate@latest my-app -b nestjs -u primevue -i\r\n\r\n# Backend only (NestJS)\r\nnpm create @abuhannaa/apptemplate@latest my-api -t backend -b nestjs -i\r\n\r\n# Frontend only (React + PrimeReact)\r\nnpm create @abuhannaa/apptemplate@latest my-spa -t frontend -f react -u primereact -i\r\n\r\n# Place files in root (no subfolder)\r\nnpm create @abuhannaa/apptemplate@latest my-api -t backend -b nestjs --root\r\n```\r\n\r\n## CLI Options\r\n\r\n| Option | Alias | Description | Values | Default |\r\n|--------|-------|-------------|--------|---------|\r\n| `--type` | `-t` | Project type | `fullstack`, `backend`, `frontend` | `fullstack` |\r\n| `--backend` | `-b` | Backend framework | `dotnet`, `spring`, `nestjs` | - |\r\n| `--framework` | `-f` | Frontend framework | `vue`, `react` | `vue` |\r\n| `--ui` | `-u` | UI library | `vuetify`, `primevue`, `mui`, `primereact` | Based on framework |\r\n| `--name` | `-n` | Project namespace | `Company.Project` format | - |\r\n| `--root` | `-r` | Place files in project root | - | `false` |\r\n| `--install` | `-i` | Install dependencies | - | `false` |\r\n| `--help` | `-h` | Show help | - | - |\r\n| `--version` | `-v` | Show version | - | - |\r\n\r\n### UI Library Compatibility\r\n\r\n| Frontend | Compatible UI Libraries |\r\n|----------|------------------------|\r\n| Vue | `vuetify`, `primevue` |\r\n| React | `mui`, `primereact` |\r\n\r\n## After Project Creation\r\n\r\n### Using Docker (Recommended)\r\n\r\n```bash\r\ncd my-app\r\ncp .env.example .env\r\ndocker compose up -d --build\r\n```\r\n\r\n### Running Manually\r\n\r\n**Backend:**\r\n```bash\r\n# .NET\r\ncd backend/src/Presentation/*.WebAPI && dotnet run\r\n\r\n# Spring Boot\r\ncd backend && ./mvnw spring-boot:run\r\n\r\n# NestJS\r\ncd backend && npm run start:dev\r\n```\r\n\r\n**Frontend:**\r\n```bash\r\ncd frontend && npm run dev\r\n```\r\n\r\n### Access Points\r\n\r\n| Service | URL |\r\n|---------|-----|\r\n| Frontend | http://localhost:3000 (dev) / http://localhost (Docker) |\r\n| Backend API | http://localhost:5100 |\r\n| Swagger UI | http://localhost:5100/swagger |\r\n\r\n### Default Credentials\r\n\r\n```\r\nUsername: admin\r\nPassword: Admin@123\r\n```\r\n\r\n## Project Structure\r\n\r\n### Fullstack Project\r\n\r\n```\r\nmy-app/\r\n├── backend/                 # Backend API\r\n│   ├── src/\r\n│   │   ├── Core/            # Domain & Application layers\r\n│   │   ├── Infrastructure/  # Database, External services\r\n│   │   └── Presentation/    # Controllers, API endpoints\r\n│   └── tests/\r\n├── frontend/                # Frontend SPA\r\n│   ├── src/\r\n│   │   ├── components/      # Reusable components\r\n│   │   ├── pages/           # Route pages\r\n│   │   ├── stores/          # State management\r\n│   │   └── services/        # API services\r\n│   └── ...\r\n├── docker/                  # Docker configurations\r\n├── docker-compose.yml       # Development environment\r\n└── .env.example             # Environment template\r\n```\r\n\r\n### Backend Only (`-t backend`)\r\n\r\n```\r\nmy-api/\r\n├── backend/                 # Or root with --root flag\r\n│   ├── src/\r\n│   └── tests/\r\n└── ...\r\n```\r\n\r\n### Frontend Only (`-t frontend`)\r\n\r\n```\r\nmy-spa/\r\n├── frontend/                # Or root with --root flag\r\n│   ├── src/\r\n│   └── ...\r\n└── ...\r\n```\r\n\r\n## Features Included\r\n\r\n### Backend Features\r\n\r\n- **Clean Architecture** - Domain, Application, Infrastructure, Presentation layers\r\n- **Authentication** - JWT with refresh token rotation\r\n- **Authorization** - Role-based access control\r\n- **Database** - PostgreSQL with migrations\r\n- **Real-time** - SignalR (.NET) / WebSocket notifications\r\n- **File Upload** - Multi-file upload with validation\r\n- **Audit Logging** - Track all data changes\r\n- **Health Checks** - Liveness and readiness endpoints\r\n- **API Documentation** - Swagger/OpenAPI with auth support\r\n- **Data Export** - CSV, Excel, PDF export\r\n- **Pagination** - Server-side pagination with sorting and filtering\r\n\r\n### Frontend Features\r\n\r\n- **Authentication** - Login, logout, token refresh\r\n- **Responsive Layout** - Sidebar, header, breadcrumbs\r\n- **Dark Mode** - Theme switching support\r\n- **Data Tables** - Server-side pagination, sorting, filtering\r\n- **Form Validation** - Client-side validation\r\n- **Toast Notifications** - Success, error, info messages\r\n- **Confirmation Dialogs** - For destructive actions\r\n- **File Management** - Upload, download, preview\r\n- **Internationalization** - i18n ready\r\n- **State Management** - Pinia (Vue) / Zustand (React)\r\n\r\n### DevOps Features\r\n\r\n- **Docker** - Multi-stage builds, docker-compose\r\n- **CI/CD** - GitHub Actions workflows\r\n- **Environment Config** - Validated environment variables\r\n- **Scripts** - Project renaming, database setup\r\n\r\n## Requirements\r\n\r\n| Tool | Version | Required For |\r\n|------|---------|--------------|\r\n| Node.js | 18+ | All projects |\r\n| Docker | Latest | Running with containers |\r\n| .NET SDK | 8.0+ | .NET backend development |\r\n| Java | 21+ | Spring Boot development |\r\n\r\n## Example Stacks\r\n\r\n### Enterprise .NET Stack\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest enterprise-app \\\r\n  -b dotnet -f react -u mui -n \"Contoso.Enterprise\" -i\r\n```\r\n\r\n### Startup Vue Stack\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest startup-app \\\r\n  -b nestjs -f vue -u primevue -i\r\n```\r\n\r\n### Microservice Backend\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest user-service \\\r\n  -t backend -b spring -n \"com.mycompany.userservice\" --root -i\r\n```\r\n\r\n### Admin Dashboard\r\n```bash\r\nnpm create @abuhannaa/apptemplate@latest admin-dashboard \\\r\n  -t frontend -f react -u primereact -i\r\n```\r\n\r\n## Links\r\n\r\n- [GitHub Repository](https://github.com/abuhanna/app-template)\r\n- [Report Issues](https://github.com/abuhanna/app-template/issues)\r\n- [NPM Package](https://www.npmjs.com/package/@abuhannaa/create-apptemplate)\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}