claude-planner
Generator środowiska Claude Code do planowania projektów IT — dla dowolnego stacku.
claude-planner init tworzy lokalne repo projektu i wypełnia je:
- wywiadem discovery — sekwencja non-interactive sesji
claude -p, cztery role software house'u (PM/BA → Architekt → Backend/Frontend Dev → QA/DevOps/UX), - analizą materiałów od klienta (folder podany przez
--intake: spec, notatki, makiety, schemat bazy) — Claude czyta go sam narzędziami Read/Glob/Grep, - dokumentacją planistyczną w
docs/: wizja, backlog/PRD, roadmapa, standardy kodowania, Definition of Done, strategia testów, ADR-y, - środowiskiem Claude Code w
.claude/: agenci, skille, slash commands (/new-adr,/update-roadmap,/update-state,/log-decision,/daily-standup,/sprint-review), hooki, state.md— jedyne źródło prawdy o stanie projektu, nadpisywane w całości przez/update-state,/setup-dev-environment— instaluje zależności/SDK wybranego stacku, wymagane dla LSP,- hookiem antyhalucynacyjnym (
check-pinned-dependency.py) — blokuje instalację pakietu z wersją "na sztywno", dopóki Claude nie sprawdzi jej realnie lub nie zapyta użytkownika, WORKFLOW.mdwygenerowanym w projekcie — instrukcja "jak pracować z Claude Code w TYM projekcie", dopasowana do wybranych profili (przykład:WORKFLOW.md).
Narzędzie generuje tylko artefakty planistyczne, nie szkielet kodu aplikacji.
Instalacja
pipx install claude-planner # docelowo, po publikacji na PyPI
# albo lokalnie z tego repo:
uv pip install -e .
Wymaga Claude Code CLI (claude w PATH) —
sprawdź przez claude-planner doctor.
Użycie
claude-planner profiles list
claude-planner init \
--name "Sklep XYZ" \
--client "Acme Sp. z o.o." \
--output ./sklep-xyz \
--intake ~/software-house/clients/acme/sklep-xyz/intake \
--profile web-fullstack --profile postgresql-pgvector-postgis \
--model sonnet # albo opus — dobierany raz dla całego wywiadu+generowania
Bez flag init pyta interaktywnie o wszystko. Pełny przykład od init po wdrożenie:
WORKFLOW.md.
Konfiguracja przez plik claude-planner.json
Zamiast powtarzać flagi init, możesz zapisać je raz w pliku
claude-planner.json (odpowiednik package.json dla npm init) —
zobacz CONFIG.md po opis wszystkich pól i
claude-planner.example.json jako gotowy
przykład do skopiowania. Flagi CLI zawsze nadpisują wartości z pliku.
cp claude-planner.example.json claude-planner.json
# ...edytuj pola...
claude-planner init # bierze wartości z ./claude-planner.json
Generowanie nowych profili przez Claude
Gdy żaden wbudowany profil nie pasuje do stacku, Claude projektuje nowy zamiast ręcznego YAML-a:
claude-planner profiles create "Ruby on Rails + Sidekiq + PostgreSQL" \
--id ruby-on-rails --model sonnet
Profil trafia do ~/.claude-planner/profiles/ (zmienne przez --profiles-dir) i jest
od razu widoczny w profiles list/profiles show/init.
Profile stacków
Deklaratywne YAML w src/claude_planner/profiles/*.yaml, każdy opisuje
języki/frameworki, dodatkowych agentów, skille i wskazówki do standardów kodowania/testów.
Składalne — projekt może użyć kilku naraz (np. web-fullstack + postgresql-pgvector-postgis).
Dostępne w v1: web-fullstack, backend-api, mobile, python,
wordpress-woocommerce, ai-ml, postgresql-pgvector-postgis, generic (fallback),
symfony, laravel, django, react-native, flutter, rag-ai-agents,
data-engineering, machine-learning.
Nowy profil = nowy plik YAML w profiles/, zero zmian w kodzie Pythona. Schemat pól:
src/claude_planner/models.py::StackProfile.
Architektura
src/claude_planner/
cli.py — CLI (Typer): init, profiles list/show/create, doctor
claude_client.py — wrapper na `claude -p` (--session-id/--resume)
interview.py — sekwencyjny wywiad per rola, wymuszony JSON (--json-schema)
intake.py — analiza folderu z materiałami od klienta
generator.py — generowanie docs/, .claude/, WORKFLOW.md (Claude dla treści,
Jinja2 dla struktury)
profile_generator.py — generowanie nowego profilu stacku przez Claude
scaffold.py — orkiestracja `init`: git init, metadane, commit startowy
roles.py — 4 bazowe role software house'u jako agenci Claude Code
textutils.py — wspólne narzędzia (slugify z transliteracją PL)
profiles/ — profile stacków (YAML); `DEFAULT_CUSTOM_PROFILES_DIR`
(`~/.claude-planner/profiles/`) dla profili od Claude
templates/ — szablony Jinja2 (CLAUDE.md, WORKFLOW.md, agent.j2, skill.j2,
komendy, ADR, hook antyhalucynacyjny)
Claude jest wywoływany wyłącznie narzędziami do odczytu (Read/Glob/Grep) — zapis plików wykonuje Python deterministycznie, po otrzymaniu treści od Claude.
Rozwój
uv pip install -e ".[dev]"
pytest
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_planner-0.1.3.tar.gz.
File metadata
- Download URL: claude_planner-0.1.3.tar.gz
- Upload date:
- Size: 101.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b21a795f68334ad05bbb74d347861eace6df21bb24ff6369eb705fa77e5f2d13
|
|
| MD5 |
1b9bdd442f403af40b65cce70dc8697c
|
|
| BLAKE2b-256 |
d83e593c025585a435e19184f0111cf26880675a25f17333e6aa695bbc3418f3
|
Provenance
The following attestation bundles were made for claude_planner-0.1.3.tar.gz:
Publisher:
publish.yml on piatkowski/claude-planner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_planner-0.1.3.tar.gz -
Subject digest:
b21a795f68334ad05bbb74d347861eace6df21bb24ff6369eb705fa77e5f2d13 - Sigstore transparency entry: 2301281016
- Sigstore integration time:
-
Permalink:
piatkowski/claude-planner@d516aaae9e8e7bdd2902f3affeb64786da2c8575 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/piatkowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d516aaae9e8e7bdd2902f3affeb64786da2c8575 -
Trigger Event:
release
-
Statement type:
File details
Details for the file claude_planner-0.1.3-py3-none-any.whl.
File metadata
- Download URL: claude_planner-0.1.3-py3-none-any.whl
- Upload date:
- Size: 76.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
599b145b8939043dcaab760155ce08143587f6a34f3354348a4a70de6aab30d9
|
|
| MD5 |
dee7eca529fffc36c65f5e977dbb70eb
|
|
| BLAKE2b-256 |
25a20784b9e0bdebb46d6ae779281bb73bc1f7754e531af29ccf74967debc273
|
Provenance
The following attestation bundles were made for claude_planner-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on piatkowski/claude-planner
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_planner-0.1.3-py3-none-any.whl -
Subject digest:
599b145b8939043dcaab760155ce08143587f6a34f3354348a4a70de6aab30d9 - Sigstore transparency entry: 2301281281
- Sigstore integration time:
-
Permalink:
piatkowski/claude-planner@d516aaae9e8e7bdd2902f3affeb64786da2c8575 -
Branch / Tag:
refs/tags/0.1.3 - Owner: https://github.com/piatkowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@d516aaae9e8e7bdd2902f3affeb64786da2c8575 -
Trigger Event:
release
-
Statement type: