Skip to content

docs: init CLAUDE.md runtime prompt, correct README to match reality - #4

Merged
OriNachum merged 1 commit into
mainfrom
docs/init-claude-md-and-readme
Aug 24, 2026
Merged

docs: init CLAUDE.md runtime prompt, correct README to match reality#4
OriNachum merged 1 commit into
mainfrom
docs/init-claude-md-and-readme

Conversation

@OriNachum

Copy link
Copy Markdown
Contributor

Summary

Runs /init on this repo for the first time and brings README.md in line with
what the code actually does.

CLAUDE.md was still the bootstrap seed left by
scaffold refactoring-cli from culture-agent-template — it described how to
re-initialize itself, not how to work here. It's now a full runtime prompt.

What changed

CLAUDE.md — re-initialized from the seed:

  • Repo status up front. The analyse-propose-apply lane described in the
    project description does not exist yet; the tree is still the scaffold, and
    several docstrings/catalog entries still call this "a clonable template for
    AgentCulture mesh agents." A future instance reading the description would
    otherwise hunt for code that isn't there.
  • Build/lint/test commands exactly as CI runs them, plus single-test invocation
    and the two non-obvious pyproject.toml settings (fail_under = 60;
    relative_files = true, load-bearing for Sonar coverage mapping).
  • The three-layer CLI architecture and the contracts the teken rubric gate
    enforces — _CliArgumentParser routing parse-time errors through the
    error:/hint: contract, the _json_hint argv pre-scan, why
    read_agent_fields() hand-parses YAML (runtime dependencies = []), and why
    find_culture_yaml() walks up from __file__ rather than cwd.
  • An 8-step checklist for adding a noun/verb, since one spans _build_parser,
    the explain catalog, both payloads in learn.py, _VERBS in overview.py,
    and tests — miss one and the rubric gate fails.
  • Working conventions: version-bump-every-PR, the cicd lane, the
    cite-don't-import rule for .claude/skills/, worktree layout, memory
    discipline, and the ask-colleague reflex.

README.md — corrected to describe this agent rather than the template it
was scaffolded from:

  • Adds a Status section stating the refactoring lane is not implemented yet.
  • Corrects the vendored skill count: 11 → 18.
  • Replaces the clone-a-template "Make it your own" checklist with a Contributing
    section.

Bug fixed

The README Quickstart instructed uv run refactoring-cli whoami. That is the
distribution name, not the console script, so every documented command failed:

error: Failed to spawn: `refactoring-cli`
  Caused by: No such file or directory (os error 2)

The scaffold rename is incomplete — package directory and console script are
refactor, while the distribution name, argparse prog, help text, explain
catalog and tests all say refactoring-cli. The rubric gate never caught this
because teken discovers the script name from pyproject.toml.

Commands are corrected to refactor, and the divergence is now documented in
both files with a git grep discovery command and the full rename target list
(including sonar.projectKey, which must keep matching the registered
SonarCloud project).

Deliberately not in this PR

The inherited "clonable template" prose inside learn.py, overview.py, and
explain/catalog.py is code, and rewriting it belongs with the rename decision
rather than a docs pass. It's flagged in CLAUDE.md instead.

Verification

All CI checks run locally and pass: pytest -n auto (22 passed), black --check, isort --check-only, flake8, bandit, markdownlint-cli2 (8
files, 0 errors), teken cli doctor . --strict, and devex pr lint (no
violations). The corrected Quickstart commands were run and produce output.

Version bumped 0.6.10.6.2 with a CHANGELOG entry.

  • refactoring-cli (Claude)

Re-initializes CLAUDE.md from the bootstrap seed into a full runtime
prompt and brings README.md in line with what the repo actually is.

CLAUDE.md: repo status (the analyse-propose-apply lane is scaffold-only
today), build/lint/test commands as CI runs them, the three-layer CLI
architecture and the contracts the teken rubric gate enforces, an
8-step checklist for adding a noun/verb, and the working conventions
(version-bump-every-PR, the cicd lane, cite-don't-import skills,
worktree layout, memory discipline).

README.md: adds a Status section stating the refactoring lane is not
implemented yet, corrects the vendored skill count (11 -> 18), and
replaces the clone-a-template "Make it your own" checklist with a
Contributing section.

Fixes a broken Quickstart: README instructed `uv run refactoring-cli`,
which is the distribution name rather than the console script, so every
documented command failed with `Failed to spawn: refactoring-cli`. The
scaffold rename is incomplete (package dir and script are `refactor`;
dist name, argparse prog, help text, explain catalog and tests all say
`refactoring-cli`) — corrected to `refactor` and the divergence is now
documented in both files with a discovery command and target list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PoE5ij1LNYZYi52xaogwRJ
@OriNachum

Copy link
Copy Markdown
Contributor Author

/agentic_review

@sonarqubecloud

Copy link
Copy Markdown

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Docs: initialize runtime CLAUDE.md and align README with actual CLI/script name

📝 Documentation 🐞 Bug fix ⚙️ Configuration changes 🕐 20-40 Minutes

Grey Divider

