diff --git a/CHANGELOG.md b/CHANGELOG.md index 94fbb6b..8b2b9fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.1.0] - 2026-07-09 + ### Added - **`analyze [PATH]`** — scan for cleanable directories and cross-reference @@ -134,7 +136,8 @@ First public pre-release. per-target sizing. - **Packaging** — distributable via `pip`/`pipx`; MIT licensed. -[Unreleased]: https://github.com/smurftyy/devklean/compare/v1.0.2...HEAD +[Unreleased]: https://github.com/smurftyy/devklean/compare/v1.1.0...HEAD +[1.1.0]: https://github.com/smurftyy/devklean/compare/v1.0.2...v1.1.0 [1.0.2]: https://github.com/smurftyy/devklean/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/smurftyy/devklean/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/smurftyy/devklean/compare/v0.1.0...v1.0.0 diff --git a/src/devklean/_version.py b/src/devklean/_version.py index 7d61abc..ff72ff8 100644 --- a/src/devklean/_version.py +++ b/src/devklean/_version.py @@ -5,4 +5,4 @@ a one-line change here and nowhere else. """ -__version__ = "1.0.2" +__version__ = "1.1.0" diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..5a86d2a --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +build/ +dist/ +coverage/ +.DS_Store +*.log +.env* +!.env.example diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..1115429 --- /dev/null +++ b/web/README.md @@ -0,0 +1,39 @@ +# devklean — landing page + +The marketing site for [devklean](https://github.com/smurftyy/devklean), the +open-source CLI that finds regenerable development artifacts and moves them to +your system trash. This folder is a self-contained +[Vite](https://vite.dev) + React + TypeScript single-page app; it does not +import from or depend on the Python package next to it. + +Everything shown on the page — commands, flags, risk/confidence values, the +workspace-health formula — is sourced from the real tool. See the top-level +[`README.md`](../README.md) and `src/devklean/` for the source of truth. + +## Develop + +```bash +npm install +npm run dev # serves on http://localhost:3000 +``` + +## Build + +```bash +npm run build # emits a static bundle to dist/ +npm run preview # serve the built bundle locally +``` + +## Other scripts + +```bash +npm run lint # tsc --noEmit type-check +npm run clean # remove the dist/ build output +``` + +## Stack + +- Vite 6 + React 19 +- Tailwind CSS v4 (`@tailwindcss/vite`) +- [motion](https://motion.dev) for animation +- [lucide-react](https://lucide.dev) for icons diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..8ddb958 --- /dev/null +++ b/web/index.html @@ -0,0 +1,22 @@ + + +
+ + +scan,{' '}
+ analyze, and{' '}
+ explain never delete
+ anything. When you do run clean,
+ it moves items to your system trash — and anything ≥ 1 GiB requires typing{' '}
+ DELETE. See the Safety Net
+ above for the full picture.
+ >
+ ),
+ },
+ {
+ q: 'Can I control which folders it looks at?',
+ a: (
+ <>
+ Yes — through config, not a CLI flag. Add a project{' '}
+ .devklean.toml (found by
+ walking up from your current directory) or a global{' '}
+ ~/.config/devklean/config.toml,
+ and set exclude = [...] or{' '}
+ an [ignore] section with{' '}
+ paths /{' '}
+ directories.
+ >
+ ),
+ },
+ {
+ q: 'How do I install it?',
+ a: (
+ <>
+ devklean is on PyPI — pure Python, no compiled binary.{' '}
+ pipx install devklean is
+ recommended (isolated), or{' '}
+ pip install devklean into the
+ current environment.
+ >
+ ),
+ },
+ {
+ q: 'Does it work on Windows?',
+ a: (
+ <>
+ Yes. Every core command — scan,{' '}
+ clean,{' '}
+ analyze, and the rest — works
+ on Linux, macOS, and Windows. The only exception is interactive mode (
+ -i), which is Linux/macOS only.
+ >
+ ),
+ },
+];
+
+export default function App() {
+ return (
+ {faq.a}
++ Compatibility Layer +
+
+ Three commands that only ever read your disk. Each one tells you more about what’s there — so the one
+ command that does delete, clean, is never a guess.
+
{feature.description}
+{feature.sampleOutput}
+
+ The only command that removes anything is devklean clean — and even
+ that moves files to your system trash, never a hard delete.
+
analyze, explain, and{' '}
+ --compress are here
+
+ + A CLI that finds regenerable build artifacts from Node.js, Python, and Next.js, tells you exactly what each + one is, and moves them to your system trash — never a hard delete. +
+ + {/* CTAs and Copy Segment */} ++ The same workspace, seen through three read-only commands. Pick one — nothing here deletes anything. +
+portfolio (−10). Every
+ verdict comes from a fixed registry — never an inference.
+ + When you compress before trashing, devklean removes the original last. If anything goes wrong + before that, your directory is left exactly where it was. +
+{body}
++ Estimate your local project counts below. Build artifacts add up fast — and every one of them is + regenerable from source. +
+node_modules
+
+ .next
+
+ .venv / __pycache__
+
+ + Of regenerable build artifacts — dependency trees, virtual environments, and compiled output — sitting + on your drive. +
+ + {/* Truthful facts about how devklean handles it */} +rm -rf.
+ DELETE.
+ scan and analyze never delete a thing.
+
+ Run devklean analyze --verbose to see the workspace-health
+ score and the exact formula behind it — no deletions, just the report.
+
+ {beat.body} +
++ The risk and confidence scores are a hand-maintained, deterministic + registry — not a model call and not a heuristic, as stated outright in the tool’s own source. And + everything else shown on this page — commands, flags, sizes, the health formula — is{' '} + real tool output, not marketing copy. +
+