{"_id":"@aftyne/bercy","_rev":"7-ffa1cb21ed02a94674e73e6e4f24ee08","name":"@aftyne/bercy","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@aftyne/bercy","version":"1.0.0","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.0","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"fbddcf43bc8a24876bff0bc3b726675e0c06224a","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.0.tgz","fileCount":5,"integrity":"sha512-xoyR5RVgzW7n3CYbpAzn2IT+YYXqym5NoFlvYe+eiiZhIA9xkWDBXREnDac9HAjzzAI0wldjJR/lRbR28bsA/g==","signatures":[{"sig":"MEYCIQDv3UZUDYIGRh22ynv/52804o6dYW2yYh9nX/ThyIL2tQIhALLumpKvpXJHhWZBeM/TqSSaDlT7EZ1PH7C6OvxjChfm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39692},"type":"commonjs","gitHead":"5f7de3bf0e06ed911b224c05871c2b4bed802772","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.0_1779178261342_0.5009372374106746","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aftyne/bercy","version":"1.0.1","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.1","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"dc72c98906d2f82279288f6df9cbe3fd8d4bb6fa","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.1.tgz","fileCount":5,"integrity":"sha512-blwaRfYg1D53d8t/s0g5JK2cOP7yDrmN2aKpPYW4VZmy5SNpdogmSiEOWo/gpP3pmr+QC1mUSoclIMpS3Mdz9Q==","signatures":[{"sig":"MEQCIBTr6IR0XzOml3sqC6z8Z+eQeplO75cA2mXVrSl81V1KAiBvujVTrE9Qk+lTzpT+loAvZH7Fn8jhUiBpox29XWmL1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39696},"type":"commonjs","gitHead":"422e3b11b377af23600f3196f1d2d4247af88cbe","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.1_1779179484439_0.256496222766631","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@aftyne/bercy","version":"1.0.12","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.12","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"13b99fce98bbb57a7c27952593d63dd8ff77d40a","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.12.tgz","fileCount":5,"integrity":"sha512-F0l3Hcw+pzDcWKx9x2BXqPSLo9uepjvqOJ1VKaQ0NLqbnGjxrCupSrfmHXQKENQcpznxCfJWOCfd2dFPgxOAug==","signatures":[{"sig":"MEYCIQDub6ipHJkKeKalDbwmT/V0YCQNpUiLbnM8M7x43BZ1LQIhAPDltZcSSssOgQ9NbtzlAwtBJztGydV6vwSy7GflFD1S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39692},"type":"commonjs","gitHead":"72571efae12697c9866498773241b4a5155fb360","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.12_1779181334214_0.5776244311564958","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@aftyne/bercy","version":"1.0.13","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.13","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"5d39d2649189e5d1ba3adbd7de47a0bd30577b7e","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.13.tgz","fileCount":5,"integrity":"sha512-S2aCIgkNo5gG5vZWR6PC4325e5i1TbuVXHzMGS4eBkx4nhaCsCTnqtRhL0YRAKIZKDhU4sHAOm5XMTzs8Yz03A==","signatures":[{"sig":"MEQCIGNqhSe4fRyzur/IjHBFl3upzMk5ttajGmxGoTxSZukLAiBSaEgfYyfDIutHn5zOsJiO2hLQNsS3hE/dChDA8Y9M8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39621},"type":"commonjs","gitHead":"b09c350d3d93082b82407f84c7c448fc177fa600","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.13_1779182165031_0.1644241049185844","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@aftyne/bercy","version":"1.0.14","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.14","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"a2dd3d12ca88c4f0da6507f587c39c6080a51046","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.14.tgz","fileCount":5,"integrity":"sha512-mqSu1VUyUSLnjmw7lyD2KE1Sqbg9B5gGY33VxTo4hqJKee0g3OhxFg4wD7FyCRvBDp7WSfUk8tUR89tX8njgqw==","signatures":[{"sig":"MEUCIH3guglSedf/IcLxEjjBXwarjgYTQgnudDNep9Tcxi8eAiEAvlS04UmwgVw6rt7zRSocbiWoPKFFC3PEnH2llaIpwRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37730},"type":"commonjs","gitHead":"e530432cd023a51ff57596ddf98d92d97f00af0c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.14_1779182800981_0.9153734200825707","host":"s3://npm-registry-packages-npm-production"}},"1.0.145":{"name":"@aftyne/bercy","version":"1.0.145","keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","_id":"@aftyne/bercy@1.0.145","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"homepage":"https://github.com/aftyne/bercy#readme","bugs":{"url":"https://github.com/aftyne/bercy/issues"},"bin":{"bercy":"bin/cli.js"},"dist":{"shasum":"f897f4d90f05d90cacb18bfa0df9d2ec1d4ae143","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.0.145.tgz","fileCount":5,"integrity":"sha512-UbZ3kssgA4GkptD7yBIsP5lI+ZRHaHkIPZ73Ued2Ze2C/0eGv76ICtjSSEL9O7o5o3kxFAZ0hzlN8dGVSj9D2g==","signatures":[{"sig":"MEUCIQDx0NLQYQWSe/wAI9H1RuXAGYqsooDZD+rQw8kZAvJQEgIgRGOa9Ou6Ia05l7OOaNsxS1Et/gXYKUR70Vdi1TcmAds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38111},"type":"commonjs","gitHead":"740f7ac8c64173f2c248e2470fa26a5cc1ad21bd","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"repository":{"url":"git+https://github.com/aftyne/bercy.git","type":"git"},"_npmVersion":"11.11.1","description":"A local CLI utility to batch-delete unused files.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"express":"^5.2.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bercy_1.0.145_1779183125430_0.7076410481476891","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aftyne/bercy","version":"1.1.0","description":"A local CLI utility to batch-delete unused files.","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"bin":{"bercy":"bin/cli.js"},"keywords":["cli","cleanup","unused-files","knip"],"author":{"name":"Aftiyan"},"license":"MIT","type":"commonjs","dependencies":{"express":"^5.2.1"},"repository":{"type":"git","url":"git+https://github.com/aftyne/bercy.git"},"bugs":{"url":"https://github.com/aftyne/bercy/issues"},"homepage":"https://github.com/aftyne/bercy#readme","gitHead":"9925d1bdabd41d7f1419dae546910f5ecfb96d50","_id":"@aftyne/bercy@1.1.0","_nodeVersion":"22.14.0","_npmVersion":"11.11.1","dist":{"integrity":"sha512-EldjnZvYcboWFdIrEtTSCWiEfa6KRDkaoaQkz8t6D/UbdU0um4YPX/jq6l2viq4UlErQ7Zre3EeZ+ZL3ymNxqw==","shasum":"1e3db648afcd33d54609cf5add438b79e5ab5d46","tarball":"https://registry.npmjs.org/@aftyne/bercy/-/bercy-1.1.0.tgz","fileCount":5,"unpackedSize":60677,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE80M3T+F8crTy2ZF9P43nmTPUOHt/o969wv/J6KyZxIAiEAlUouaMjyWfa8FvtCX5Ev694Iv4eNt6KRG16xvAYJGRo="}]},"_npmUser":{"name":"aftyne","email":"aftiyan05@gmail.com"},"directories":{},"maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bercy_1.1.0_1780478508726_0.3996757424833355"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-19T08:11:01.236Z","modified":"2026-06-03T09:21:48.982Z","1.0.0":"2026-05-19T08:11:01.484Z","1.0.1":"2026-05-19T08:31:24.593Z","1.0.12":"2026-05-19T09:02:14.362Z","1.0.13":"2026-05-19T09:16:05.165Z","1.0.14":"2026-05-19T09:26:41.175Z","1.0.145":"2026-05-19T09:32:05.606Z","1.1.0":"2026-06-03T09:21:48.885Z"},"bugs":{"url":"https://github.com/aftyne/bercy/issues"},"author":{"name":"Aftiyan"},"license":"MIT","homepage":"https://github.com/aftyne/bercy#readme","keywords":["cli","cleanup","unused-files","knip"],"repository":{"type":"git","url":"git+https://github.com/aftyne/bercy.git"},"description":"A local CLI utility to batch-delete unused files.","maintainers":[{"name":"aftyne","email":"aftiyan05@gmail.com"}],"readme":"# Bercy\r\n\r\nA framework-agnostic CLI utility to safely bulk-delete unused files.\r\n\r\n**Do not install this globally or as a project dependency.** Run it directly in your project root using:\r\n\r\n```bash\r\nnpx @aftyne/bercy\r\n\r\n```\r\n\r\nBuilt on top of the [Knip](https://knip.dev/) engine, Bercy spins up a secure local server to help you visualize dead code and eliminate it with a few clicks.\r\n\r\n## Features\r\n\r\n* **Zero Configuration:** Run it in any JavaScript/TypeScript project. No setup files required.\r\n* **Interactive Dashboard:** A minimalist, dark-themed UI to review unused files before making any destructive changes.\r\n* **Bulk Processing:** Select multiple files and delete them in one single batch.\r\n* **Persistent Ignore List:** Ignoring a file automatically generates and updates a `.bercyignore` file in your project root. These files are hidden from future scans, and you can restore them directly from the dashboard.\r\n* **Network Isolation:** The server locks strictly to `127.0.0.1` to prevent local network exposure.\r\n* **Path Sanitization:** Aggressive backend checks prevent directory traversal outside your project boundaries.\r\n\r\n## Options\r\n\r\nIf the default port (`5000`) is already in use, you can specify a custom port using the `--port` flag:\r\n\r\n```bash\r\nnpx @aftyne/bercy --port 8080\r\n\r\n```\r\n\r\n## How It Works\r\n\r\n1. Bercy leverages `knip` under the hood to perform a static analysis of your codebase, finding files that are never imported or used.\r\n2. The Node.js backend filters the results against your `.bercyignore` file and serves a lightweight frontend.\r\n3. When you trigger an action, the backend verifies the paths and safely executes the file system changes.\r\n\r\n## Tech Stack\r\n\r\n* **Backend:** Node.js, Express\r\n* **Frontend:** HTML, Javascript, TailwindCSS (CDN)\r\n* **Core Engine:** Knip\r\n\r\n## License\r\n\r\n[MIT License](https://www.google.com/search?q=LICENSE)","readmeFilename":"README.md"}