AI Description

• Replace bootstrap CLAUDE.md seed with a repo-specific runtime prompt and workflows.
• Update README.md to reflect current scaffold status and correct skill-kit/usage details.
• Fix Quickstart commands by using the refactor console script (not refactoring-cli).
Diagram

graph TD
  dev([Developer]) --> readme["README.md"] --> cli["Console script: refactor"]
  dev --> claude["CLAUDE.md"] --> cli
  cfg["pyproject.toml"] --> cli
  ci["CI (tests/lint/teken)"] --> cli
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Add a `refactoring-cli` console-script alias
  • ➕ Preserves backward compatibility for anyone following older docs/examples
  • ➕ Avoids blocking on finishing the full rename across ~100 occurrences
  • ➕ Minimal code change: add an additional [project.scripts] entry
  • ➖ Continues the dual-name ambiguity longer
  • ➖ May hide the need to complete the rename before domain verbs land
2. Finish the rename in this PR (dist/package/prog/catalog/tests)
  • ➕ Eliminates name divergence entirely and reduces ongoing confusion
  • ➕ Avoids duplicated aliases and documentation caveats later
  • ➖ Large, cross-cutting, higher-risk change (touches many files, tests, SonarCloud project key, catalog keys)
  • ➖ Not aligned with the PR’s stated scope (docs alignment + quickstart fix)

Recommendation: Current approach (document reality and fix Quickstart to use refactor) is appropriate for a docs-focused PR and immediately unbreaks onboarding. Consider a follow-up to either add a temporary refactoring-cli script alias for compatibility or complete the rename in one dedicated, carefully-scoped pass (as the new CLAUDE.md checklist suggests).

Files changed (5) +321 / -69

Documentation (3) +289 / -37
CHANGELOG.mdAdd 0.6.2 entry documenting docs refresh and Quickstart fix +11/-0

Add 0.6.2 entry documenting docs refresh and Quickstart fix

• Prepends a 0.6.2 release entry describing the CLAUDE.md re-init, README corrections, and the fix to use 'refactor' instead of the distribution name in Quickstart examples.

CHANGELOG.md

CLAUDE.mdReplace bootstrap seed with full runtime prompt and repo contracts +242/-19

Replace bootstrap seed with full runtime prompt and repo contracts

• Replaces the placeholder seed with a comprehensive runtime prompt: current repo status (scaffold-only), exact CI-aligned commands, CLI architecture/contracts enforced by 'teken', a verb/noun addition checklist, and working conventions (version bump policy, PR workflow, vendored skills, worktrees, memory, deploy). Also documents the known 'refactor' vs 'refactoring-cli' naming inconsistency and provides discovery/target lists for completing the rename.

CLAUDE.md

README.mdAlign README with scaffold reality and correct CLI invocation +36/-18

Align README with scaffold reality and correct CLI invocation

• Adds an explicit Status section clarifying the domain refactoring lane is not implemented yet, updates the skill-kit count and framing, and replaces template-oriented guidance with Contributing conventions. Fixes Quickstart commands to call 'uv run refactor ...' and documents the current script vs distribution naming divergence.

README.md

Other (2) +32 / -32
pyproject.tomlBump project version to 0.6.2 +1/-1

Bump project version to 0.6.2

• Updates the project version from 0.6.1 to 0.6.2 to reflect the documented release.

pyproject.toml

uv.lockRefresh lockfile for local package version bump +31/-31

Refresh lockfile for local package version bump

• Updates the editable local package entry from 0.6.1 to 0.6.2 within 'uv.lock', consistent with the 'pyproject.toml' version bump.

uv.lock

@OriNachum
OriNachum merged commit 0ce177d into main Aug 24, 2026
8 checks passed
@OriNachum
OriNachum deleted the docs/init-claude-md-and-readme branch August 24, 2026 04:41
@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (1)

Grey Divider


Action required

1. ~/.eidetic/memory referenced in docs 📜 Skill insight ≡ Correctness
Description
CLAUDE.md newly documents storing data at ~/.eidetic/memory, which is a per-user dotfile path
disallowed in committed docs/configs. This can break portability and violates the repo policy
requiring repo-local or portable lookup documentation instead.
Code

CLAUDE.md[R223-224]

