Metadata-Version: 2.4
Name: dhruvclaudekit
Version: 0.1.0
Summary: Auto-configure Claude Code for your project's stack
Author: Dhruv
License: MIT
License-File: LICENSE
Keywords: ai,claude,claude-code,cli,devtools
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Requires-Python: >=3.10
Requires-Dist: jinja2<4,>=3.1
Requires-Dist: pathspec<1,>=0.12
Requires-Dist: pydantic<3,>=2
Requires-Dist: pyyaml<7,>=6
Requires-Dist: questionary<3,>=2
Requires-Dist: rich<14,>=13
Requires-Dist: tomli<3,>=2; python_version < '3.11'
Requires-Dist: typer<1.0,>=0.12
Provides-Extra: deep
Requires-Dist: anthropic<1,>=0.40; extra == 'deep'
Provides-Extra: dev
Requires-Dist: mypy<2,>=1.10; extra == 'dev'
Requires-Dist: pytest-cov<6,>=5; extra == 'dev'
Requires-Dist: pytest-snapshot<1,>=0.9; extra == 'dev'
Requires-Dist: pytest<9,>=8; extra == 'dev'
Requires-Dist: ruff<1,>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# dhruvclaudekit

[![PyPI](https://img.shields.io/pypi/v/dhruvclaudekit)](https://pypi.org/project/dhruvclaudekit/)
[![Python](https://img.shields.io/pypi/pyversions/dhruvclaudekit)](https://pypi.org/project/dhruvclaudekit/)
[![CI](https://github.com/dhruv/dhruvclaudekit/actions/workflows/ci.yml/badge.svg)](https://github.com/dhruv/dhruvclaudekit/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Auto-configure [Claude Code](https://claude.com/claude-code) for your project's stack. One command, ~30 seconds, sensible stack-aware config — CLAUDE.md, settings.json, skills, hooks, and permissions tailored to your codebase.

**No telemetry. Ever.**

## Install

```bash
# Recommended
pipx install dhruvclaudekit

# Zero-install
uvx dhruvclaudekit

# Fallback
pip install --user dhruvclaudekit
```

## Quickstart

```bash
cd my-project
dhruvclaudekit init
```

## What it generates

- **CLAUDE.md** — project conventions, folder structure, run commands
- **settings.json** — hooks for auto-formatting, safety guards, session info
- **Skills** — stack-specific guidance (e.g., ML project layout, Next.js App Router patterns)
- **Hooks** — auto-format on edit, guard dangerous commands, branch protection
- **Permissions** — allow safe commands, deny destructive ones, ask for risky ones

## Supported stacks

| Preset | Description |
|--------|-------------|
| `generic` | Universal fallback for any project |
| `python-ml` | Data science and ML (pandas, sklearn, torch, tensorflow) |
| `python-web` | Python web frameworks (FastAPI, Django, Flask) |
| `nextjs` | Next.js applications (App Router / Pages Router) |
| `node-backend` | Node.js backends (Express, Fastify, NestJS) |
| `react-vite` | React SPAs with Vite |
| `go-backend` | Go backends (gin, echo, fiber, chi) |
| `rust` | Rust projects (Cargo) |
| `csharp-aspnet` | C# ASP.NET Core solutions |

## How it works

**Detection** — Walks your file tree (respecting .gitignore), parses manifests (package.json, pyproject.toml, etc.), and scores each preset based on signals like file presence, dependencies, and directory structure.

**Planning** — Merges core configuration (safety hooks, commit conventions) with stack-specific presets into a unified bundle. Templates are rendered with project-specific context.

**Generation** — Writes files atomically with automatic backup of any existing `.claude/` directory. Supports dry-run mode to preview changes without writing anything.

## Step-by-step mode

Use `--step-by-step` to interactively toggle individual skills and hooks before generating. Recommended only if you have specific customization needs.

## `--deep` mode

Uses Claude to resolve ambiguous detection when rule-based scoring is inconclusive. Requires `ANTHROPIC_API_KEY` and the `deep` extra (`pipx install 'dhruvclaudekit[deep]'`). Estimated cost is shown before any API call.

## **Safety**

- **Backup**: Existing `.claude/` is always backed up before changes (unless `--no-backup`)
- **Dry-run**: `--dry-run` previews all changes without writing a single file
- **Atomic writes**: Files are written via temp file + fsync + rename — no partial writes
- **No telemetry. Ever.** This tool makes zero network calls unless you explicitly use `--deep`

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.

## License

[MIT](LICENSE)
