Skip to main content

A workflow accelerator that scaffolds AI-assisted coding projects with opinionated documentation and launches Claude Code.

Project description

cleanvibe

Website · cleanvibe.emmaleonhart.com

A tiny Python CLI that scaffolds AI-assisted coding projects and launches Claude Code.

cleanvibe is not a coding tool. It's a state initializer -- it removes the friction between "I want to build something" and "Claude is working inside a well-structured environment." The real value lives in the CLAUDE.md it injects: an opinionated behavior contract that enforces documentation discipline, meaningful commits, and iterative file-based thinking.

Install

pip install cleanvibe

Usage

Create a new project

cleanvibe new my-project

This will:

  1. Create the directory my-project/
  2. Write CLAUDE.md (workflow rules for AI-assisted development)
  3. Write README.md (starter documentation)
  4. Write queue.md (active work queue, pre-seeded with a first-session bootstrap sequence that walks Claude through triaging dropped-in files, inferring the project, interviewing the user, creating todo.md, populating the real queue, and pushing to a private GitHub repo)
  5. Write .gitignore (sensible Python defaults)
  6. Initialize a git repo with an initial commit
  7. Launch Claude Code inside the project

Clone an existing repo — codebase onboarding

cleanvibe clone https://github.com/user/repo

clone is for onboarding an existing codebase, not bootstrapping a blank one. It is deliberately different from new:

  1. git clone the repository
  2. Create and check out a dedicated cleanvibe-onboarding branch — the default branch is left untouched
  3. Prepend-or-write an onboarding CLAUDE.md and queue.md: if the repo already has them, the fresh block goes on top (newest first) and the original content is preserved below — re-running just layers another block
  4. Inject .gitignore only if missing. No data_lake/ (it is a real codebase, nothing was dropped in) and no README overwrite
  5. Commit the onboarding scaffold on the branch
  6. Launch Claude Code inside the project

The onboarding queue.md is small and focused: read & document the repo, make existing docs accurate, rewrite CLAUDE.md to the repo's real development practices, add tests/CI if sparse, then synthesize any existing planning artifacts and hand off to the repo's own todo.md.

Replicate a paper

cleanvibe replicate https://arxiv.org/abs/1706.03762

Accepts an arXiv or alphaxiv id / abs URL / pdf URL. This will:

  1. Fetch the paper's metadata from the arXiv API
  2. Create replicating-<paper-slug>/ (silently -2/-3 if it already exists)
  3. Scaffold a standalone replication project: cleanvibe conventions (CLAUDE.md, queue.md, data_lake/) plus the replication structure — SKILL.md (the agent-executable replication plan), download_paper.py, replication_target/ (the paper itself lives here, gitignored — never in data_lake/; the authors' code is cloned here as a git submodule), paper.json, and .github/workflows/ that build a GitHub Pages findings site, a transportable PDF report, and a downloadable ZIP replication package
  4. Initialize a git repo with an initial commit
  5. Launch Claude Code inside the project

Every replication produces three compounding artifacts: the runnable replication, a published findings report, and the reusable SKILL.md methodology. See docs/replication_framing.md for the full vision.

Options

cleanvibe new my-project --dry-run        # Preview what would be created
cleanvibe new my-project --no-claude      # Skip launching Claude Code
cleanvibe clone REPO path --dry-run       # Preview what would be done
cleanvibe replicate URL --dry-run         # Preview the replication scaffold
cleanvibe replicate URL --no-claude       # Scaffold without launching Claude
cleanvibe --version                       # Show version

Why?

Most people struggle with blank repo paralysis, poor commit hygiene, and AI assistants that ramble without producing durable artifacts. cleanvibe solves this by injecting a disciplined thinking contract into every project from the start.

The CLAUDE.md template enforces:

  • Commit early and often with meaningful messages
  • No planning-only modes -- all thinking produces files and commits
  • Keep documentation up to date as the project evolves
  • Use planning/ directories for exploration instead of internal planning modes

Cross-platform

Works on Windows, Linux, and macOS. Zero dependencies beyond Python 3.9+.

Website

Full walkthrough — what cleanvibe is and what each subcommand does — at the project site (built from pages/ and deployed by GitHub Actions): https://cleanvibe.emmaleonhart.com/

Stability

As of v1.0.0, cleanvibe commits to the following contract (semantic versioning from here on):

  • Subcommands new, clone, convert, and replicate are stable. Their core behavior will not change incompatibly within the 1.x line.
  • Injected files: new guarantees CLAUDE.md, README.md, queue.md, .gitignore, and data_lake/.gitkeep. replicate additionally guarantees SKILL.md, paper.json, download_paper.py, and replication_target/.
  • Non-destructive by contract: clone and convert never overwrite existing files — clone prepends; convert only injects what is missing. replicate never errors on a name collision (silent -2/-3 suffix).
  • Template wording may evolve (improvements to the workflow contract are not breaking); the set of guaranteed files and the subcommand contracts above are what 1.x holds stable.
  • Zero runtime dependencies remains a hard guarantee for the 1.x line.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cleanvibe-1.2.2.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cleanvibe-1.2.2-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file cleanvibe-1.2.2.tar.gz.

File metadata

  • Download URL: cleanvibe-1.2.2.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cleanvibe-1.2.2.tar.gz
Algorithm Hash digest
SHA256 c529656414148e5294c843d6c20a77b7b275c0efcff210d63c36aa6e60f218fa
MD5 0548ce80cf0469f7ee62fcf0f20dd5e4
BLAKE2b-256 54c7a2b93cd72c1e2631e3e9f4de0f4c9d88c08c5f4e69775e488b5a10fc5577

See more details on using hashes here.

Provenance

The following attestation bundles were made for cleanvibe-1.2.2.tar.gz:

Publisher: publish.yml on EmmaLeonhart/cleanvibe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cleanvibe-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: cleanvibe-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cleanvibe-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc9ae6f1ac61b7395229ebb34d1724d02732d25c6962ea6e2a252e1c12720ede
MD5 fb4ed902b7b1fb5f29a334d3e4b2ab05
BLAKE2b-256 52b87232b2094d66fc366442b586f6b947787f27e14f703b31ea766c57cc17e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cleanvibe-1.2.2-py3-none-any.whl:

Publisher: publish.yml on EmmaLeonhart/cleanvibe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page