Skip to main content

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.md wygenerowanym 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

claude_planner-0.1.3.tar.gz (101.8 kB view details)

Uploaded Source

Built Distribution

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

claude_planner-0.1.3-py3-none-any.whl (76.2 kB view details)

Uploaded Python 3

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

Hashes for claude_planner-0.1.3.tar.gz
Algorithm Hash digest
SHA256 b21a795f68334ad05bbb74d347861eace6df21bb24ff6369eb705fa77e5f2d13
MD5 1b9bdd442f403af40b65cce70dc8697c
BLAKE2b-256 d83e593c025585a435e19184f0111cf26880675a25f17333e6aa695bbc3418f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_planner-0.1.3.tar.gz:

Publisher: publish.yml on piatkowski/claude-planner

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

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

Hashes for claude_planner-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 599b145b8939043dcaab760155ce08143587f6a34f3354348a4a70de6aab30d9
MD5 dee7eca529fffc36c65f5e977dbb70eb
BLAKE2b-256 25a20784b9e0bdebb46d6ae779281bb73bc1f7754e531af29ccf74967debc273

See more details on using hashes here.

Provenance

The following attestation bundles were made for claude_planner-0.1.3-py3-none-any.whl:

Publisher: publish.yml on piatkowski/claude-planner

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 Sentry Error logging StatusPage Status page