+vendored wrappers default to this agent's personal private scope (`--scope
+refactoring-cli --visibility private`, store `~/.eidetic/memory`); pass
Evidence
PR Compliance ID 2618914 forbids references to ~/.<dotfile> paths in committed docs/configs unless
they are specifically under ~/.claude/skills/<x>/scripts/ or ~/.culture/. The added CLAUDE.md
text explicitly includes store ~/.eidetic/memory, which matches the forbidden pattern and is not
an allowed exception.

CLAUDE.md[223-224]
Skill: cicd

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`CLAUDE.md` references the per-user dotfile path `~/.eidetic/memory`, which is disallowed in committed documentation.

## Issue Context
The compliance rule forbids `~/.<dotfile>` references in committed docs/configs unless they are under `~/.claude/skills/<x>/scripts/` or `~/.culture/`.

## Fix Focus Areas
- CLAUDE.md[223-224]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. CI command docs drift 🐞 Bug ⚙ Maintainability
Description
CLAUDE.md claims bash .claude/skills/run-tests/scripts/test.sh --ci is the “exact CI
invocation”, but CI runs pytest with a slightly different command and the script itself says it only
“mimic[s]” CI. This can mislead contributors when reproducing CI failures and investigating coverage
differences.
Code

CLAUDE.md[37]

+bash .claude/skills/run-tests/scripts/test.sh --ci              # exact CI invocation
Evidence
The PR newly introduces the “exact CI invocation” claim in CLAUDE.md, but the repository’s CI
workflow shows a different pytest command, and the run-tests script itself describes --ci as a
mimic rather than exact match.

CLAUDE.md[31-45]
.github/workflows/tests.yml[28-33]
.claude/skills/run-tests/scripts/test.sh[8-14]
.claude/skills/run-tests/scripts/test.sh[36-40]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`CLAUDE.md` states that the run-tests skill invocation is the **exact** CI command, but CI uses a different pytest invocation and the script itself documents that it only *mimics* CI. This is a documentation correctness/operability issue: people will copy/paste the documented command expecting to exactly reproduce CI.

## Issue Context
- CI runs `uv run pytest -n auto --cov=refactor --cov-report=xml:coverage.xml --cov-report=term -v`.
- The run-tests skill uses `uv run pytest -n auto --cov --cov-report=xml:coverage.xml --cov-report=term -v` (relies on `[tool.coverage.run] source`), and its header calls this “Mimic full CI invocation”.

## Fix Focus Areas
- CLAUDE.md[31-45]
- .github/workflows/tests.yml[28-33]
- .claude/skills/run-tests/scripts/test.sh[8-14]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 3 rules

Grey Divider

Tip of the day
💡 Did you know, you can switch off images and animations for a plain-text comment

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread CLAUDE.md
Comment on lines +223 to +224
vendored wrappers default to this agent's personal private scope (`--scope
refactoring-cli --visibility private`, store `~/.eidetic/memory`); pass

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. ~/.eidetic/memory referenced in docs 📜 Skill insight ≡ Correctness

CLAUDE.md newly documents storing data at ~/.eidetic/memory, which is a per-user dotfile path
disallowed in committed docs/configs. This can break portability and violates the repo policy
requiring repo-local or portable lookup documentation instead.
Agent Prompt
## Issue description
`CLAUDE.md` references the per-user dotfile path `~/.eidetic/memory`, which is disallowed in committed documentation.

## Issue Context
The compliance rule forbids `~/.<dotfile>` references in committed docs/configs unless they are under `~/.claude/skills/<x>/scripts/` or `~/.culture/`.

## Fix Focus Areas
- CLAUDE.md[223-224]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread CLAUDE.md
uv run pytest tests/test_cli.py::test_whoami_json -v # a single test
uv run pytest -k "doctor" -v # by name
uv run pytest -n auto --cov=refactor --cov-report=term # with coverage
bash .claude/skills/run-tests/scripts/test.sh --ci # exact CI invocation

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Ci command docs drift 🐞 Bug ⚙ Maintainability

CLAUDE.md claims bash .claude/skills/run-tests/scripts/test.sh --ci is the “exact CI
invocation”, but CI runs pytest with a slightly different command and the script itself says it only
“mimic[s]” CI. This can mislead contributors when reproducing CI failures and investigating coverage
differences.
Agent Prompt
## Issue description
`CLAUDE.md` states that the run-tests skill invocation is the **exact** CI command, but CI uses a different pytest invocation and the script itself documents that it only *mimics* CI. This is a documentation correctness/operability issue: people will copy/paste the documented command expecting to exactly reproduce CI.

## Issue Context
- CI runs `uv run pytest -n auto --cov=refactor --cov-report=xml:coverage.xml --cov-report=term -v`.
- The run-tests skill uses `uv run pytest -n auto --cov --cov-report=xml:coverage.xml --cov-report=term -v` (relies on `[tool.coverage.run] source`), and its header calls this “Mimic full CI invocation”.

## Fix Focus Areas
- CLAUDE.md[31-45]
- .github/workflows/tests.yml[28-33]
- .claude/skills/run-tests/scripts/test.sh[8-14]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

OriNachum added a commit that referenced this pull request Aug 24, 2026
Resolves the version-bump collision between this branch (0.6.1 -> 0.7.0,
ask-colleague 1.63.0 re-vendor) and main's PR #4 (0.6.1 -> 0.6.2, CLAUDE.md
runtime prompt + README correction). No substantive overlap: the branch only
touches .claude/skills/ask-colleague/** and docs/skill-sources.md, neither of
which main modified.

- pyproject.toml: keep 0.7.0 (minor supersedes main's patch)
- CHANGELOG.md: keep both entries, 0.7.0 above 0.6.2
- uv.lock: take main's alphabetically re-sorted lock, re-run `uv lock` for
  0.7.0 — the apparent conflict was uv moving the workspace-member block, not
  a dependency change

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant