{"_id":"@cloudcannon/cli","_rev":"20-307595cd891d8761ed14749145d3a1d2","name":"@cloudcannon/cli","dist-tags":{"latest":"0.0.19"},"versions":{"0.0.1":{"name":"@cloudcannon/cli","version":"0.0.1","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.1","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"bigelowcc","email":"liam@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"f49ab51dd77c3ce761005334df3d1175fd0f141c","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.1.tgz","fileCount":21,"integrity":"sha512-QAEXEGbFJBSXTnsI9F4CkScm4v8Kj/RTMHrZRAOzBURywwFVh4m9sGcHb4nuy5DnQLgPOKBPGzWbfgeXchWBfA==","signatures":[{"sig":"MEQCICNHPsEL2niM+kSnEUah/ALDwg2PDKV0NamXK8FNx/gCAiBcUfFIDPKuVcobix2nxtrDwQyYtfRRYRY08GaxrWGOyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56341},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"eaf63cd3b67fbb777b1ce9d5355d97df7efaff26","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"rphillips-cc","email":"ross@cloudcannon.com"},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","@clack/prompts":"1.2.0","@cloudcannon/gadget":"0.0.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11","@cloudcannon/configuration-types":"0.0.54"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.1_1776394185362_0.48883017759686087","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@cloudcannon/cli","version":"0.0.2","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.2","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"c22f6b9a0b9392c1c08e0eb5f6142001c875cf94","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.2.tgz","fileCount":11,"integrity":"sha512-Q44OWVn87BGKHOZ/aVgPp7zFOEdBSaw5OlXG/cINsFHXT//NcORUOzdGjEQWNCHemhEnW+WAqreoh6fSgI8TEg==","signatures":[{"sig":"MEYCIQCwvUf2TrFotvRcADLnR1itcQBtz2xvI0BLNUj3EakppQIhANEyqkjZBQH6fZbrHzTRoKSWbrZrzgeFdgFTTNzSLleK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27815},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"eaf63cd3b67fbb777b1ce9d5355d97df7efaff26","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","@clack/prompts":"1.2.0","@cloudcannon/gadget":"0.0.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11","@cloudcannon/configuration-types":"0.0.54"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.2_1776394447159_0.5326252479407527","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@cloudcannon/cli","version":"0.0.3","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.3","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"71e952d29edf7be2beff058dee7f2474c6cf0c0b","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.3.tgz","fileCount":11,"integrity":"sha512-FctUvF4i9+oWgVhIihw7keLzlJguVav6QSI4+f+/SErSDxhA2JmNXAtzn/Gv7pWeQxGy2GKtWoFAMzbn0sUbWg==","signatures":[{"sig":"MEUCIFlWZpUPVKuDT69QaBusvPhzChlz5wQbQJMx9aAyG6+KAiEA8xs6IxTSTI5rnvQ3s3xyfPkAWAPsN5C3TMotzgH08Jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27835},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"dd0340e709d6b01d920da719e77f84eca3e20db1","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","@clack/prompts":"1.2.0","@cloudcannon/gadget":"0.0.32"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11","@cloudcannon/configuration-types":"0.0.54"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.3_1776395299817_0.3374475492810871","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@cloudcannon/cli","version":"0.0.4","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.4","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"c1ba77ea4cbcfc0af571282d7dd9f1ed3cca8e3e","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.4.tgz","fileCount":29,"integrity":"sha512-J3Nal5GOxoiAkIMTtgXWIMU8/aMAhAq8pi4J3b3HmJ2antxeOS6j5R59nAeSGaTd8UH9j9qO9GH1bXZwEAHPnw==","signatures":[{"sig":"MEYCIQDIjyREDbac9bA+PpMcCyJhIgelxdWCiBHu5d+5W2VsPAIhAMZtd/I6sqEPpLPU8yM7FmeTNJ39OpfcchySoms/0LcM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88755},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"7f397838a8043bd12596478a63e7c569da69dcf6","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.5","@cloudcannon/gadget":"0.0.32","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.4_1780452303306_0.47321328884936875","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@cloudcannon/cli","version":"0.0.5","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.5","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"31b8f9648d3b0d67181ede5cdccdd0e35580cf92","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.5.tgz","fileCount":29,"integrity":"sha512-M2xlJZnGOYsj1kEcveNh9wJ/PcSXpIh3vfSiByTH7sJnFIyP3HOQfZA92YvRw83Y0PryrX2mRLADOSEucb1CvA==","signatures":[{"sig":"MEUCIQCPWCITwOjXDU5h+45ZlCW5k3lGeOrVdd8QjaPsVyB7BAIgcEQIdJ/JEk3cLxu1Zb2bhHKkYeeJraYNm9bxegkN5OA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88756},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"392ddad543303ed7ecb84dcf19c41ff58a175191","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.5","@cloudcannon/gadget":"0.0.32","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.5_1780458647349_0.43495567593191464","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@cloudcannon/cli","version":"0.0.6","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.6","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"4bdc3af3a0fbf25214b947c478e399b1b50c3367","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.6.tgz","fileCount":30,"integrity":"sha512-FIvXFw2pzqp1lIKeyrgnSODs4Aww4Q77h6cwqYl/sU3f91K97u2OuzUHpcL1dPctFjiWXRptq7O5CJLNewcviw==","signatures":[{"sig":"MEUCIQCB+4vn0rHVSAIM+YYOM46/P79xLBZC9l/LjOA4yr35PQIgTfOPIgdanpB9vjFfUkb1XBrsYThzaMixA2I+W5Ckb7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103590},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"9622149ec8540df2bd24a7405eeb121aa31f9d40","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.5","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.6_1780542067274_0.9270325973174096","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@cloudcannon/cli","version":"0.0.7","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.7","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"314c1e69c77cc546abc8578a715e24d42be8649d","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.7.tgz","fileCount":30,"integrity":"sha512-LCZPbCIS26P3ge3Xn/FVQmlet8mD5G5otwFpSciEryZsKySFs2dEd787HSBmoqWPJUNvbCEtgTxVqgAruRhqdQ==","signatures":[{"sig":"MEUCIECfUzw9AjOPRrjDEEd2lcvd5WwpxIeESdhX1hGqOKPVAiEAm4v20XYm3u3jlqxzoCUqR6rjiTHdDXQ2qX1ZEryUgwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109310},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"5899f087bf39e4221b43a81561ba195fc3cf5266","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.6","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.7_1781067860103_0.8188821406062667","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@cloudcannon/cli","version":"0.0.8","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.8","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"7f3bc2dbef7db684a6c85c8a6efff480eb8bff86","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.8.tgz","fileCount":30,"integrity":"sha512-NoEPp0dKAiKFFseb4rj7RWpYcvvjOvs5VizzGGQVh5UfUGZAR9oqptSvylfso6ax9Cj2fosl5vZOoy8vLivm9w==","signatures":[{"sig":"MEYCIQDViZTN+uWk7aynGcyzCRE4bXmufHH3Hwnpjt0SmM9r9QIhANsb2KvnnQ4I4F45G854V+vt1eJpzhjY1/z7lLhmYn9/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109310},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"168c6d1aa68b86a2f9217c3897aff4a9db3559dc","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.7","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.8_1781757572583_0.736480635358461","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@cloudcannon/cli","version":"0.0.9","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.9","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"c61e7e03d52209b2beb5c2257c5186c475ea6f64","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.9.tgz","fileCount":30,"integrity":"sha512-jz1t0Q8k+qvw2nWkL+YmVIbqSzGbv9i5XMza0U2SragtII+sC2gJZAcfkKgHkRZPOaQAeMwvLQl9I8xSAoSVUg==","signatures":[{"sig":"MEQCIDM/9+nAYwRKmDZD5hsAG+JoPJ3ze8A75Gghn7QolWlsAiATdW3z6+Lh4PEP+9EsI+PrFqe3BkRIqAY14A8hD7Hlog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110134},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"42dd058808f8960c804d451e1f7a635949678be5","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.7","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.9_1781833259439_0.5911039362296464","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@cloudcannon/cli","version":"0.0.10","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.10","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"7859ccd27344883ba5c9c875ad4fdb6e942fd759","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.10.tgz","fileCount":30,"integrity":"sha512-ZKUbQxUwbgL+gFnQ5/LM5KoS/rB8aflCGJWgSy1+OxIK+SGGPk1JzIklThC9jrYEtpRe/lqeTOfGvdVMiTMF5Q==","signatures":[{"sig":"MEUCIQC16vRLUsTQ8mYX7YQzY1d3DX0PNGHA863VVirgXfhuqgIgJWscvqJbCKzCjkQEY0xVxHyr4Sb2RJ6Ry5utK/M/4uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128474},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"25b9856be32ca6f6ff4928f8390178f3fdfbb957","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.8","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.10_1782966134557_0.9480414954781766","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@cloudcannon/cli","version":"0.0.11","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.11","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"79d35d0eef04bb54e074d5f3b831c2ded1a3694d","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.11.tgz","fileCount":38,"integrity":"sha512-6GWqnwJILI8/IgDO0g+oqVGn/S/ZRICp2sSL6MknXWDwzeztePY6lHIaNFlPlGAEVN/f34OYOvk4qGJZQKAKkg==","signatures":[{"sig":"MEUCIQCjXV5h/E10Me4MMVAFPdeBwzSN6pQMeaM4XMjLYg/5swIge+gcWxyfPLjsBBIOSSJcFUAKKXNrEszkyZn8nMjG1f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":159518},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"d51ce4850dae05694072cf455b4c983327177190","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.8","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.11_1783496827909_0.2006948791411889","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@cloudcannon/cli","version":"0.0.12","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.12","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"c010a05b68fbd67083af45a3510dc078fb309e61","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.12.tgz","fileCount":39,"integrity":"sha512-weY/V+m10WGvmbt9DYfRRNKRsBP0VVYOx1lx9hXwyTd423MYpugT4jBF+p2n8hTQ92VwddtLMkDKVPxzRbKiJw==","signatures":[{"sig":"MEYCIQDMjzi2SjEimV07lqhEQkt6DRY3uQXZAs69sIyB59eYtAIhANbAf2tjjqRRNis99XlhapegiGEIAeIs9vtcWA+9/BeQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167869},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"674c8b9cbc2c5f85575f98cbfd8d65b82613f930","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.8","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.12_1784251275959_0.2340834076018461","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@cloudcannon/cli","version":"0.0.13","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.13","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"8376cfa4ad7d2bd2ceed67e7077e07ed4d3bba06","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.13.tgz","fileCount":39,"integrity":"sha512-bbPjwmM6EfT+wFQuYnZQMTvZ8tMc7ttj1dO1onl2qrY9JJtNOUqVI/UCwXkMj6IuOzoS4m2oRLWE5g/c6vAYLg==","signatures":[{"sig":"MEQCIDXsgEjLGOgot9XPrOHzlXqY9WtZHJVhDSgOuvDGWCTcAiBXWhHdTqDzzpsurwK4VHXUqEqHQvA7Y4Ui3lcRBEtK2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167869},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"a9f5621ebe68f75fd3fc340f89d6e4ea7111a1ff","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.9","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.13_1784283087655_0.4790132149437596","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@cloudcannon/cli","version":"0.0.14","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.14","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"60a4620538ecd1350aab36653a890ab619641d67","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.14.tgz","fileCount":39,"integrity":"sha512-IU+05VZgQAnoDbRgMrqvnLICFg+0ZcyeZbhnzw6q+NdKOol+E+ggYSTuRlEtv8FcSXQuphEnNDoa4OthNtsGdw==","signatures":[{"sig":"MEYCIQC15O1pLkSmDTKrjQB0O8wkfu84rBcbOXOIk8pZHCkQWgIhAK/10U5/oxo9VwRpCOkoL2VE6902O+2OaNv+GOtPhAu5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167984},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"73b436409b6a9f7d93e9ea501169a3b85a2a11ef","scripts":{"lint":"biome check && tsc --noEmit","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ajv":"8.20.0","yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.10","@cloudcannon/gadget":"0.0.33","fastest-levenshtein":"1.0.16","@cloudcannon/configuration-types":"0.0.58","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.14_1785211218472_0.19124603864673984","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@cloudcannon/cli","version":"0.0.15","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.15","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"c78fe4f62530f546af64550b4cf10a381c82aa0b","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.15.tgz","fileCount":41,"integrity":"sha512-wAm0PAEpY9PkSqZVzeiWhOpEACfLmxaeI0P+gBNsZ5Ma0Z4ma9KN4JzwjcVZTrGyqjPJfRoQ5bwhnSpJjOM2kg==","signatures":[{"sig":"MEUCIQDeBoJzxy00bZARHUtSq/tJ+/K0sOo+3P5UpjK8YKprIQIgQrPzUFxxXo5sCVCCf95Fs1MMYFOIuBlbShcIF+xDlLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182533},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js"},"gitHead":"20d52fcbc9747143a6c3176ffea78910bc427e3b","scripts":{"lint":"biome check && tsc --noEmit && tsc -p tests && tsc -p scripts","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates && node scripts/generate-docs.ts","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.10","@cloudcannon/gadget":"0.0.33","@cloudcannon/configuration-types":"0.0.60","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.15_1786061062045_0.17470748680478043","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@cloudcannon/cli","version":"0.0.16","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.16","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"e7a206c109c6b6d5e3444c4ef50274f049b2f01f","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.16.tgz","fileCount":41,"integrity":"sha512-EGlQjgyQCpFQPqV/TxfwWp8XAysqL1ZtCJN9uW74noxtk0SHoJnsrQ5EEr6hqbFdW+8US6rY8/3VyWytUcN26Q==","signatures":[{"sig":"MEUCIQDjp4cMQEee14xfXT0v9zS/fN/tcS5PEuMGiS1JCVezfAIgTonUNW99WjIy1NiA8/EvsI4TF9fihkhGwe5EcevVcvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182588},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js","./documentation.json":"./dist/documentation.json"},"gitHead":"85636fcae42fb8884166b97b5d1f87e7308d5e8a","scripts":{"lint":"biome check && tsc --noEmit && tsc -p tests && tsc -p scripts","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates && node scripts/generate-docs.ts","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.10","@cloudcannon/gadget":"0.0.33","@cloudcannon/configuration-types":"0.0.60","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.16_1786067496868_0.1254701240113334","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@cloudcannon/cli","version":"0.0.17","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.17","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"4bb1dcd63b98ecded74d45df29a9889a4d5eae41","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.17.tgz","fileCount":41,"integrity":"sha512-h0jIQkDi0P6y5XlaQ+afEzkBPbp6jljcXVHTBxCZkPjWFLpS5bG5wx48h4EuufROisHoLyttp4haUJy06WWGSA==","signatures":[{"sig":"MEYCIQCOXUqRcdSDfRB2DwPhcddNcuWfcceKy/goTDnTGt3ntwIhAKbKCD8pCWnJFOhydo+BGpXEduibVrdSboEjNH9z6zwx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182585},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js","./documentation.json":"./dist/documentation.json"},"gitHead":"b896d1108900add627072d1c95c2251ae2de9a8c","scripts":{"lint":"biome check && tsc --noEmit && tsc -p tests && tsc -p scripts","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates && node scripts/generate-docs.ts","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.10","@cloudcannon/gadget":"0.0.33","@cloudcannon/configuration-types":"0.0.60","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.17_1786569474145_0.5857070262229334","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@cloudcannon/cli","version":"0.0.18","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","_id":"@cloudcannon/cli@0.0.18","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"homepage":"https://github.com/CloudCannon/cli#readme","bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"bin":{"cloudcannon":"dist/index.js"},"dist":{"shasum":"7ba2254d624f37d59f24e6c3d9ac4eeaa6939fbd","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.18.tgz","fileCount":41,"integrity":"sha512-lGJvTvVoksCWA95U8AzHmqlykO/5f+QEmK7Is7P5ETfRUFFvXDAk8GjxDWvTDG7Ft4XuNEw08C2Ox/nfeE0HNg==","signatures":[{"sig":"MEUCIG0AOUisw64dPnerl/0ADwI3MRN7nMz8sG5oBhI1ULhVAiEAwGh2nY4lwOO8pE3eTy7HYjK7eCJjQobNVRmqSpv6t3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182936},"main":"dist/index.js","type":"module","engines":{"node":">=24"},"exports":{".":"./dist/index.js","./documentation.json":"./dist/documentation.json"},"gitHead":"0164fb1aabdef5f8d5a3a03ab1a0776b6b5291ee","scripts":{"lint":"biome check && tsc --noEmit && tsc -p tests && tsc -p scripts","test":"node --test","build":"tsc && cp -R ./src/templates/ ./dist/templates && node scripts/generate-docs.ts","lint:fix":"biome check --fix","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"devEngines":{"packageManager":{"name":"npm"}},"repository":{"url":"git+https://github.com/CloudCannon/cli.git","type":"git"},"_npmVersion":"11.11.0","description":"Command line interface for the CloudCannon CMS.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.8.3","citty":"0.2.2","ignore":"7.0.5","chokidar":"^4.0.3","@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/sdk":"0.0.12","@cloudcannon/gadget":"0.0.33","@cloudcannon/configuration-types":"0.0.60","@cloudcannon/configuration-loader":"0.0.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"toolproof":"0.18.0","typescript":"6.0.2","@types/node":"25.6.0","@biomejs/biome":"2.4.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.18_1786578511309_0.050959102929807765","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@cloudcannon/cli","type":"module","version":"0.0.19","description":"Command line interface for the CloudCannon CMS.","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"homepage":"https://github.com/CloudCannon/cli#readme","repository":{"type":"git","url":"git+https://github.com/CloudCannon/cli.git"},"bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"exports":{".":"./dist/index.js","./documentation.json":"./dist/documentation.json"},"main":"dist/index.js","bin":{"cloudcannon":"dist/index.js"},"scripts":{"build":"tsc && cp -R ./src/templates/ ./dist/templates && node scripts/generate-docs.ts","test":"node --test","test:watch":"node --test --watch","test:coverage":"node --test --test-coverage --test-reporter=lcov --test-reporter-destination=lcov.info","test:toolproof":"toolproof --placeholders dist_dir=$PWD/dist test_sites=$PWD/toolproof-tests/test-sites","lint":"biome check && tsc --noEmit && tsc -p tests && tsc -p scripts","lint:fix":"biome check --fix"},"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"devDependencies":{"@biomejs/biome":"2.4.11","@types/node":"25.6.0","toolproof":"0.18.0","typescript":"6.0.2"},"engines":{"node":">=24"},"devEngines":{"packageManager":{"name":"npm"}},"publishConfig":{"access":"public"},"license":"ISC","dependencies":{"@bomb.sh/tab":"0.0.15","@clack/prompts":"1.2.0","@cloudcannon/configuration-loader":"0.0.10","@cloudcannon/configuration-types":"0.0.60","@cloudcannon/gadget":"0.0.33","@cloudcannon/sdk":"0.0.13","chokidar":"^4.0.3","citty":"0.2.2","ignore":"7.0.5","yaml":"2.8.3"},"gitHead":"5b5fbe218db255337a148e0c600bd34acaf2daaf","_id":"@cloudcannon/cli@0.0.19","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-KQ59uVUP3l8RlxWF9Z99RU9t7KRP08NNgx4Hp+pl502lB/djW17Vbde0v4xOfjahv9HkiSTFQxDpuW1VPmR9dQ==","shasum":"6ca8082757636a6751904d65b5f2fca9bd53c1f9","tarball":"https://registry.npmjs.org/@cloudcannon/cli/-/cli-0.0.19.tgz","fileCount":41,"unpackedSize":186455,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cloudcannon%2fcli@0.0.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGzpgkmuR84FXqdYmv5hbP6IvPB77e27yY2Li0t+CrBSAiBGo/Y+ydAqLqxWCzwsjl/wMhZWYuZsBiP3uGO1R7mbSA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13336317-ac70-4281-a6a5-c14620fbfb82"}},"directories":{},"maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.19_1787191322560_0.1975725921066469"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-17T02:49:45.244Z","modified":"2026-08-20T02:02:03.049Z","0.0.1":"2026-04-17T02:49:45.506Z","0.0.2":"2026-04-17T02:54:07.327Z","0.0.3":"2026-04-17T03:08:19.964Z","0.0.4":"2026-06-03T02:05:03.455Z","0.0.5":"2026-06-03T03:50:47.465Z","0.0.6":"2026-06-04T03:01:07.439Z","0.0.7":"2026-06-10T05:04:20.244Z","0.0.8":"2026-06-18T04:39:32.729Z","0.0.9":"2026-06-19T01:40:59.626Z","0.0.10":"2026-07-02T04:22:14.691Z","0.0.11":"2026-07-08T07:47:08.086Z","0.0.12":"2026-07-17T01:21:16.111Z","0.0.13":"2026-07-17T10:11:27.807Z","0.0.14":"2026-07-28T04:00:18.612Z","0.0.15":"2026-08-07T00:04:22.212Z","0.0.16":"2026-08-07T01:51:37.011Z","0.0.17":"2026-08-12T21:17:54.276Z","0.0.18":"2026-08-12T23:48:31.462Z","0.0.19":"2026-08-20T02:02:02.715Z"},"bugs":{"url":"https://github.com/CloudCannon/cli/issues","email":"support@cloudcannon.com"},"author":{"name":"CloudCannon","email":"support@cloudcannon.com"},"license":"ISC","homepage":"https://github.com/CloudCannon/cli#readme","keywords":["cloudcannon","cms","cli","static site generator","configuration"],"repository":{"type":"git","url":"git+https://github.com/CloudCannon/cli.git"},"description":"Command line interface for the CloudCannon CMS.","maintainers":[{"name":"tate-cc","email":"tate@cloudcannon.com"},{"name":"ryan-collins","email":"ryan@cloudcannon.com"},{"name":"rphillips-cc","email":"ross@cloudcannon.com"},{"name":"gphillips_nz","email":"george@cloudcannon.com"}],"readme":"# CloudCannon CLI\n\nCommand line interface for the CloudCannon CMS.\n\n[![npm version](https://img.shields.io/npm/v/@cloudcannon/cli)](https://www.npmjs.com/package/@cloudcannon/cli)\n\n## Highlights\n\n- Generates CloudCannon configuration files interactively or non-interactively.\n- Detects your static site generator automatically, works with Astro, Bridgetown, Docusaurus, Eleventy, Gatsby, Hexo, Hugo, Jekyll, Lume, MkDocs, Next.js, Nuxt, Sphinx, SvelteKit.\n- Suggests collections, build commands, and output paths based on your project.\n- Validates CloudCannon configuration files against the schema, including split configuration files.\n- Runs a local dev server that loads the CloudCannon app against your local files, with live sync in both directions.\n- Manage organisations, sites, builds, files, and form submissions via the CloudCannon API.\n\n## Install\n\n```sh\nnpm install --global @cloudcannon/cli\n```\n\n## Authentication\n\nCommands that interact with the CloudCannon API require authentication. You can authenticate using:\n\n### User Access Key (Recommended)\n\nLog in with your CloudCannon account interactively with your web browser:\n\n```sh\ncloudcannon login\n```\n\nFor non-interactive environments, you can provide your access key via command line flags:\n\n```sh\ncloudcannon login --access-key-id <id> --access-key-secret <secret>\n```\n\nOr set environment variables:\n\n```sh\nexport CC_ACCESS_KEY_ID=your_key_id\nexport CC_ACCESS_KEY_SECRET=your_key_secret\n```\n\n### API Key\n\nAlternatively, set the `CLOUDCANNON_API_KEY` environment variable:\n\n```sh\nexport CLOUDCANNON_API_KEY=your_api_key\n```\n\n### Logout\n\nTo log out and remove stored credentials:\n\n```sh\ncloudcannon logout\n```\n\n## Shell completions\n\nEnable tab completion for your shell by adding the following to your shell config:\n\n```sh\n# zsh\necho 'source <(cloudcannon complete zsh)' >> ~/.zshrc\n\n# bash\necho 'source <(cloudcannon complete bash)' >> ~/.bashrc\n\n# fish\necho 'cloudcannon complete fish | source' >> ~/.config/fish/config.fish\n```\n\n## Usage\n\n```\ncloudcannon <command> [args] [flags]\n```\n\nRun without arguments to see available commands:\n\n```sh\ncloudcannon --help\n```\n\n## Commands\n\n### `login`\n\nLog in to your CloudCannon account using a user access key.\n\n```sh\ncloudcannon login\ncloudcannon login --access-key-id <id> --access-key-secret <secret>\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--access-key-id <string>` | Access key ID for non-interactive login |\n| `--access-key-secret <string>` | Access key secret for non-interactive login |\n\n---\n\n### `logout`\n\nLog out and remove stored credentials.\n\n```sh\ncloudcannon logout\n```\n\n---\n\n### `configure generate [path]`\n\nGenerate a `cloudcannon.config.yml` file for your site. Runs interactively by default.\n\n```sh\ncloudcannon configure generate\ncloudcannon configure generate ./my-site\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--auto` | Non-interactive, accept all suggestions | `false` |\n| `--dry-run` | Print output without writing files | `false` |\n| `--format <yaml\\|json>` | Output format | `yaml` |\n| `--output <path>` | Custom output file path | |\n| `--ssg <name>` | Override SSG detection | |\n| `--source <path>` | Override source folder | |\n| `--mode <hosted\\|headless>` | Mode for initial site settings | `hosted` |\n| `--initial-site-settings` | Also generate `.cloudcannon/initial-site-settings.json` | `false` |\n| `--initial-site-settings-only` | Only generate `.cloudcannon/initial-site-settings.json` | `false` |\n| `--install-command <cmd>` | Override detected install command | |\n| `--build-command <cmd>` | Override detected build command | |\n| `--output-path <path>` | Override detected output path | |\n\n---\n\n### `configure detect-ssg [path]`\n\nDetect the static site generator used by your site.\n\n```sh\ncloudcannon configure detect-ssg\ncloudcannon configure detect-ssg ./my-site\n```\n\nOutputs JSON with the detected SSG and confidence scores for all supported generators.\n\n---\n\n### `configure detect-source [path]`\n\nDetect the source folder for your site.\n\n```sh\ncloudcannon configure detect-source\ncloudcannon configure detect-source ./my-site --ssg jekyll\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--ssg <name>` | Override SSG detection |\n\n---\n\n### `configure detect-collections [path]`\n\nList the collections detected in your site.\n\n```sh\ncloudcannon configure detect-collections\ncloudcannon configure detect-collections ./my-site --ssg astro\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--ssg <name>` | Override SSG detection |\n| `--source <path>` | Override source folder |\n\n---\n\n### `configure detect-build-commands [path]`\n\nShow suggested build commands for your site.\n\n```sh\ncloudcannon configure detect-build-commands\ncloudcannon configure detect-build-commands ./my-site --ssg hugo\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--ssg <name>` | Override SSG detection |\n| `--source <path>` | Override source folder |\n\n---\n\n### `validate [path]`\n\nValidate CloudCannon configuration files against the schema.\n\n```sh\ncloudcannon validate\ncloudcannon validate ./my-site\n```\n\nBy default validates all configuration files found: `cloudcannon.config.yml`, `.cloudcannon/initial-site-settings.json`, `.cloudcannon/routing.json`, and any split configuration files.\n\nUse `--stdin` to read from stdin. Exactly one of `--configuration`, `--initial-site-settings`, or `--routing` must also be set to indicate the type of file being piped:\n\n```sh\ncat cloudcannon.config.yml | cloudcannon validate --stdin --configuration\n```\n\n> **Note:** When reading from stdin, split configuration files referenced via `*_from_glob` keys are not validated. Run `cloudcannon validate` on a directory to validate split configuration files.\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--configuration` | Validate only the CloudCannon configuration file and any split configuration files |\n| `--initial-site-settings` | Validate only `.cloudcannon/initial-site-settings.json` |\n| `--routing` | Validate only `.cloudcannon/routing.json` |\n| `--configuration-path <path>` | Path to the CloudCannon configuration file, overrides `path` search |\n| `--stdin` | Read from stdin instead of files on disk |\n\n---\n\n### `dev [outputPath]`\n\nRun a local dev server that loads the CloudCannon app in your browser, pointed at your local site files. This lets you preview and edit your site in CloudCannon without deploying.\n\nFile changes on disk are pushed to the app in real time, and edits made in the app are written back to disk.\n\n```sh\ncloudcannon dev output\ncloudcannon dev ./_site --port 3000\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--host <host>` | The IP address for the dev server to listen on | `127.0.0.1` |\n| `--port <port>` | Port to run the dev server on | `10101` |\n| `--live-sync` / `--no-live-sync` | Push disk file changes to the app | `true` |\n| `--app-sync` / `--no-app-sync` | Accept app-initiated file writes (uploads, moves, deletes) to disk | `true` |\n| `--verbose` | Log every request (method, path, status, duration) | `false` |\n\n---\n\n### `orgs list`\n\nList all organisations.\n\n```sh\ncloudcannon orgs list\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--page <n>` | Page number to fetch |\n| `--items <n>` | Number of items per page |\n| `--sort-by <field>` | Field name to sort by |\n| `--sort-direction <ASC\\|DESC>` | Sort direction |\n| `--filter <key=value,key=value>` | Comma-separated key=value pairs to filter by |\n\n---\n\n### `orgs get [org]`\n\nGet an organization by name, ID, or UUID. If you belong to only one organization, it is selected automatically.\n\n```sh\ncloudcannon orgs get --org my-org\ncloudcannon orgs get\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--org <name\\|id\\|uuid>` | The organization name, ID, or UUID |\n\n---\n\n### `orgs sites list [org]`\n\nList all sites for an organization. If you belong to only one organization, it is selected automatically.\n\n```sh\ncloudcannon orgs sites list --org my-org\ncloudcannon orgs sites list\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--org <name\\|id\\|uuid>` | The organization name, ID, or UUID |\n| `--page <n>` | Page number to fetch |\n| `--items <n>` | Number of items per page |\n| `--sort-by <field>` | Field name to sort by |\n| `--sort-direction <ASC\\|DESC>` | Sort direction |\n| `--filter <key=value,key=value>` | Comma-separated key=value pairs to filter by |\n\n---\n\n### `orgs inboxes list [org]`\n\nList all inboxes for an organization. If you belong to only one organization, it is selected automatically.\n\n```sh\ncloudcannon orgs inboxes list --org my-org\ncloudcannon orgs inboxes list\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--org <name\\|id\\|uuid>` | The organization name, ID, or UUID |\n| `--page <n>` | Page number to fetch |\n| `--items <n>` | Number of items per page |\n| `--sort-by <field>` | Field name to sort by |\n| `--sort-direction <ASC\\|DESC>` | Sort direction |\n| `--filter <key=value,key=value>` | Comma-separated key=value pairs to filter by |\n\n---\n\n### `sites list`\n\nList all sites across all organisations.\n\n```sh\ncloudcannon sites list\n```\n\n---\n\n### `sites create [source]`\n\nCreate a new site connected to a git repository. The `source` positional is a git remote URL with an optional `#branch` suffix.\n\n```sh\n# Interactive — prompts for org, name, and source\ncloudcannon sites create\n\n# Non-interactive — all fields provided\ncloudcannon sites create --org my-org --name my-site https://github.com/owner/repo.git#main\n```\n\nRun without all required fields to get interactive prompts for the missing pieces. If you belong to only one organization, it is selected automatically — use `--org` to override. The source URL defaults to your local `git remote get-url origin` if available. After creating the site, a link to open it in CloudCannon is printed.\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--org <name\\|id\\|uuid>` | The organization name, ID, or UUID |\n| `--name <string>` | The site name |\n\nSupported git hosts: `github.com`, `gitlab.com`, `bitbucket.org`.\n\n---\n\n### `sites get --site <name|id|uuid|domain>`\n\nGet a site by name, ID, UUID, or domain.\n\n```sh\ncloudcannon sites get --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites rebuild --site <name|id|uuid|domain>`\n\nTrigger a rebuild for a site.\n\n```sh\ncloudcannon sites rebuild --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites update-build-config --site <name|id|uuid|domain>`\n\nUpdate the build configuration for a site.\n\n```sh\ncloudcannon sites update-build-config --site my-site --ssg hugo\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n| `--ssg <name>` | Static site generator name |\n| `--building-locked` / `--no-building-locked` | Lock the site from building |\n| `--default-locale <locale>` | Default locale for i18n |\n| `--install-command <cmd>` | Override install command |\n| `--build-command <cmd>` | Override build command |\n| `--output-path <path>` | Override output path |\n| `--preserved-paths <paths>` | Comma-separated preserved paths |\n| `--hugo-version <version>` | Hugo version |\n| `--node-version <version>` | Node version |\n| `--ruby-version <version>` | Ruby version |\n| `--deno-version <version>` | Deno version |\n| `--preserve-output` / `--no-preserve-output` | Preserve previous output |\n| `--include-git` / `--no-include-git` | Include git history in build |\n| `--environment-variables <key=value>` | Comma-separated environment variables |\n\n`--environment-variables` accepts a comma-separated list of `key=value` pairs:\n\n```sh\ncloudcannon sites update-build-config --site my-site --environment-variables \"NODE_ENV=production,API_KEY=secret\"\n```\n\nThe `...` token inserts the site's existing environment variables in place, so you can add to them rather than replace them:\n\n```sh\ncloudcannon sites update-build-config --site my-site --environment-variables \"API_KEY=secret,...\"\n```\n\nPass an empty string to clear all environment variables:\n\n```sh\ncloudcannon sites update-build-config --site my-site --environment-variables \"\"\n```\n\n---\n\n### `sites files list --site <name|id|uuid|domain>`\n\nList files from a site.\n\n```sh\ncloudcannon sites files list --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites files get --site <name|id|uuid|domain> [path]`\n\nGet the contents of a file from a site.\n\n```sh\ncloudcannon sites files get --site my-site index.html\ncloudcannon sites files get --site my-site index.html --output ./local-index.html\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n| `--output <path>` | Path to save the file to. If not provided then the file is printed to STDOUT |\n\n---\n\n### `sites files upload --site <name|id|uuid|domain> [localPath] [path]`\n\nUpload a file to a site.\n\n```sh\ncloudcannon sites files upload --site my-site ./local-file.html /uploaded-file.html\ncloudcannon sites files upload --site my-site ./local-file.html /uploaded-file.html --allow-overwrite\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n| `--type <mime>` | MIME type of the file | |\n| `--allow-overwrite` | Overwrite the destination if it already exists | `false` |\n\n---\n\n### `sites files move --site <name|id|uuid|domain> [src] [dest]`\n\nMove a file within a site editing session.\n\n```sh\ncloudcannon sites files move --site my-site content/old.md content/new.md\ncloudcannon sites files move --site my-site content/old.md content/new.md --allow-overwrite\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n| `--allow-overwrite` | Overwrite the destination if it already exists | `false` |\n\n---\n\n### `sites files clone --site <name|id|uuid|domain> [src] [dest]`\n\nClone a file to a new path within a site editing session. The source file is left unchanged.\n\n```sh\ncloudcannon sites files clone --site my-site content/post.md content/post-copy.md\ncloudcannon sites files clone --site my-site content/post.md content/post-copy.md --allow-overwrite\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n| `--allow-overwrite` | Overwrite the destination if it already exists | `false` |\n\n---\n\n### `sites files delete --site <name|id|uuid|domain> [target]...`\n\nDelete one or more files within a site editing session. The files are removed from the repository on commit.\n\n```sh\ncloudcannon sites files delete --site my-site content/old.md\ncloudcannon sites files delete --site my-site content/a.md content/b.md --discard-unsaved\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n| `--discard-unsaved` | Discard any unsaved edits to the files | `false` |\n\n---\n\n### `sites files restore --site <name|id|uuid|domain> [target]...`\n\nRestore one or more deleted files within a site editing session, removing the pending delete entries.\n\n```sh\ncloudcannon sites files restore --site my-site content/old.md\ncloudcannon sites files restore --site my-site content/a.md content/b.md\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n\n---\n\n### `sites files discard --site <name|id|uuid|domain> [target]...`\n\nDiscard one or more session files from a site editing session, permanently deleting their pending edits.\n\n```sh\ncloudcannon sites files discard --site my-site content/old.md\ncloudcannon sites files discard --site my-site content/a.md content/b.md\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n\n---\n\n### `sites files list-edits --site <name|id|uuid|domain>`\n\nList pending edits on the site's current editing session.\n\n```sh\ncloudcannon sites files list-edits --site my-site\ncloudcannon sites files list-edits --site my-site --verbose\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n| `--verbose` | Print the full objects returned by the API | `false` |\n\n---\n\n### `sites files commit --site <name|id|uuid|domain> [path]...`\n\nCommit a site editing session, pushing changes to the connected repository.\n\n```sh\ncloudcannon sites files commit --site my-site --all\ncloudcannon sites files commit --site my-site content/a.md content/b.md --message \"Publish posts\"\n```\n\n**Flags**\n\n| Flag | Description | Default |\n|---|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) | |\n| `--all` | Commit all files in the editing session | `false` |\n| `--message <msg>` | Commit message | |\n\n---\n\n### `sites builds list --site <name|id|uuid|domain>`\n\nList builds for a site.\n\n```sh\ncloudcannon sites builds list --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n| `--page <n>` | Page number to fetch |\n| `--items <n>` | Number of items per page |\n| `--sort-by <field>` | Field name to sort by |\n| `--sort-direction <ASC\\|DESC>` | Sort direction |\n| `--filter <key=value,key=value>` | Comma-separated key=value pairs to filter by |\n\n---\n\n### `sites print-last-build --site <name|id|uuid|domain>`\n\nPrint the logs for the most recent build of a site.\n\n```sh\ncloudcannon sites print-last-build --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites print-last-failed-build --site <name|id|uuid|domain>`\n\nPrint the logs for the most recent failed build of a site.\n\n```sh\ncloudcannon sites print-last-failed-build --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites print-last-sync --site <name|id|uuid|domain>`\n\nPrint the logs for the most recent sync of a site.\n\n```sh\ncloudcannon sites print-last-sync --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `sites print-last-failed-sync --site <name|id|uuid|domain>`\n\nPrint the logs for the most recent failed sync of a site.\n\n```sh\ncloudcannon sites print-last-failed-sync --site my-site\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--site <name\\|id\\|uuid\\|domain>` | The site name, ID, UUID, or domain (required) |\n\n---\n\n### `builds print-logs --build <uuid>`\n\nPrint the logs for a build.\n\n```sh\ncloudcannon builds print-logs --build <uuid>\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--build <uuid>` | The build UUID (required) |\n\n---\n\n### `inboxes submissions list --inbox <name|id|key|uuid>`\n\nList submissions for an inbox.\n\n```sh\ncloudcannon inboxes submissions list --inbox my-inbox\n```\n\n**Flags**\n\n| Flag | Description |\n|---|---|\n| `--inbox <name\\|id\\|key\\|uuid>` | The inbox name, ID, key, or UUID (required) |\n| `--page <n>` | Page number to fetch |\n| `--items <n>` | Number of items per page |\n| `--sort-by <field>` | Field name to sort by |\n| `--sort-direction <ASC\\|DESC>` | Sort direction |\n| `--filter <key=value,key=value>` | Comma-separated key=value pairs to filter by |\n\n---\n\n## Development\n\nRunning toolproof tests:\n\n```sh\nnpm run test:toolproof\nnpm run test:toolproof -- -i\n```\n\n## Related\n\n- [CloudCannon](https://cloudcannon.com) — The CMS this tool configures.\n- [cloudcannon.config reference](https://cloudcannon.com/documentation/articles/cloudcannon-configuration-reference/) — Full configuration reference.\n- [@cloudcannon/gadget](https://github.com/CloudCannon/gadget) — The detection library powering this CLI.\n\n## License\n\nISC © [CloudCannon](https://cloudcannon.com)\n","readmeFilename":"README.md"}