{"_id":"g360-cli","_rev":"29-34d4387f634e66ed9c631268e659cbb1","name":"g360-cli","dist-tags":{"latest":"1.18.1"},"versions":{"1.0.0":{"name":"g360-cli","version":"1.0.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.0.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"dist":{"shasum":"0f044678a2430f2e9ea14a4db97b902b61a787f0","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.0.0.tgz","fileCount":42,"integrity":"sha512-vE0XJuGi1VqXgKEtvl90K3GNHae4pZlMeiKj3K9wBbEiKN67/d9sb5JHsJnig6C/YK2FHub1Y2vQBzQootwMPQ==","signatures":[{"sig":"MEUCIQCMwMS1byjbcUyvQKvHBD999CLImps/JBqN4pmlhU0Q2wIgUdIwJdR6Z+44cW2L/Kbuj3igBBA+6zlZoKaRHh7RiLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41208},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f78261905d16ca67d347cfef0c56de9f0e53c034","scripts":{"test":"echo \"No tests configured\"","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.12.0","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.0.0_1775545447618_0.6937653636504137","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"g360-cli","version":"1.1.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.1.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"dist":{"shasum":"8b35695d9df44020a1958e28f90bb1632c6f97bb","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.1.0.tgz","fileCount":65,"integrity":"sha512-MmZZwa5fIkQNSZ+fyKFPcMk8df/xdax7hz2U90wxT/skko9jgZhIh/oS/XbbdxYHg6Mwh/fPiMmmCv1vRwkUFw==","signatures":[{"sig":"MEUCIAbg8iv/RAUlyMAkyZ4mH7ssGwh5tyHfv7swCLXcZc3xAiEAkDZiY/eTC9ltfIKlhC+RDCv81m5ZacSYpWjquwi8XE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93414},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"fc1a8d1cd1abfd3bb50fb202004221dd2777ae16","scripts":{"test":"echo \"No tests configured\"","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.12.0","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.1.0_1775670456368_0.7993129457833044","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"g360-cli","version":"1.1.1","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.1.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"dist":{"shasum":"b7f03c91fd4a4955e195dbc4ed34982b997fc22a","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.1.1.tgz","fileCount":65,"integrity":"sha512-99wiV2rFOC7T8lTBVsLbtaBVX0XQfXVEz+9LcA2mIfFmfJh9e9tZ3yGY1kVTAvIuWzJHvNDHFjMhxOTCTdbN3g==","signatures":[{"sig":"MEQCIGsUURnPfX4jRVnFeeLFu8B/OHtbWUF76UvfFY3LNxXiAiB6Ad8vuwh1pbOabTMBxojgKjdjPW5vTs071iweD2Ei9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93434},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"c86598052b34ad59abdc2c1ee43e93885292a744","scripts":{"test":"echo \"No tests configured\"","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.12.0","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.1.1_1775670978608_0.5403198385588341","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"g360-cli","version":"1.2.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.2.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"dist":{"shasum":"ae37cc31d8798160eafc0a89c9be04516ea0fc01","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.2.0.tgz","fileCount":63,"integrity":"sha512-pUPMjNUBvdKciHOPBWfj+WEAjSWFVdnd5wO0S7ZTbs7VCZqD9gj5vow7PFNLXs39UN4YhXaY7vFa4Nqnhna6AQ==","signatures":[{"sig":"MEUCIAYp5a1mgOwjC9oR0eJ85pVPxgivSweffeSvs03CnQIkAiEArEavE9wM7LFzQQ7ggbFfatHYf+DmFa78KwXhtkxGo9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93627},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"12fa6675736c007c13fa757c5cc8438266860348","scripts":{"test":"echo \"No tests configured\"","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.12.0","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.2.0_1775859627878_0.9457091778214488","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"g360-cli","version":"1.2.1","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.2.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"0d875dda70c0ba03e557b68c47ce83ef4da09731","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.2.1.tgz","fileCount":65,"integrity":"sha512-rRjHv6qzJYVJC1LdOQk6LaP0+VR2crp+KEcqQ2IifdyOdMBl0zt7fkmtJSkX3q+By3IpmlYU1Sz3pm2EsvdpHw==","signatures":[{"sig":"MEQCIF3AmYCyMxkSDxo4/YMmVfKQJ1VoczEYqLhTKTAMhyesAiBI0tYnF+AdNFH3rzw18NkWYsXpcYYpScNmsBAwsA3x9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95697},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4ce60144e16d86b74a7735af8a5967016de7077f","scripts":{"test":"echo \"No tests configured\"","build":"npm run build:portable","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"10.8.2","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.2.1_1776813040837_0.9985929239119564","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"g360-cli","version":"1.2.2","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.2.2","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"b673c3ce33d59cc85febc43deae41eb1d9af51e8","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.2.2.tgz","fileCount":65,"integrity":"sha512-YQBcBVYkreCXVakaec75sbLd0G273zQD/CGdoDEonH4SepdpGgK32s3Q8CxmaH1gwtWKDH5sSaslH084BfQsZQ==","signatures":[{"sig":"MEQCIARwN5ZI7vKMbiSUr/PnJTaKXskl83O6dLSVaOM7uFEmAiA8/xsqCFd3JBF43dZJeW/DoruDT6D9Ot7rSZvjLxXgRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95697},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"4ce60144e16d86b74a7735af8a5967016de7077f","scripts":{"test":"echo \"No tests configured\"","build":"npm run build:portable","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"10.8.2","description":"CLI tool for bootstrapping G360 ecosystem projects","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.2.2_1776813214182_0.002620914071756575","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"g360-cli","version":"1.3.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.3.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"da692d1e96681916e32d60ee36ba5ba02ea8d76c","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.3.0.tgz","fileCount":65,"integrity":"sha512-BTJ++NbUNiz5olXJGCaP+QgRFn97uamJgh3rqIYl8Mz27+48tEAtR989XYgywuiIrYFC3CYClz4uj2o0n5yCXg==","signatures":[{"sig":"MEQCIDnFr8D1lUIpsopOarnxiDlIo+WH6Eefcyl2I85Ao/7KAiAnwQQLhHnnwPriBjCYwBw/ZacR9ZIx955LKc68cE8iBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101698},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d6482db3ea68b745b3b73820a694812520e9ca93","scripts":{"test":"echo \"No tests configured\"","build":"npm run build:portable","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.12.1","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.2.0","inquirer":"^9.2.15","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.3.0_1777401903194_0.7456298436781288","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"g360-cli","version":"1.4.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.4.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"fd558efa0051cc9dfa519a69a693e5591ae93b94","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.4.0.tgz","fileCount":83,"integrity":"sha512-wu7RkDHYBKPs2vJDvPdGUatcJmoi2FD4LeFY27qNn9/39lhvaB/xJKQT5Fa/Vnb7vXYwE909VGwzax62xfFeKQ==","signatures":[{"sig":"MEQCICuMBO1Os969cl/Za7zPsAqKclpkDR9XZSuMF/IyioQqAiBBMx9w47OAv2uNtqWX7hCC4MSrky0HB9lMLWMv75D4CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45489787},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"7b00965c044410fe162154c7d58ee1b8b29a11db","scripts":{"test":"echo \"No tests configured\"","build":"npm run build:portable","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.13.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^9.4.0","chalk":"^5.6.2","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.4.0_1778083952317_0.9389968956990766","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"g360-cli","version":"1.5.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.5.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"6c3141ce82c77cc27b4812daecf922c0227d7a84","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.5.0.tgz","fileCount":126,"integrity":"sha512-KnuX7lUh6yVjGj4IWrl1kWKjs8oKgbH8YXs1ai189ZUQFlv2zfZmgvUzeISrXuLrnZOts2Pt13y/O/tJPoi3Lw==","signatures":[{"sig":"MEQCIGIf3DRp4OgSUIlyf9fyt+T4fm4LrwFzmrei1xWbOC0xAiBIk14U6msOanoprq3a4kALk0PKwExaqvmBTf5bMYnsMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":323850},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"bf31e05c02f7396a94f291ed975da077a0c7c406","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.5.0_1782180048613_0.8538048398874871","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"g360-cli","version":"1.6.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.6.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"c4f522c65dd0d4292542c6d665b7188883f9b9ad","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.6.0.tgz","fileCount":133,"integrity":"sha512-xKFMFekaIv0RKQYv6OQ1bfhmY4trKhT3P46Uv95z3cJQOJCz67PCr+UdqgKGfF3+7LL5EXdgG2F3YY/I7BO2dw==","signatures":[{"sig":"MEMCIHLLz4Evr4TqvcE0M9z77LydIXu3jFpzXlII5Q//UdMoAh9+JB7kPL8gpkTWB7FzqfMlgYmx/l53uyMj4bBoqFTS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362352},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3621c3c01a803260527012218d81fb473ad7efe8","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.6.0_1782189734382_0.052921099337734256","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"g360-cli","version":"1.6.1","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.6.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"2429a6ccaf4758ddfdfc4f52fc62448e487e4e20","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.6.1.tgz","fileCount":133,"integrity":"sha512-9CbBxUxullDq4BKt9b58K/icH202e9nsE9+5nEIXcO/LOHM2/DM/Y+ZfSAc1Q3XIGufNXCLtao5su1FSAlTCKQ==","signatures":[{"sig":"MEQCIA1KYvfyq9aQqx2w9AI6MCGM1FPQ9VXPdQ3aJQ6IYgmEAiArTYqS+4qlYXbt0ttuUot9yuXWmIhjAx51yzV6KMmFjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363236},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"78533c32b4ddd2dac6e22485442e3f5999c0c965","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.6.1_1782191485611_0.32550405132441185","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"g360-cli","version":"1.7.0","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.7.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"0f76850437d22cf7158fc0c9650f7c29ee16debd","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.7.0.tgz","fileCount":145,"integrity":"sha512-+PSsifsUQG5Du+wFN93lvM0Fhsl02ogSE+zT01O/uBeAifEeqy2lsvxXiZLxAfFdoCCAxuplPhPpi+MRb79BNA==","signatures":[{"sig":"MEUCIQDiEysOaFoHVX0dewOTWpXB8g61V+RS4zvgXyCkY8uJBAIgQlNUso75JCvmMFJmOAkfIZm+yYn2bfgmlMAD1GhPBg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453508},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"10b6d4fc40aee2c463804662a8bc6da8086bbaab","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.7.0_1782444388384_0.17380275387914246","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"g360-cli","version":"1.7.1","keywords":["g360","cli","scaffolding","generator"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.7.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*"],"outputPath":"dist"},"dist":{"shasum":"3c17793623584c0029b6e7da5dc99fc121f244b6","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.7.1.tgz","fileCount":145,"integrity":"sha512-EW07qebWHPIsJP9oGoJ+EqSitgzAiTp4BjXw8x1XzfNsve37hR2usdyvyDBbalAL/yKXdV2iTxXCJcHG3asa1A==","signatures":[{"sig":"MEQCIHaJXoK/1KBtPBDOO4EJxHOD87buVIFgKwtGStJl9POKAiBUb16tH1ckPI0CsLmPgSktTX2QYZXofGgzk1meujAV8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453516},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ac48ae99659066201bf67a6c15c7fb6af3a9cd36","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.7.1_1782445109029_0.6374510487132157","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"g360-cli","version":"1.9.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.9.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"170a0d50f24ef0bfd4a5f08c5453b94ca420e48f","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.9.0.tgz","fileCount":175,"integrity":"sha512-/aPPPrW/Al8Nd1l9+9qDZgJDyBd9PwUomUpRerc/g9jnG66xddiSfn7Lf9GYzpdlda/nLbEpSwPo3aDxf21bwA==","signatures":[{"sig":"MEUCIQDlwpNfdzSNBHrA19Kf4Xe5OEcj1FzDJk/FPTFxGrmhuQIgXWxb4KWR1dw0y0QQZmTKynMKHA80c20HAEDUkuoEzYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":955157},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"07b329c889649b5c21e49e0273eacadf1b2778b1","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"echo '✅ g360-cli instalado. Asegúrate de tener Python 3.11+ y pip instalados.'","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.9.0_1782507540450_0.53836077017331","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"g360-cli","version":"1.10.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.10.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"49489cfd5a506fb410b7a8e46f6a5901dc80449c","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.10.0.tgz","fileCount":164,"integrity":"sha512-P19/1VcOmC2l/5MIPE6QYOTterAoozdjw7ApjccXHM/JWfehR0bqL7jo05UHesPuo7Pn+TAHrtsJj+QQZAJGvg==","signatures":[{"sig":"MEUCIDGdd6bWSrJYf6ZBkMGprRTRhRp/j07ex8F1MlXEH7+GAiEAxhKiT/BKBDX5uwcxi+dK2S+iGiD49nHn2Yb5Hx6szUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":950895},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"25d27130be6e1f50e4dab6bf602121cc6a2132d7","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"echo '✅ g360-cli instalado. Asegúrate de tener Python 3.11+ y pip instalados.'","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.10.0_1782779092473_0.7454419378750026","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"g360-cli","version":"1.10.1","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.10.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"be7224e46626a13df5024626d69bfa56e183ba85","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.10.1.tgz","fileCount":173,"integrity":"sha512-OFqN4wO09k9uQuxwmSBe3ZUaM16RzyLI1jrsGxm10orsFJ82oWCMMpvW3Uams8BTlcu7sbq+7yyMXCZsnKPuEw==","signatures":[{"sig":"MEUCIB3UZl9P4a5ZlpDnPOAsRtSkn+Pa+hWdD1SSxx95uCH8AiEArbfJ41TpONjlr0HSt8hxm+JgS9sHcFKGzFbKn0L0EXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":981401},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ec721612d8594a50d57fea9714273e703e418b86","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.10.1_1782781930182_0.8433627787016407","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"g360-cli","version":"1.11.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.11.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"1c850e35def22367f9cbf9a193677f1fed577876","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.11.0.tgz","fileCount":174,"integrity":"sha512-krF8ioGocJiVkUhvn0Oq9+nfAANgci4ubDnCGFJfVdiNXeuylrMf/kUjZMRI6X7g+TruGkZggvhoB1exmDqnNQ==","signatures":[{"sig":"MEYCIQC/V+EKZxBgIj5wATT6hK8+fyixKpCODq2aHFnvKQm5AgIhAPu05bS+4mmI3iYU38ZqOyARQyN0cW+kTuuAigzY5p2l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1018901},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"65030f7207bab8cd4d983ef5a6c27d805303d871","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.11.0_1783143881526_0.5655069269570883","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"g360-cli","version":"1.12.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.12.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"c55e2c28ad8ccee89fbca85dc4ecbba018754b6c","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.12.0.tgz","fileCount":194,"integrity":"sha512-2YYBqcmKJFPa4wn1ORfLzApuxI6jMeTiDnVcR4qwG16jGT9R29RlJhXF4cmNHPiCcZc8JkHNsUpEimalZAcgWw==","signatures":[{"sig":"MEUCIACucnE4ElNHUutS1G+R1ubP+SMQuBbsoHEvkZ1tUC1LAiEA/RsP8hTjBXkj9he/AZ5z+lY/tJ1p2CdLow233T3h3gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1666787},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"0db1c78e4c9b33ed7018efc0a547a484462d3004","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.9.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.12.0_1784582117621_0.8441509885799572","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"g360-cli","version":"1.13.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.13.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"658b53e65ed5089e115fff221374de1bd79aa074","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.13.0.tgz","fileCount":198,"integrity":"sha512-MZyCkDnR2h/h+nA0baLnlDG37ZiVIdN6xmA6c+6lNm+k49pUUhnWwnmTJDJHdJKa55xyNgZsXEgLOgXpyuyIog==","signatures":[{"sig":"MEQCIBK0odbecWZnly4hk9BnEDmX7XWNNY+QYr7Uyf1pDCSWAiAE5F4E09+DDgw3jk+OXQwRh2TdeJP4w8QmLbluZCh1Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1700777},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"be205aef3fafb90ebc84d91d391757419db99c28","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.13.0_1785136964049_0.48612319775184964","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"g360-cli","version":"1.13.1","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.13.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"cb08b59bef5c4d866e13068774db898d1dad2113","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.13.1.tgz","fileCount":198,"integrity":"sha512-ItR8NR9AAwXfc7Fto5iq+39sOH9bYZfzMCiVT7ZbFjIVdzcWBtZEIfXiP5dVcTud/v5zhYoznpKh7xEhqmUtzA==","signatures":[{"sig":"MEUCIQCbilCCYC5kqfuzRMzKhVh3eLgwaXAq319ulup37Am+zQIgFtHgihnssZJOoj7ftm7eP/pp70aMlteoerOq9thcdQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1700777},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"13ca2a0782a55e805712d8361e90d0a767248d06","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"10.9.4","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.13.1_1785137070749_0.7042709011999735","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"g360-cli","version":"1.14.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.14.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"ef424c3e4c57481616967664f784db671bffab1b","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.14.0.tgz","fileCount":204,"integrity":"sha512-w3sxQPs3yLXVqFd2L0RJ/tLfMzu/XQiUDJyQrU7AIVypXjNf2OdC6zx0DFwAVasynHaqGVco81JmQICOJgDiIQ==","signatures":[{"sig":"MEQCIES4oH0hZ+v0ZV22KdT+5Q3f+gAVyDma3ft3wtj6epWhAiAW5s5Dvi7q+rRFxj9jG6+/ATCzokEh19Eual6U5NrU0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2467286},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"42ffcd69e155d5a47c4cbd1208c93381315dffe7","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.14.0_1786644204273_0.4687564662525656","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"g360-cli","version":"1.15.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.15.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"4dcc9898aca831963888cf176f5a6f67d9d512b3","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.15.0.tgz","fileCount":205,"integrity":"sha512-eL24xxCPmQhgDLCS167jidbduPv0H5wnSUactcMbw1mFVjg8GP5T9ubPk1Nc3Eu/voUyu73VJeXJ3jklzcGF3w==","signatures":[{"sig":"MEYCIQD9SMv4EhHupPG3Kmg4SN8H9Ndbkyl5UtKDPIXOdK9m5gIhALlJDCGXGAp25rX/NzPrb3x1D15Qifyw5Zty1meH+Tny","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2475413},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f0411db2c05c1e27b7c37b74213307d22aaeb6d4","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.15.0_1786831794230_0.9394532193261331","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"g360-cli","version":"1.15.1","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.15.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"dd829db67e478dfbc7a8c321211ad14521314602","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.15.1.tgz","fileCount":205,"integrity":"sha512-pXuF+LAKUqNTcEsqtxpxM04E4sC2FewkFf8mnpJSNiZvpARos8J4CKwo4Pv6Fy9ZLJwtnkQF9L4JjSSwE7IjxA==","signatures":[{"sig":"MEYCIQDgtGiaugSa5fJoCl1cahyVeCXjJMiEpkWcopn8UFSD2AIhAKRPIh9Se4fyA+8xiLRuI2WN1zOSx0qjdkgh4gw8FOXY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2477253},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"991e5c52d09cad7c57d0d832b208e34b6f1bd96b","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.15.1_1786832747408_0.8230171029438109","host":"s3://npm-registry-packages-npm-production"}},"1.15.8":{"name":"g360-cli","version":"1.15.8","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.15.8","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"852b3f4f00af070931f58ebffaef8072a9e525ea","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.15.8.tgz","fileCount":206,"integrity":"sha512-OVnVmbSSHODbv5+UWdNuwZC2NqIXuiQmd6ZcPQjHENuYXz/2ETeuO0kaLZ5Pd6EWrKetInx9u/0MkXX1WA64zA==","signatures":[{"sig":"MEQCICFboY8fkNwYeM69O3tCKKr8vDPe3OgIP75KsRDulaspAiBhUEH4/Zm3BByFpduq4Z1Ma92+/sru7E2jWObhJtCS7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2506048},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a87ae9f059a5cf6b556d451eb467ea024518ad10","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.15.8_1788274821552_0.7793019653835582","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"g360-cli","version":"1.16.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.16.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"a1d5f65c0639255ed216dfd215b9c72630a566a1","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.16.0.tgz","fileCount":215,"integrity":"sha512-/Fo+/JIkak+pVkWuT5Pbswp/u9+aVVPvfGT6uEe6wEvqR4vJZ2O15YVa2MSboNFyL9eaPjr68zxMPkYBgkyOTg==","signatures":[{"sig":"MEYCIQDdVFZsNEzKOdEl9vKBkcbJPDGLBVQ4oDb7k8DItF/MNgIhAMnwVXs13IvEyJSEOJtOeZw8VPjl+z3KDTkvyLvPiBHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2540589},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"625170cf8831a89ccb42a07507840b7cb88bd5fc","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3","pptxgenjs":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.16.0_1788590895551_0.10570473344809828","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"g360-cli","version":"1.17.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.17.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"740582641c74afeb41188673084e81a4ae49f995","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.17.0.tgz","fileCount":217,"integrity":"sha512-U0vscUC61xKhnCBL++kBZyHFcjqQs37iMjsHmG2BDT9FgcqGlIzvjvDHTi8qihaWxWD4/shUyvdP3nlqNTF9lA==","signatures":[{"sig":"MEYCIQCrmm2+lRD7ttZ5t0Z9qX5qXEj8ilybsbFi0tUBtx1VCQIhAOXXN+C8LK5J+rR1xiTm8Q0SdmNvn7sSiAPn4U2/pb9g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2565458},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"b2bbe5d969eebe9332a6680e451cbcba256fb3c7","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3","pptxgenjs":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.17.0_1788650078934_0.9278994007423349","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"g360-cli","version":"1.17.1","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.17.1","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"b13863d68e95e5823164bae445410e1de0559c8e","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.17.1.tgz","fileCount":217,"integrity":"sha512-/RqJBqbWzCwrh+tD4Wm49xw/fVRPIdZz5s3i6OqZk1qoq1JlYKSajJ0sKyo0RDA6KreeaiHEjhByoPy05eFKQQ==","signatures":[{"sig":"MEUCICPkTH7nPeuAHy/9+ULWDuVPz2ABx48+oiCZBgIF5ulFAiEA5DvmYVKKJAlyEc6qaKv+0SORdZgNVmVyoIpfUriWFC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2575162},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"cc48fb19e5279fe652e4fcc81e6849a89294c315","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"node -e \"console.log('Use: npm install -g g360-cli')\""},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3","pptxgenjs":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.17.1_1788667597858_0.998793417154952","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"g360-cli","version":"1.18.0","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"author":{"name":"Carlos Cusi"},"license":"MIT","_id":"g360-cli@1.18.0","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"homepage":"https://github.com/ccusi/g360-cli#readme","bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"dist":{"shasum":"efaf7c30bd1338d893feecadf28e28b87b1b2690","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.18.0.tgz","fileCount":226,"integrity":"sha512-L2x+iActfeH8YKO45yEleZh+/v4AS09l4AHNOmmIttdP/nX9FEuKWvTasBbmIH+jnkj9isNwGTn5zRxYwkN5VA==","signatures":[{"sig":"MEYCIQDzLwtJGavN0zHlK607hClpPW76/wlaDpJPZyIbDUiQFAIhAJB9QM1DS72RLEGLzgqkIfqo71nGCRcDMbNfrvIQMcYO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICbrAcm2r0azIpHI5aIu8X6ZkZh4fWnIKwRM6Gu68CxkAiASWruXEtZYTTUGhGzG5ZCtfMsUnodCPWXe95F121mqnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2678532},"main":"src/cli.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"58d566236bb39f7ea7406c26d6cb4704bb3f0b4b","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"vitest run && node scripts/validate-assets.js"},"_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3","pptxgenjs":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/g360-cli_1.18.0_1789765763612_0.8789966239550859","host":"s3://npm-registry-packages-npm-production"}},"1.18.1":{"_id":"g360-cli@1.18.1","bin":{"g360":"src/cli.js"},"pkg":{"assets":["src/assets/**/*","py/**/*"],"scripts":[],"targets":"node18-win-x64","outputPath":"dist"},"bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"dist":{"shasum":"aa107ef7f8a3ac58cafe10224195ebdf39183f63","tarball":"https://registry.npmjs.org/g360-cli/-/g360-cli-1.18.1.tgz","fileCount":226,"integrity":"sha512-/IyN4doTm13djtuJgdxuyJ2DZzzlEeD91B91Tt2ySyfSsA6u/dE6CQGK1E/OCUvYG9dkauBdSNu/7mo2pcU45g==","signatures":[{"sig":"MEUCIFtXz12nK3e4onP1s1wso2RGzri8Bg/y4NLMdTk2+rIfAiEAn8KDu8pJgXy7W2mTMQlOyyxYIZSvRRHGeKCPeRbPkD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCNxbpz9BeImYs/pJSuOWbkRA5vXTfteOjz3L7gZjMMggIhAN4BdqewHMuiIG0XeRM4G0cceI/9wjIPbsp9LtbtTIVj"}],"unpackedSize":2678734},"main":"src/cli.js","name":"g360-cli","type":"module","author":{"name":"Carlos Cusi"},"engines":{"node":">=18.0.0"},"gitHead":"29d8c1a7aee29b236fa23406af1f330475a235cb","license":"MIT","scripts":{"test":"vitest","build":"npm run build:portable","test:ui":"vitest --ui","test:watch":"vitest --watch","postinstall":"node -e \"try{require('child_process').execSync('python --version',{encoding:'utf8',stdio:'pipe'})}catch{console.log('⚠️  Python no detectado. Instala Python 3.11+ para funcionalidad completa.')}\"","test:coverage":"vitest --coverage","build:portable":"pkg . --targets node18-win-x64 --output dist/g360.exe","prepublishOnly":"vitest run && node scripts/validate-assets.js"},"version":"1.18.1","_npmUser":{"name":"ccusi","email":"carlos.cusiclares@gmail.com"},"homepage":"https://github.com/ccusi/g360-cli#readme","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","directories":{},"maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"_nodeVersion":"24.19.0","dependencies":{"ajv":"^8.20.0","ora":"^9.4.0","chalk":"^5.6.2","winston":"^3.19.0","fs-extra":"^11.3.4","inquirer":"^13.4.2","commander":"^14.0.3","pptxgenjs":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"pkg":"^5.8.1","vitest":"^4.1.6","@vitest/ui":"^4.1.6"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/g360-cli_1.18.1_1789766668111_0.707890448877271"}}},"time":{"created":"2026-04-07T07:04:07.507Z","modified":"2026-09-18T21:24:28.381Z","1.0.0":"2026-04-07T07:04:07.780Z","1.1.0":"2026-04-08T17:47:36.527Z","1.1.1":"2026-04-08T17:56:18.740Z","1.2.0":"2026-04-10T22:20:28.055Z","1.2.1":"2026-04-21T23:10:40.998Z","1.2.2":"2026-04-21T23:13:34.341Z","1.3.0":"2026-04-28T18:45:03.345Z","1.4.0":"2026-05-06T16:12:32.972Z","1.5.0":"2026-06-23T02:00:48.750Z","1.6.0":"2026-06-23T04:42:14.514Z","1.6.1":"2026-06-23T05:11:25.767Z","1.7.0":"2026-06-26T03:26:28.537Z","1.7.1":"2026-06-26T03:38:29.175Z","1.9.0":"2026-06-26T20:59:00.694Z","1.10.0":"2026-06-30T00:24:52.648Z","1.10.1":"2026-06-30T01:12:10.376Z","1.11.0":"2026-07-04T05:44:41.843Z","1.12.0":"2026-07-20T21:15:17.852Z","1.13.0":"2026-07-27T07:22:44.251Z","1.13.1":"2026-07-27T07:24:30.908Z","1.14.0":"2026-08-13T18:03:24.486Z","1.15.0":"2026-08-15T22:09:54.394Z","1.15.1":"2026-08-15T22:25:47.630Z","1.15.8":"2026-09-01T15:00:21.729Z","1.16.0":"2026-09-05T06:48:15.742Z","1.17.0":"2026-09-05T23:14:39.158Z","1.17.1":"2026-09-06T04:06:38.038Z","1.18.0":"2026-09-18T21:09:23.733Z","1.18.1":"2026-09-18T21:24:28.239Z"},"bugs":{"url":"https://github.com/ccusi/g360-cli/issues"},"author":{"name":"Carlos Cusi"},"license":"MIT","homepage":"https://github.com/ccusi/g360-cli#readme","keywords":["g360","cli","scaffolding","generator","erp","data-processing"],"repository":{"url":"git+https://github.com/ccusi/g360-cli.git","type":"git"},"description":"CLI tool for bootstrapping G360 projects with standardized structure, assets, identity, and ERP data processing","maintainers":[{"name":"ccusi","email":"carlos.cusiclares@gmail.com"}],"readme":"# g360-cli\r\n\r\n<picture>\r\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"src/assets/brand/g360/logotypes/logo-g360-light.svg\">\r\n  <img alt=\"G360\" height=\"64\" src=\"src/assets/brand/g360/logotypes/logo-g360-dark.svg\">\r\n</picture>\r\n\r\n> CLI tool for bootstrapping G360 projects with standardized structure, assets, and identity\r\n\r\n[![npm version](https://img.shields.io/npm/v/g360-cli?color=00d084&label=version)](https://www.npmjs.com/package/g360-cli)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![npm downloads](https://img.shields.io/npm/dm/g360-cli?color=94a3b8)](https://www.npmjs.com/package/g360-cli)\r\n\r\n## ¿Cómo está organizado el proyecto?\r\n\r\n```mermaid\r\nflowchart TD\r\n    CLI[\"g360 CLI<br/>cli.js\"]\r\n    CMD[\"Comandos<br/>init · bring · audit · lint · review · clean · convert · docs · pptx · ingest · scan · validate\"]\r\n    LIB[\"Librerías<br/>manifest · auditor · validator · logger\"]\r\n    ASSETS[\"Assets<br/>templates · brand · signature · ingestion\"]\r\n    PY[\"g360-core (PyPI)<br/>commercial_engine · pipeline · batch_processor\"]\r\n    ERP[\"Datos ERP<br/>.xls · .xlsx · .csv\"]\r\n\r\n    CLI --> CMD\r\n    CMD --> LIB\r\n    CMD --> ASSETS\r\n    CMD --> PY\r\n    PY --> ERP\r\n```\r\n\r\n## Tabla de Contenidos\r\n\r\n- [Descripción](#descripción)\r\n- [Características](#características)\r\n- [Tecnologías](#tecnologías)\r\n- [Instalación](#instalación)\r\n- [Inicio Rápido](#inicio-rápido)\r\n- [Comandos](#comandos)\r\n- [Plantillas](#plantillas)\r\n- [Componentes](#componentes)\r\n- [Skills](#skills)\r\n- [Convenciones de Nombres](#convenciones-de-nombres)\r\n- [Configuración](#configuración)\r\n- [API](#api)\r\n- [Estructura](#estructura)\r\n- [Reglas de negocio](#reglas-de-negocio)\r\n- [Scripts](#scripts)\r\n- [Testing](#testing)\r\n- [Contribución](#contribución)\r\n- [Licencia](#licencia)\r\n- [Ecosistema G360](#ecosistema-g360)\r\n- [Integración con OpenCode](#integración-con-opencode)\r\n\r\n---\r\n\r\n## Descripción\r\n\r\nCLI tool para el ecosistema G360 que permite inicializar proyectos con estructura estándar, gestionar assets embebidos, y asegurar compliance mediante auditoría automática. Forma parte del núcleo del ecosistema y está disponible como paquete global de npm.\r\n\r\n**Tipo**: CLI Tool / Scaffolding / Generator  \r\n**Plataforma**: Node.js >= 18.0.0  \r\n**Distribución**: npm global (`npm install -g g360-cli`)\r\n\r\n---\r\n\r\n## Tecnologías\r\n\r\n- **Runtime**: Node.js >= 18.0.0\r\n- **Lenguaje**: JavaScript (ESModules)\r\n- **CLI Framework**: Commander 14.x\r\n- **UI**: Chalk 5.x (colores), Ora 9.x (spinners), Inquirer 13.x (prompts)\r\n- **Filesystem**: fs-extra 11.x\r\n- **Build**: pkg 5.8.1 (portable .exe)\r\n- **Distribución**: npm global\r\n\r\n---\r\n\r\n## Características\r\n\r\n- **Inicialización rápida** - Crea proyectos G360 con estructura estándar\r\n- **Gestión de assets** - Trae componentes, skills y plantillas embebidas\r\n- **Ingesta ERP** - Normaliza `.xls/.xlsx` de SAP, StarSoft, Spring con `g360 bring ingestion`\r\n- **Motor de clasificación comercial** - `commercial_engine` clasifica documentos en VENTA/DEVOLUCION/AJUSTE con subtipos (PRECIO_LINEA, CARGO_FIJO, SIN_BASE)\r\n- **Precio efectivo** - PRECIO_BASE, RECARGO_UNITARIO y PRECIO_EFECTIVO separan precio físico de ajustes financieros FAE\r\n- **Paquete Python** - `g360-core` en PyPI para pipelines de datos independientes\r\n- **Auditoría** - Verifica compliance de proyectos G360\r\n- **Lint** - Nomenclatura, duplicados y sintaxis con puntaje 0-100\r\n- **Review UI** - Tokens de diseño, jerarquía tipográfica y 8 componentes esenciales (`g360 review`, objetivo >= 90)\r\n- **Harness IA** - Skill + commands para OpenCode y rules + workflows para Kilo Code (`g360 bring harness`)\r\n- **Color System v3** - Escala esmeralda con roles por tema (AA en light y dark), identidad CIPSA propia\r\n- **Limpieza** - Elimina assets embebidos antes de deployment\r\n- **Multi-plantilla** - Web (Lit, Solid, Svelte, PWA, React), Python (CLI, Flet ⭐, Flet Polished ⭐, CustomTkinter, Migration)\r\n- **Flet Polished** - Template estandar con dual theme, auto-refresh, hash cache, search debounce, KPI glow, G360 signature, portable launcher\r\n- **Brand System v2.0.0** - Sistema de marca unificado con favicons, PWA icons, logotypes para G360 y CIPSA\r\n- **Modo portable** - Proyectos Python con ejecución directa (sin PyInstaller)\r\n- **Modo offline** - Funciona sin conexión usando assets cacheados\r\n- **Preview** - Dry-run para previsualizar cambios\r\n\r\n---\r\n\r\n## Versión\r\n\r\n**Current: v1.18.1** — [Ver en npm](https://www.npmjs.com/package/g360-cli)\r\n\r\n---\r\n\r\n## Instalación\r\n\r\n### Requisitos\r\n\r\n- Node.js >= 18.0.0\r\n- npm >= 8.0.0\r\n\r\n### Instalación global\r\n\r\n```bash\r\nnpm install -g g360-cli\r\n```\r\n\r\n### Verificar instalación\r\n\r\n```bash\r\ng360 --version\r\n# → 1.18.0\r\n\r\ng360 health\r\n```\r\n\r\n### Publicar nueva versión\r\n\r\n```bash\r\nnpm version patch   # o minor / major\r\ngit push --tags     # CI publica a npm y sube g360.exe al Release (requiere secret NPM_TOKEN)\r\n```\r\n\r\nEl workflow `.github/workflows/release.yml` corre tests + `validate-assets.js`,\r\nverifica que el tag coincida con `package.json`, publica a npm y adjunta\r\n`dist/g360.exe` al Release. Publicacion manual (sin CI): `npm publish`.\r\n\r\n---\r\n\r\n## Inicio Rápido\r\n\r\n```bash\r\n# 1. Inicializar nuevo proyecto\r\ng360 init mi-proyecto\r\n\r\n# 2. Entrar al proyecto\r\ncd mi-proyecto\r\n\r\n# 3. Traer assets G360\r\ng360 bring\r\n\r\n# 4. Ver estructura\r\ng360 present\r\n\r\n# 5. Auditar proyecto\r\ng360 audit\r\n\r\n# 6. Limpiar antes de deploy\r\ng360 clean\r\n```\r\n\r\n---\r\n\r\n## Comandos\r\n\r\n### `g360 init`\r\n\r\nInicializa un nuevo proyecto G360.\r\n\r\n```bash\r\ng360 init <nombre> [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `-t, --template <tipo>` | Tipo de plantilla (default: auto segun skill) | `auto` |\r\n| `-s, --skill <skill>` | Skill a usar | `corporativo-movil` |\r\n| `-d, --dir <ruta>` | Directorio destino | `.` |\r\n| `--dry-run` | Previsualizar sin crear | `false` |\r\n| `--force` | Sobrescribir existente | `false` |\r\n| `--brand` | Aplicar marca G360 (logo, colores, firma) después de init | `false` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Proyecto Lit para cliente móvil\r\ng360 init mi-proyecto --template lit-web --skill corporativo-movil\r\n\r\n# Proyecto Solid para herramienta propia\r\ng360 init mi-herramienta --template solid-web --skill moderno-movil\r\n\r\n# Proyecto SvelteKit minimalista\r\ng360 init mi-script --template svelte-web --skill minimalista\r\n\r\n# Preview sin crear\r\ng360 init mi-proyecto --dry-run\r\n\r\n# Crear proyecto con marca G360 aplicada automáticamente\r\ng360 init mi-proyecto --brand\r\n```\r\n\r\n---\r\n\r\n### `g360 set-skill`\r\n\r\nCambia el skill del proyecto actual.\r\n\r\n```bash\r\ng360 set-skill <skill> [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--verbose` | Mostrar detalles |\r\n| `--force` | Sobrescribir skill existente |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Cambiar a skill corporativo para PC\r\ng360 set-skill corporativo\r\n\r\n# Cambiar a skill moderno para móvil\r\ng360 set-skill moderno-movil\r\n\r\n# Ver detalles del skill\r\ng360 set-skill corporativo-g360 --verbose\r\n```\r\n\r\n---\r\n\r\n### `g360 convert`\r\n\r\nConvierte un proyecto existente a identidad G360.\r\n\r\n```bash\r\ng360 convert [ruta] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `-s, --skill <skill>` | Skill a aplicar | `corporativo-movil` |\r\n| `--dry-run` | Previsualizar sin aplicar | `false` |\r\n| `--restructure` | Reestructurar archivos | `false` |\r\n| `--force` | Forzar cambios peligrosos | `false` |\r\n| `--backup` | Crear backup antes | `false` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Preview de cambios\r\ng360 convert . --dry-run\r\n\r\n# Convertir proyecto existente\r\ng360 convert ./mi-proyecto --skill corporativo\r\n\r\n# Con backup automático\r\ng360 convert . --skill moderno --backup\r\n\r\n# Forzar cambios peligrosos\r\ng360 convert . --skill corporativo-movil --force\r\n```\r\n\r\n---\r\n\r\n### `g360 signature`\r\n\r\nInstala el componente de firma oficial G360 en proyectos web.\r\n\r\n```bash\r\ng360 signature install [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `-p, --path <ruta>` | Ruta al index.html | `.` |\r\n| `--force` | Reinstalar si ya existe | `false` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Instalar en el directorio actual\r\ng360 signature install\r\n\r\n# Forzar reinstalación\r\ng360 signature install --force\r\n```\r\n\r\n---\r\n\r\n### `g360 bring`\r\n\r\nTrae assets G360 al proyecto actual.\r\n\r\n```bash\r\ng360 bring [asset] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `-p, --path <ruta>` | Ruta destino |\r\n| `--dry-run` | Previsualizar |\r\n| `--force` | Sobrescribir |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Traer todos los assets\r\ng360 bring\r\n\r\n# Traer solo componentes\r\ng360 bring components\r\n\r\n# Traer solo skills\r\ng360 bring skills\r\n\r\n# Traer engine específico\r\ng360 bring engine/g360-skill-audit\r\n\r\n# Traer ingestion module ERP a proyecto Flet existente\r\ng360 bring ingestion\r\n\r\n# Instalar integracion IA (OpenCode + Kilo Code)\r\ng360 bring harness\r\ng360 bring harness/opencode   # solo OpenCode (.opencode/)\r\ng360 bring harness/kilocode   # solo Kilo Code (.kilo/ + legacy .kilocode/)\r\n```\r\n\r\n### `g360 bring harness`\r\n\r\nInstala los archivos de integracion con harnesses de IA en el proyecto actual.\r\n\r\n```bash\r\ng360 bring harness [opciones]\r\n```\r\n\r\n**Scopes:** `harness` (todo), `harness/opencode`, `harness/kilocode`\r\n\r\n**Archivos instalados:**\r\n\r\n| Destino | Contenido |\r\n|---------|-----------|\r\n| `.opencode/skills/g360-ui/SKILL.md` | Skill primario UI (politica Less is More) |\r\n| `.opencode/commands/g360-review.md` | Slash command de revision UI |\r\n| `.opencode/commands/g360-ship.md` | Slash command del pipeline completo |\r\n| `.kilo/rules/g360-*.md` | Rules de politica + naming (Kilo Code) |\r\n| `.kilo/commands/g360-*.md` | Workflows de revision y ship |\r\n| `.kilocode/rules/` | Copia legacy para compatibilidad |\r\n| `kilo.jsonc` | `instructions` (merge, no sobrescribe) |\r\n| `AGENTS.md` | Guia agnostica (solo si no existe) |\r\n\r\n### `g360 bring ingestion`\r\n\r\nInstala el módulo de normalización de datos ERP en proyectos Flet.\r\n\r\n```bash\r\ng360 bring ingestion [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `-p, --path <ruta>` | Ruta al proyecto |\r\n| `--dry-run` | Previsualizar |\r\n| `--force` | Sobrescribir archivos existentes |\r\n\r\n**Archivos instalados:**\r\n- `src/core/ingestion.py` — Normalización de datos (estabilizar_excel_crudo)\r\n- `src/ui/ingestion_panel.py` — Panel Flet para carga de archivos\r\n\r\n**Importación (auto-detects pip → local):**\r\n```python\r\n# Si g360-core está instalado via pip → from g360_core.ingestion import ...\r\n# Si no → from core.ingestion import ...\r\nfrom ui.ingestion_panel import IngestionPanel\r\n```\r\n\r\nEl paquete pip acompañante `g360-core` se publica en PyPI:\r\n```bash\r\npip install g360-core\r\n```\r\n\r\n### `g360-core` — Módulos principales\r\n\r\n#### `commercial_engine.py`\r\n\r\nMotor de lógica de negocio para clasificación documental. Única fuente de verdad para reglas comerciales.\r\n\r\n| Función | Propósito |\r\n|---------|-----------|\r\n| `classify_base()` | Clasificación primaria: VENTA, DEVOLUCION, AJUSTE |\r\n| `build_invoice_index()` | Índice de facturas para cruce de referencias |\r\n| `resolve_document_relationships()` | Asigna SUBTIPO_AJUSTE (PRECIO_LINEA, CARGO_FIJO, SIN_BASE) |\r\n| `calculate_prices()` | PRECIO_BASE, RECARGO_UNITARIO, PRECIO_EFECTIVO |\r\n| `parse_referencia()` | Descompone REFERENCIA \"F01/204-56287\" en tipo/serie/número |\r\n\r\n**Clasificación de documentos** (`classify_base` → primero, `resolve_document_relationships` → después para AJUSTE):\r\n```\r\nTPO_DOC          CANTIDAD   →  CATEGORIA_OP   SUBTIPO_AJUSTE (cruce vs índice)\r\nF01/BDI/F03/...  cualquiera →  VENTA          —\r\nNC*              ≠ 0        →  DEVOLUCION     —\r\nNC*              = 0        →  AJUSTE         (ver reglas de cruce abajo)\r\nND*              cualquiera →  AJUSTE         (ver reglas de cruce abajo)\r\n```\r\nSubtipos de AJUSTE (`resolve_document_relationships` cruza `REFERENCIA` contra `build_invoice_index`):\r\n```\r\nClave con SKU coincide   CANTIDAD_FAE = 0            → CARGO_FIJO\r\nClave con SKU coincide   CANTIDAD_FAE ≈ CANT_FACT    → PRECIO_LINEA\r\nClave con SKU coincide   CANTIDAD_FAE < CANT_FACT    → PRECIO_PARCIAL\r\nClave con SKU coincide   CANTIDAD_FAE > CANT_FACT    → SIN_BASE\r\nClave no coincide        CANTIDAD_FAE = 1            → CARGO_FIJO\r\nClave no coincide        CANTIDAD_FAE ≠ 1            → SIN_BASE\r\nSin facturas en dataset  —                            → SIN_BASE (todo AJUSTE)\r\n```\r\n> Ver detalle completo en [`BUSINESS_RULES.md`](./BUSINESS_RULES.md).\r\n\r\n#### `batch_processor.py`\r\n\r\n| Función | Propósito |\r\n|---------|-----------|\r\n| `read_erp_file()` | Punto único de lectura: .xls (xlrd), .xlsx (openpyxl), .csv. `dtype=str` preserva ceros a la izquierda |\r\n\r\n---\r\n\r\n### `g360 list`\r\n\r\nLista assets disponibles.\r\n\r\n```bash\r\ng360 list [tipo] [opciones]\r\n```\r\n\r\n**Tipos:**\r\n\r\n| Tipo | Descripción |\r\n|------|-------------|\r\n| `templates` | Lista de plantillas |\r\n| `components` | Lista de componentes |\r\n| `skills` | Lista de skills |\r\n| `ingestion` | Módulo de ingesta ERP |\r\n| `all` | Todo (por defecto) |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Listar todo\r\ng360 list\r\n\r\n# Solo plantillas\r\ng360 list templates\r\n\r\n# Solo componentes\r\ng360 list components\r\n\r\n# Salida JSON\r\ng360 list --json\r\n```\r\n\r\n---\r\n\r\n### `g360 present`\r\n\r\nPresenta la estructura del proyecto.\r\n\r\n```bash\r\ng360 present [ruta] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `--depth <n>` | Profundidad máxima | `3` |\r\n\r\n**Ejemplo:**\r\n\r\n```bash\r\ng360 present\r\ng360 present ./mi-proyecto --depth 2\r\n```\r\n\r\n---\r\n\r\n### `g360 audit`\r\n\r\nAudita el proyecto para compliance G360.\r\n\r\n```bash\r\ng360 audit [ruta] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--fix` | Auto-corregir problemas |\r\n| `--verbose` | Salida detallada |\r\n\r\n**Ejemplo:**\r\n\r\n```bash\r\ng360 audit\r\ng360 audit ./mi-proyecto --verbose\r\n```\r\n\r\n---\r\n\r\n### `g360 clean`\r\n\r\nLimpia código muerto, duplicados y archivos huérfanos del proyecto.\r\n\r\n```bash\r\ng360 clean [ruta] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--dry-run` | Previsualizar archivos |\r\n| `--force` | Omitir confirmación |\r\n| `--dead` | Eliminar archivos muertos/descontinuados |\r\n| `--duplicates` | Eliminar archivos duplicados |\r\n| `--orphans` | Eliminar archivos huérfanos (sin referencias) |\r\n| `--organize` | Mostrar archivos descolocados |\r\n| `--all` | Ejecutar todas las verificaciones |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Preview de limpieza completa\r\ng360 clean --dry-run --all\r\n\r\n# Solo archivos muertos\r\ng360 clean --dead --force\r\n\r\n# Solo duplicados\r\ng360 clean --duplicates --force\r\n\r\n# Verificar huérfanos (sin eliminar)\r\ng360 clean --orphans --dry-run\r\n```\r\n\r\n---\r\n\r\n### `g360 health`\r\n\r\nVerifica el estado del sistema.\r\n\r\n```bash\r\ng360 health [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--verbose` | Info detallada |\r\n\r\n**Ejemplo:**\r\n\r\n```bash\r\ng360 health\r\ng360 health --verbose\r\n```\r\n\r\n---\r\n\r\n### `g360 update`\r\n\r\nActualiza g360-cli a la última versión.\r\n\r\n```bash\r\ng360 update [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--check` | Solo verificar sin actualizar |\r\n\r\n**Ejemplo:**\r\n\r\n```bash\r\n# Verificar nueva versión\r\ng360 update --check\r\n\r\n# Actualizar\r\ng360 update\r\n```\r\n\r\n---\r\n\r\n### `g360 config`\r\n\r\nVisualiza o modifica la configuración de g360-cli.\r\n\r\n```bash\r\ng360 config [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `--list` | Listar todas las opciones de configuración |\r\n| `--get <key>` | Obtener valor de una configuración |\r\n| `--set <key=value>` | Establecer un valor de configuración |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Listar configuración disponible\r\ng360 config --list\r\n\r\n# Verificar skill actual\r\ng360 config --get skill\r\n```\r\n\r\n---\r\n\r\n### `g360 scan`\r\n\r\nEscanea un directorio para detectar archivos ERP válidos (.xls, .xlsx, .csv).\r\n\r\n```bash\r\ng360 scan <directorio> [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `-r, --recursive` | Buscar recursivamente | `true` |\r\n| `--min-score <n>` | Puntuación mínima de coincidencia | `10` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Escanear directorio actual\r\ng360 scan .\r\n\r\n# Escanear recursivamente con puntuación mínima\r\ng360 scan ./data --min-score 20\r\n\r\n# Solo directorio actual (sin recursión)\r\ng360 scan ./exports --no-recursive\r\n```\r\n\r\n---\r\n\r\n### `g360 validate`\r\n\r\nValida archivos ERP (.xls, .xlsx, .csv) sin procesar completamente.\r\n\r\n```bash\r\ng360 validate <archivos...> [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `-r, --recursive` | Buscar recursivamente en directorios |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Validar un archivo\r\ng360 validate factura.xlsx\r\n\r\n# Validar múltiples archivos\r\ng360 validate *.xlsx *.xls\r\n\r\n# Validar todos los archivos ERP en un directorio\r\ng360 validate ./exports --recursive\r\n```\r\n\r\n---\r\n\r\n### `g360 ingest`\r\n\r\nProcesa archivos ERP y genera un CSV maestro normalizado.\r\n\r\n```bash\r\ng360 ingest <input> [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `-o, --output <archivo>` | Ruta de salida CSV | `maestro_ventas_crm.csv` |\r\n\r\n**Archivos de entrada soportados:** `.xls`, `.xlsx`, `.csv`\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Procesar un archivo Excel\r\ng360 ingest ventas_sap.xlsx\r\n\r\n# Procesar directorio completo\r\ng360 ingest ./exports/ -o consolidado.csv\r\n\r\n# Procesar con nombre de salida personalizado\r\ng360 ingest reporte.xlsx -o mi_reporte.csv\r\n```\r\n\r\n---\r\n\r\n## Plantillas\r\n\r\n### python-flet-polished ⭐ (Estandar actual)\r\n\r\nPlantilla desktop Python con Flet — patrones de UI avanzados heredados de produccion.\r\n\r\n```\r\nmi-proyecto/\r\n├── main.py\r\n├── src/\r\n│   ├── app.py\r\n│   ├── config/theme.py\r\n│   ├── core/constants.py, processor.py\r\n│   └── ui/dashboard.py, kpi_card.py, search_overlay.py\r\n├── g360_flet/g360_signature.py\r\n├── assets/fonts/, images/, data/\r\n├── run.bat, launch.vbs, build-portable.bat\r\n├── skill.json, pyproject.toml\r\n└── sync_portable.py\r\n```\r\n\r\n### web-pwa\r\n\r\nPlantilla Progressive Web App con React.\r\n\r\n```\r\nmi-proyecto/\r\n├── index.html\r\n├── src/\r\n│   ├── main.jsx\r\n│   ├── App.jsx\r\n│   ├── components/\r\n│   │   ├── Header.jsx\r\n│   │   ├── FooterSignature.jsx\r\n│   │   └── LoadingOverlay.jsx\r\n│   └── styles/main.css\r\n├── vite.config.js\r\n├── package.json\r\n└── skill.json\r\n```\r\n\r\n### lit-web\r\n\r\nPlantilla Web Components con Lit.\r\n\r\n```\r\nmi-proyecto/\r\n├── index.html\r\n├── src/\r\n│   ├── index.js\r\n│   ├── components/\r\n│   │   └── app-root.js\r\n│   └── styles/\r\n│       └── main.css\r\n├── vite.config.js\r\n├── package.json\r\n└── skill.json\r\n```\r\n\r\n### solid-web\r\n\r\nPlantilla con SolidJS.\r\n\r\n```\r\nmi-proyecto/\r\n├── index.html\r\n├── src/\r\n│   ├── index.jsx\r\n│   ├── components/\r\n│   │   └── App.jsx\r\n│   └── styles/\r\n│       └── main.css\r\n├── vite.config.js\r\n├── package.json\r\n└── skill.json\r\n```\r\n\r\n### svelte-web\r\n\r\nPlantilla con SvelteKit.\r\n\r\n```\r\nmi-proyecto/\r\n├── src/\r\n│   ├── app.html\r\n│   ├── app.css\r\n│   ├── routes/\r\n│   │   └── +page.svelte\r\n│   └── core/\r\n│       └── skill.json\r\n├── svelte.config.js\r\n├── package.json\r\n└── skill.json\r\n```\r\n\r\n### web-pwa (React)\r\n\r\nPlantilla React + Vite con PWA.\r\n\r\n```\r\nmi-proyecto/\r\n├── index.html\r\n├── app.js\r\n├── styles.css\r\n├── manifest.json\r\n└── package.json\r\n```\r\n\r\n### python-cli\r\n\r\nPlantilla CLI de Python con estructura argparse completa.\r\n\r\n```\r\nmi-cli/\r\n├── src/\r\n│   ├── main.py\r\n│   └── core/\r\n│       └── skill.json\r\n├── requirements.txt\r\n├── run.bat\r\n├── build-portable.bat\r\n└── skill.json\r\n```\r\n\r\n### python-flet (LEGACY)\r\n\r\n> ⚠️ **Deprecado** — Usar `python-flet-polished` para nuevos proyectos.\r\n\r\nPlantilla GUI de escritorio con **Flet** para apps de contexto ERP.\r\n\r\n```\r\nmi-app/\r\n├── src/\r\n│   ├── main.py                  ← Punto de entrada con IngestionPanel integrado\r\n│   ├── core/\r\n│   │   ├── ingestion.py         ← Normalizador de datos ERP\r\n│   │   ├── g360_theme.py        ← Tema visual G360\r\n│   │   └── skill.json\r\n│   ├── ui/\r\n│   │   └── ingestion_panel.py   ← Panel Flet para carga .xls/.xlsx\r\n│   └── export/\r\n│       └── __init__.py\r\n├── pyproject.toml                ← Dependencias: flet, pandas, g360-core\r\n├── run.bat\r\n├── build.bat\r\n└── skill.json\r\n```\r\n\r\n**Normalización de datos:** La ingesta aplica transformaciones automáticas:\r\n- Parseo de referencias (`F01/201-243065` → tipo, serie, periodo, número)\r\n- Separación de sucursales (nombre + dirección)\r\n- Clasificación de documentos (RUC 11 dígitos / DNI 8 dígitos)\r\n- Normalización monetaria con auto-detección de formato SAP/Spring\r\n- Cantidad + Cantidad FAE → cantidad_total + tipo_transaccion\r\n- **Clasificación comercial**: VENTA / DEVOLUCION / AJUSTE con subtipos PRECIO_LINEA, CARGO_FIJO, SIN_BASE\r\n- **Precio efectivo**: PRECIO_BASE (físico) y RECARGO_UNITARIO (financiero) separados\r\n- Cruce de NC/NDB contra facturas referenciadas para determinar ajustes de precio por línea\r\n- Purga de filas total/general/acumulado\r\n- **Columnas derivadas para UI**: `cliente_label`, `vendedor_label`, `articulo_label`, `linea_label`, etc. (ID - NOMBRE)\r\n- **Cliente completo**: `cliente_full_label` = ID_CLIENTE - DOC_CLIENTE_CLEAN - NOM_CLIENTE\r\n- **Código de factura**: `doc_completo` = TPO_DOC + SERIE_DOC + NRO_DOC (ej: \"F204-56287\")\r\n- **Precio unitario**: `precio_base` = SOLES / CANTIDAD\r\n\r\n### python-flet-migrate\r\n\r\nPlantilla para migrar aplicaciones Tkinter/CTkinter a Flet.\r\n\r\n```\r\nmi-app/\r\n├── src/\r\n│   ├── main.py\r\n│   └── migrate_tkinter.py\r\n├── requirements.txt\r\n└── skill.json\r\n```\r\n\r\n### python-customtkinter\r\n\r\nPlantilla GUI de escritorio con **CustomTkinter** (tema oscuro moderno).\r\n\r\n```\r\nmi-app/\r\n├── src/\r\n│   ├── main.py\r\n│   └── core/\r\n│       └── skill.json\r\n├── requirements.txt\r\n├── run.bat\r\n└── build-portable.bat\r\n```\r\n\r\n---\r\n\r\n## Componentes\r\n\r\n### g360-signature\r\n\r\nFirma G360 para proyectos web (Web Component).\r\n\r\n```html\r\n<!-- Modo para clientes -->\r\n<g360-signature mode=\"powered\"></g360-signature>\r\n\r\n<!-- Modo propio -->\r\n<g360-signature mode=\"own\"></g360-signature>\r\n\r\n<!-- Con versión -->\r\n<g360-signature mode=\"powered\" version=\"1.0.0\"></g360-signature>\r\n```\r\n\r\n**Atributos:**\r\n- `mode`: \"own\" (G360 by ccusi) o \"powered\" (powered by G360)\r\n- `version`: Número de versión opcional\r\n\r\n**Características:**\r\n- Isotipo: 3 puntos verticales + chevron >\r\n- Colores: #00d084 (verde), #94a3b8 (gris)\r\n- Opacidad: 0.4 por defecto, 1.0 en hover\r\n- Tema: auto-detecta prefers-color-scheme\r\n\r\n### G360DragModal\r\n\r\nModal draggable para interfaces.\r\n\r\n```jsx\r\nimport G360DragModal from './g360/components/G360DragModal.jsx';\r\n\r\nG360DragModal({\r\n  isOpen: true,\r\n  title: 'Configuración',\r\n  onClose: () => setOpen(false),\r\n  children: '<p>Contenido del modal</p>'\r\n});\r\n```\r\n\r\n---\r\n\r\n## Skills\r\n\r\nLos skills definen el estilo visual, dispositivo y signature del proyecto.\r\n\r\n### corporativo\r\n\r\nProyectos para clientes - estilo corporativo conservador (PC).\r\n\r\n### corporativo-movil\r\n\r\nProyectos para clientes - estilo corporativo - enfoque móvil.\r\n\r\n### corporativo-g360\r\n\r\nProyectos para clientes con colores G360 vibrantes (PC).\r\n\r\n### corporativo-g360-movil\r\n\r\nProyectos para clientes con colores G360 - enfoque móvil.\r\n\r\n### moderno\r\n\r\nHerramientas propias G360 - estilo innovador (PC).\r\n\r\n### moderno-movil\r\n\r\nHerramientas propias G360 - estilo innovador (móvil).\r\n\r\n### minimalista\r\n\r\nProyectos minimalistas - scripts, CLI, Python.\r\n\r\n### custom\r\n\r\nConfiguración personalizada - colores ajustables.\r\n\r\n### flet-desktop\r\n\r\nAplicaciones de escritorio Flet - estilo moderno G360 (PC).\r\n\r\n### flet-desktop-corporativo\r\n\r\nAplicaciones Flet para clientes - estilo corporativo conservador.\r\n\r\n### cipsa\r\n\r\nProyectos con marca CIPSA - favicon CIPSA rojo, logo corporativo, signature \"powered by G360\".\r\n\r\n### cipsa-movil\r\n\r\nApps móviles con marca CIPSA - favicon CIPSA rojo, logo corporativo, enfoque móvil.\r\n\r\n### flet-desktop-polished\r\n\r\nApp Flet desktop con patrones UI avanzados: dual theme, auto-refresh, hash cache, search debounce, KPI glow, G360 signature widget. **Estandar actual para Flet.**\r\n\r\n### react-web\r\n\r\nAplicaciones web con React/JSX - estilo G360 moderno.\r\n\r\n### solid-web\r\n\r\nAplicaciones web con SolidJS - estilo G360 moderno.\r\n\r\n### svelte-web\r\n\r\nAplicaciones web con Svelte/SvelteKit - estilo G360 moderno.\r\n\r\n### lit-web\r\n\r\nAplicaciones web con Lit Web Components - estilo G360 moderno.\r\n\r\n### customtkinter\r\n\r\nAplicaciones desktop con CustomTkinter - estilo G360 moderno.\r\n\r\n### Ejemplos de uso\r\n\r\n```bash\r\n# Al crear proyecto\r\ng360 init mi-proyecto --skill corporativo-movil\r\n\r\n# Cambiar skill después\r\ng360 set-skill moderno\r\n\r\n# Ver skills disponibles\r\ng360 list skills\r\n\r\n# Aplicar marca a proyecto existente\r\ng360 bring brand/cipsa\r\n\r\n# Convertir proyecto con nuevo skill\r\ng360 convert . --skill flet-desktop-polished --force\r\n```\r\n\r\n---\r\n\r\n## Convenciones de Nombres\r\n\r\nLas aplicaciones G360 siguen un sistema de nomenclatura estandarizado para ser identificables y consistentes en el ecosistema.\r\n\r\n### Clases UI\r\n\r\n| Sufijo | Uso | Ejemplo |\r\n|--------|-----|---------|\r\n| `App` | Orquestador principal | `StockMonitorApp`, `G360App` |\r\n| `Dashboard` | Vista principal con KPIs | `SalesDashboard` |\r\n| `Card` | Tarjeta reutilizable | `KpiCard`, `WarehouseCard` |\r\n| `Modal` | Ventana modal | `ExportModal`, `SearchModal` |\r\n| `Overlay` | Capa flotante | `SearchOverlay`, `LoadingOverlay` |\r\n| `Badge` | Indicador pequeno | `HealthBadge` |\r\n| `Chip` | Tag seleccionable | `WarehouseChip` |\r\n| `Table` | Tabla de datos | `ProductTable` |\r\n\r\n### Funciones/Metodos\r\n\r\n| Prefijo | Uso | Ejemplo |\r\n|---------|-----|---------|\r\n| `_setup_` | Inicializacion | `_setup_page()`, `_setup_theme()` |\r\n| `_build_` | Construccion UI | `_build_header()`, `_build_content()` |\r\n| `_on_` | Event handlers | `_on_click()`, `_on_refresh()` |\r\n| `_fetch_` / `_download_` | Obtencion datos | `_fetch_data()`, `_download_api()` |\r\n| `_load_` / `_save_` | Persistencia | `_load_cache()`, `_save_data()` |\r\n| `_update_` / `_refresh_` | Actualizacion | `_update_ui()`, `_refresh_kpis()` |\r\n| `_show_` / `_hide_` | Visibilidad | `_show_loading()`, `_hide_overlay()` |\r\n| `_toggle_` | Cambio estado | `_toggle_theme()` |\r\n| `_validate_` | Validaciones | `_validate_input()` |\r\n\r\n### Archivos\r\n\r\n| Capa | Convention | Ejemplo |\r\n|------|------------|---------|\r\n| Entry | `main.py` | `main.py` |\r\n| App | `app.py` | `app.py` |\r\n| Config | `config/*.py` | `theme.py`, `constants.py` |\r\n| Core | `core/*.py` | `processor.py`, `downloader.py` |\r\n| UI | `ui/*.py` | `dashboard.py`, `kpi_card.py` |\r\n| Modals | `ui/modals/*.py` | `export_modal.py` |\r\n\r\n> Para mas detalles, ver [`FLET-NAMING-CONVENTIONS.md`](./FLET-NAMING-CONVENTIONS.md)\r\n\r\n---\r\n\r\n## Configuración\r\n\r\n### g360-manifest.json\r\n\r\nArchivo de manifiesto del proyecto.\r\n\r\n```json\r\n{\r\n  \"name\": \"mi-proyecto\",\r\n  \"template\": \"web-pwa\",\r\n  \"version\": \"1.0.0\",\r\n  \"createdAt\": \"2024-01-01T00:00:00.000Z\",\r\n  \"assets\": [\r\n    {\r\n      \"name\": \"components\",\r\n      \"addedAt\": \"2024-01-01T00:00:00.000Z\"\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n### Configuración Global\r\n\r\n```bash\r\n# Directorio de configuración\r\n~/.g360/\r\n\r\n# Assets cacheados\r\n~/.g360/cache/\r\n```\r\n\r\n---\r\n\r\n## API\r\n\r\n### Módulo Principal\r\n\r\n```javascript\r\nimport { g360 } from 'g360-cli';\r\n\r\nawait g360.init({ name: 'proyecto', template: 'web-pwa' });\r\nawait g360.bring('components');\r\nawait g360.audit({ path: '.', verbose: true });\r\nawait g360.clean({ path: '.', force: true });\r\n```\r\n\r\n---\r\n\r\n## Estructura\r\n\r\n```\r\ng360-cli/\r\n├── src/\r\n│   ├── cli.js           # Entrada principal CLI\r\n│   ├── commands/         # Comandos (init, bring, audit, scan, validate, ingest, etc.)\r\n│   ├── lib/             # Utilidades (assets, auditor, config, logger, validator, etc.)\r\n│   ├── schemas/         # Schemas de validación\r\n│   └── assets/          # Assets embebidos\r\n│       ├── templates/    # Plantillas de proyecto\r\n│       ├── components/   # Componentes G360\r\n│       ├── brand/        # Sistema de marca v2.0.0 (G360 + CIPSA)\r\n│       ├── ingestion/    # Módulo de ingesta ERP (bring)\r\n│       ├── engine/      # G360 Engine\r\n│       ├── snippets/    # Snippets de código reutilizables\r\n│       └── config/      # Configuraciones (g360-skills.json, agent-skills.json, project-types.json)\r\n├── py/                  # Paquete Python publicable en PyPI\r\n│   ├── pyproject.toml   # g360-core\r\n│   └── src/g360_core/   # commercial_engine.py, pipeline.py, processor.py, batch_processor.py, utils.py\r\n├── package.json\r\n├── CHANGELOG.md\r\n├── README.md\r\n└── LICENSE\r\n```\r\n\r\n---\r\n\r\n## Scripts\r\n\r\n| Comando | Descripción |\r\n|---------|-------------|\r\n| `npm run build` | Build portable con pkg (g360.exe) |\r\n| `npm run build:portable` | Especificar target node18-win-x64 |\r\n| `npm test` | Ejecutar tests con Vitest (88 tests, 11 suites) |\r\n| `npm run prepublishOnly` | Validación antes de publicar en npm (tests + schemas + files + versión) |\r\n\r\n---\r\n\r\n## Testing\r\n\r\n```bash\r\nnpm test            # Vitest — 88 tests, 11 suites\r\nnpm run test:watch  # Modo watch\r\nnpm run test:ui     # UI interactiva\r\nnpm run test:coverage\r\n```\r\n\r\n**Cobertura actual (v1.17.1):**\r\n- `commands/`: init, bring, list, audit, set-skill, addon\r\n- `lib/`: manifest, validator, asset-validator, python_runner, ui-review, version-sync\r\n- **88 passing**\r\n\r\n---\r\n\r\n## Contribución\r\n\r\n1. Fork el repositorio\r\n2. Crea una rama (`git checkout -b feature/nueva-funcion`)\r\n3. Commit tus cambios (`git commit -m 'Agregar nueva función'`)\r\n4. Push a la rama (`git push origin feature/nueva-funcion`)\r\n5. Abre un Pull Request\r\n\r\n---\r\n\r\n## Licencia\r\n\r\nMIT License - ver [LICENSE](LICENSE) para más detalles.\r\n\r\n---\r\n\r\n## Ecosistema G360\r\n\r\nEste proyecto forma parte de la familia de microherramientas **G360** para apoyo CRM y gestión de datos en escritorio, enfocadas en áreas como ventas, finanzas y logística.\r\n\r\n### Identidad Visual G360\r\n\r\n- **Isotipo**: 3 puntos verticales paralelos (gris-verde-gris) + chevron `>`\r\n- **Colores**: #00d084 (verde), #94a3b8 (gris)\r\n- **Marca**: G360 - Microherramientas para apoyo CRM y datos en escritorio\r\n- **Implementación**: Usar `g360-signature` para branding consistente\r\n\r\n### Herramientas Relacionadas\r\n\r\n- **[g360-signature](https://github.com/carloscus/g360-signature)**: Web component de branding G360\r\n- **[g360-order-xlsx](https://github.com/carloscus/g360-order-xlsx)**: Procesador de cotizaciones Excel\r\n- **[g360-day-calculator](https://github.com/carloscus/g360-day-calculator)**: Calculadora de días laborables\r\n- **[g360-master-data](https://github.com/carloscus/g360-master-data)**: Gestión de datos maestros\r\n\r\n---\r\n\r\n### `g360 addon`\r\n\r\nGestión de addons y paquetes de desarrollo.\r\n\r\n```bash\r\ng360 addon <comando> [paquete] [opciones]\r\n```\r\n\r\n**Comandos:**\r\n- `install <package>` - Instala un addon (core o dev-tool)\r\n- `list` - Lista addons instalados\r\n- `remove <package>` - Desinstala un addon\r\n\r\n**Opciones:**\r\n| Opción | Descripción |\r\n|--------|-------------|\r\n| `-p, --path <ruta>` | Ruta destino (default: `.`) |\r\n| `--dry-run` | Previsualizar cambios |\r\n| `--force` | Forzar reinstalación/remoción |\r\n\r\n**Ejemplos:**\r\n```bash\r\n# Instalar paquete de diseño (core)\r\ng360 addon install @google/design.md\r\n\r\n# Instalar kit de testing (dev)\r\ng360 addon install @g360/testing\r\n\r\n# Listar addons\r\ng360 addon list\r\n\r\n# Remover addon\r\ng360 addon remove @google/design.md\r\n```\r\n\r\n**Registro de addons:**\r\n- 🏛️ Core Dev: Van a `dependencies` (producción)\r\n- 🛠️ Dev Tools: Van a `devDependencies` (desarrollo)\r\n\r\n---\r\n\r\n### `g360 docs`\r\n\r\nGenera o actualiza la documentación del proyecto.\r\n\r\n```bash\r\ng360 docs [level] [opciones]\r\n```\r\n\r\n**Niveles:**\r\n\r\n| Nivel | Archivo generado | Descripción |\r\n|---|---|---|\r\n| `readme` (default) | `README.md` | Logo, diagrama Mermaid, quick start, identidad, firma |\r\n| `architecture` | `ARCHITECTURE.md` | Diagrama de arquitectura general + flujo de datos |\r\n| `business-rules` | `BUSINESS_RULES.md` | Reglas de negocio (solo Python con commercial_engine) |\r\n| `dependencies` | `docs/generated/dependencies.mmd` | Dependencias entre módulos |\r\n| `classes` | `docs/generated/classes.mmd` | Relaciones entre clases e interfaces |\r\n| `code-graph` | `docs/generated/code_graph.mmd` | Grafo de código (proyectos grandes) |\r\n| `all` | Todos los anteriores | Todos los niveles aplicables |\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `--level <nivel>` | Nivel de documentación | `readme` |\r\n| `--project <ruta>` | Ruta del proyecto | `.` |\r\n| `--dry-run` | Previsualizar sin escribir | `false` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Generar README con diagrama\r\ng360 docs\r\n\r\n# Generar toda la documentación\r\ng360 docs --level all\r\n\r\n# Generar BUSINESS_RULES para un proyecto Python\r\ng360 docs --level business-rules --project ./mi-proyecto\r\n\r\n# Previsualizar sin escribir\r\ng360 docs --level all --dry-run\r\n```\r\n\r\n---\r\n\r\n### `g360 lint`\r\n\r\nRevisa la consistencia de nomenclatura, detecta funciones duplicadas y verifica la sintaxis del proyecto.\r\n\r\n```bash\r\ng360 lint [level] [opciones]\r\n```\r\n\r\n**Niveles:**\r\n\r\n| Nivel | Qué revisa |\r\n|---|---|\r\n| `naming` | Nomenclatura de funciones, clases, variables y archivos |\r\n| `duplicates` | Funciones duplicadas con nombres iguales o diferentes |\r\n| `syntax` | Errores de sintaxis en archivos JS y Python |\r\n| `structure` | Archivos faltantes (README.md, skill.json, manifest) |\r\n| `all` (default) | Todas las anteriores |\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `--level <nivel>` | Nivel de lint | `all` |\r\n| `--project <ruta>` | Ruta del proyecto | `.` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Revisar todo el proyecto\r\ng360 lint\r\n\r\n# Solo revisar nomenclatura\r\ng360 lint --level naming\r\n\r\n# Revisar un proyecto específico\r\ng360 lint --project ./mi-proyecto\r\n```\r\n\r\n**Puntaje:** `g360 lint` asigna un puntaje de 0 a 100 basado en la cantidad de hallazgos.\r\n\r\n---\r\n\r\n### `g360 review`\r\n\r\nRevisa la UI del proyecto: tokens de diseño, jerarquía tipográfica y componentes esenciales. Detecta el framework (Flet, React, Solid, Svelte, Lit, Vue, CustomTkinter) y la paleta desde `skill.json`.\r\n\r\n```bash\r\ng360 review [level] [opciones]\r\n```\r\n\r\n**Niveles:**\r\n\r\n| Nivel | Qué revisa |\r\n|---|---|\r\n| `tokens` | Colores hardcodeados vs paleta de `skill.json`, `rgb()` literales, colores fuera de paleta |\r\n| `hierarchy` | Múltiples `<h1>`, saltos de nivel (H1→H3), tamaños fuera de escala 10-64, más de 6 pasos tipográficos |\r\n| `components` | 8 esenciales (header, KPI, tabla, drop-zone, loading, firma, export, búsqueda) + antipatrones (sin loading, errores silenciosos, `print`/`console.log` en UI, archivos >400 líneas) |\r\n| `all` (default) | Todas las anteriores |\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `--project <ruta>` | Ruta del proyecto | `.` |\r\n| `--json` | Salida JSON (para agentes) | `false` |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Revisar todo el proyecto\r\ng360 review\r\n\r\n# Solo paleta de colores\r\ng360 review tokens\r\n\r\n# Salida JSON para un agente\r\ng360 review --json --project ./mi-app\r\n```\r\n\r\n**Puntaje:** `g360 review` asigna un puntaje de 0 a 100. Objetivo: >= 90 antes de presentar.\r\n\r\n---\r\n\r\n### `g360 pptx`\r\n\r\nGenera manuales y presentaciones en PowerPoint (.pptx) desde una app G360. Detecta automáticamente el framework (Flet, SvelteKit, Lit, React, Vue), los módulos UI, las capacidades (PWA, Supabase, Excel, búsqueda) y el tema de marca. El archivo se genera **dentro del propio repo de la app**, independiente para cada proyecto.\r\n\r\n```bash\r\ng360 pptx [ruta] [opciones]\r\n```\r\n\r\n**Opciones:**\r\n\r\n| Opción | Descripción | Valor por defecto |\r\n|--------|-------------|-------------------|\r\n| `--mode <tipo>` | Modo de generacion (`manual`, `demo`, `onboarding`) | `manual` |\r\n| `--theme <nombre>` | Tema de marca (`g360`, `cipsa`, `corporate`) | auto-detectado desde `skill.json` |\r\n| `--out <archivo>` | Ruta del archivo de salida | `{repo}/{app-name}-manual.pptx` |\r\n| `--dry-run` | Solo muestra outline sin generar | `false` |\r\n\r\n**Modos:**\r\n\r\n| Modo | Proposito | Formato |\r\n|------|-----------|---------|\r\n| `manual` | Documentacion de usuario | 16:9 (compartir/imprimir) |\r\n| `demo` | Presentaciones comerciales | 16:9 (proyector/screens) |\r\n| `onboarding` | Guia de inicio rapido | 16:9 |\r\n\r\n**Detección automática por framework:**\r\n\r\n| Framework | Módulos UI | Capacidad |\r\n|-----------|-----------|-----------|\r\n| Flet | `src/ui/*.py` + `src/ui/modals/` | desde `src/app.py` (auto-refresh, search, export) |\r\n| SvelteKit | `src/routes/**/+page.svelte` (incluye subrutas dinámicas) | desde `package.json` |\r\n| Lit / React / Vue | `src/components/*.js\\|ts` | desde `package.json` (supabase, PWA, exceljs, charts, tailwind) |\r\n\r\n**Ejemplos:**\r\n\r\n```bash\r\n# Generar manual dentro del repo de la app (theme auto-detectado)\r\ng360 pptx ../g360-ventas-pulse\r\n\r\n# Manual para app CIPSA (auto-detectado desde skill.json)\r\ng360 pptx ../mi-app --mode manual\r\n\r\n# Solo preview del outline\r\ng360 pptx . --dry-run\r\n\r\n# Presentacion 16:9 con tema corporate\r\ng360 pptx . --mode demo --theme corporate --out demo.pptx\r\n```\r\n\r\n**Estructura generada (16:9 widescreen 13.33x7.5in):**\r\n\r\n| # | Slide | Contenido |\r\n|---|-------|-----------|\r\n| 1 | Portada | Nombre + descripcion + tagline + version + logo |\r\n| 2 | ¿Que es? | Descripcion + tarjetas usuario/tecnico + capacidades |\r\n| 3 | Modulos | Tabla de modulos + capturas laterales |\r\n| 4 | Flujo de trabajo | Pasos numerados + capturas |\r\n| 5-N | Features | Una por modulo UI detectado |\r\n| N+1 | Flujos | Modals y workflows (PWA, busqueda en web) |\r\n| N+2 | Arquitectura | Diagrama por capas |\r\n| N+3 | Buenas practicas | Checklist de uso |\r\n| N+4 | Limites conocidos | Solo si el proyecto define `limits` |\r\n| N+5 | Resumen | Sintesis final |\r\n\r\n**Screenshots:**\r\n\r\nColocar imagenes en `assets/screenshots/` para inclusion automatica con encaje proporcional (nunca distorsiona):\r\n- `dashboard.png` — vista principal\r\n- `kpi-card.png`, `modal-export.png` — componentes relevantes\r\n\r\nSi no hay screenshots, se generan placeholders-guia (\"CAPTURA PENDIENTE\") que indican que capturar y donde guardarlo.\r\n\r\n**Temas disponibles** (design tokens unificados en `design-tokens.js`):\r\n\r\n- **`g360`**: Esmeralda `#10B981` sobre slate (default)\r\n- **`cipsa`**: Verde corporativo `#008F5D`, logo CIPSA\r\n- **`corporate`**: Azul marino `#1E40AF`, neutral para apps sin marca\r\n\r\n---\r\n\r\n## Integracion con OpenCode\r\n\r\ng360-cli incluye integración con **OpenCode** para desarrollo asistido por IA. Esta integración permite que los agentes de IA tengan acceso a los recursos de g360-cli durante el desarrollo.\r\n\r\n### Archivo de Skill\r\n\r\nEl archivo `G360-CLI-SKILL.md` contiene toda la información necesaria para que OpenCode:\r\n\r\n- **Recomiende skills apropiados** basándose en el tipo de proyecto\r\n- **Sugiera snippets** relevantes para el contexto de desarrollo\r\n- **Aplique convenciones** del ecosistema G360 automáticamente\r\n- **Genere código** siguiendo los patrones G360\r\n- **Valide compliance** con los estándares G360\r\n\r\n### Configuración de OpenCode\r\n\r\nEl archivo `opencode-config.json` contiene la configuración de integración con OpenCode, incluyendo:\r\n\r\n- Rutas a los recursos de g360-cli\r\n- Comandos disponibles para ejecución\r\n- Convenciones de desarrollo del ecosistema\r\n- Configuración de colores y formato\r\n\r\n### Uso con OpenCode\r\n\r\nPara usar g360-cli con OpenCode:\r\n\r\n1. **Asegúrate de tener el repo local**:\r\n   ```bash\r\n   cd \"C:\\Users\\ccusi\\Documents\\Proyect_Coder\\G360-ecosystem\\projects\\g360-cli\"\r\n   ```\r\n\r\n2. **Ejecuta comandos g360**:\r\n   ```bash\r\n   node src/cli.js list\r\n   node src/cli.js init <nombre> -t <template> -s <skill>\r\n   ```\r\n\r\n3. **OpenCode puede acceder a los recursos**:\r\n   - Skills de identidad visual\r\n   - Snippets de código reutilizables\r\n   - Plantillas de proyecto estandarizadas\r\n   - Componentes G360 predefinidos\r\n   - Convenciones de desarrollo\r\n\r\n### Ejemplos de Interacción\r\n\r\n#### Crear Nuevo Proyecto\r\n\r\n```\r\nUsuario: \"Quiero crear una app web para un cliente corporativo\"\r\nOpenCode: \"Te recomiendo usar el skill 'corporativo-movil' con la plantilla 'web-pwa'. \r\n¿Quieres que inicialice el proyecto con g360 init mi-proyecto --skill corporativo-movil --template web-pwa?\"\r\n```\r\n\r\n#### Agregar Componente\r\n\r\n```\r\nUsuario: \"Necesito un botón con estilo G360\"\r\nOpenCode: \"Puedo usar el snippet 'g360-button' que incluye los estilos G360 estándar. \r\nAquí está el código: <button class='g360-btn'>Click</button>\"\r\n```\r\n\r\n#### Validar Compliance\r\n\r\n```\r\nUsuario: \"Verifica si este proyecto cumple con los estándares G360\"\r\nOpenCode: \"Ejecutaré g360 audit para verificar compliance y te reportaré cualquier problema encontrado.\"\r\n```\r\n\r\n### Recursos Disponibles\r\n\r\n#### Skills de Identidad Visual\r\n\r\n- `corporativo` - Proyectos para clientes - estilo corporativo conservador (PC)\r\n- `corporativo-movil` - Proyectos para clientes - estilo corporativo - enfoque móvil\r\n- `corporativo-g360` - Proyectos para clientes con colores G360 vibrantes (PC)\r\n- `corporativo-g360-movil` - Proyectos para clientes con colores G360 - enfoque móvil\r\n- `moderno` - Herramientas propias G360 - estilo innovador (PC)\r\n- `moderno-movil` - Herramientas propias G360 - estilo innovador (móvil)\r\n- `minimalista` - Proyectos minimalistas - scripts, CLI, Python\r\n- `custom` - Configuración personalizada - colores ajustables\r\n- `flet-desktop` - Aplicaciones de escritorio Flet - estilo moderno G360 (PC)\r\n- `flet-desktop-corporativo` - Aplicaciones Flet para clientes - estilo corporativo conservador\r\n- `cipsa` - Proyectos con marca CIPSA - favicon CIPSA rojo, logo corporativo\r\n- `cipsa-movil` - Apps móviles con marca CIPSA - enfoque móvil\r\n\r\n#### Snippets de Código\r\n\r\n**Python CLI**: `cli-argparse-basic`, `cli-subcommands`, `cli-logging`, `cli-config-json`, `cli-progress-bar`, `cli-env-config`, `cli-exit-codes`\r\n\r\n**Web Components**: `g360-header`, `g360-button`, `g360-card`, `g360-badge`\r\n\r\n**Flet Components**: `flet-page`, `flet-card`, `flet-button`, `flet-nav-rail`, `flet-datatable`, `flet-dialog`, `flet-chart-bar`\r\n\r\n#### Plantillas de Proyecto\r\n\r\n- `web-pwa` - Progressive Web App with offline support\r\n- `svelte-web` - Svelte web application\r\n- `solid-web` - SolidJS web application\r\n- `lit-web` - Lit web application\r\n- `python-cli` - Python command-line tool\r\n- `python-flet` - Python desktop app with Flet framework\r\n- `python-flet-migrate` - Migrate tkinter/ctkinter app to Flet\r\n- `python-customtkinter` - Python desktop app with CustomTkinter\r\n\r\n### Actualización del Skill\r\n\r\nPara mantener la integración con OpenCode actualizada:\r\n\r\n1. **Sincronizar con g360-cli**: Actualizar `G360-CLI-SKILL.md` cuando se agreguen nuevos skills o snippets\r\n2. **Validar comandos**: Verificar que los comandos de g360-cli funcionen correctamente\r\n3. **Documentar cambios**: Agregar nuevas funcionalidades a la documentación\r\n4. **Testing**: Probar las integraciones con OpenCode regularmente\r\n\r\n### Referencias\r\n\r\n- **G360-CLI-SKILL.md**: Documentación completa del skill para OpenCode\r\n- **opencode-config.json**: Configuración de integración con OpenCode\r\n- **AGENTS.md**: Guías de desarrollo para agentes en el ecosistema G360\r\n\r\n---\r\n\r\n## Enlaces\r\n\r\n- [npm](https://www.npmjs.com/package/g360-cli)\r\n- [GitHub](https://github.com/carloscus/g360-cli)\r\n- [Documentación](#)\r\n- [Reportar Issue](https://github.com/carloscus/g360-cli/issues)\r\n---\r\n\r\n**Marca**: G360 · Microherramientas para apoyo CRM y datos en escritorio\r\n**Isotipo**: 3 puntos verticales paralelos (gris-verde-gris) + chevron `>`\r\n**Signature**: G360 by ccusi (`mode: own`, definido en `brand/g360/signature`)\r\n**Powered by**: [g360-signature](https://github.com/carloscus/g360-signature)\r\n\r\n> Identidad generada desde `src/assets/brand/brand.json` (Brand System v2.0.0).\r\n> El logo arriba usa `<picture>` con `prefers-color-scheme` para light/dark.\r\n","readmeFilename":"README.md"}