Skip to content

release/0.2.0#17

Open
A wants to merge 8 commits into
masterfrom
release/0.2.0
Open

release/0.2.0#17
A wants to merge 8 commits into
masterfrom
release/0.2.0

Conversation

@A

@A A commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Global config tier + home_dir

Booping now reads a global config at ${XDG_CONFIG_HOME:-~/.config}/booping/config.yaml, deep-merged between the core defaults and the per-project tier (core → global → project, same shallow-merge semantics for agents).

The headline key is home_dir — the vault-home base (default ~/Claude/) is no longer hardcoded. Vault resolution precedence: .booping vault_path: > global home_dir > core default; a home_dir set in the project tier is a documented no-op. Path expansion happens in a single site (_resolve_vault_dir), so config surfaces always display the raw value the user wrote.

Also in this feature:

  • New booping config-get <dotted.key> subcommand — scalars print raw, mappings/lists print YAML, missing keys exit 1; works outside any attached project.
  • booping-create-project resolves its vault root through a deterministic ladder (global config → existing ~/Claude → interactive prompt) and seeds the global config on true first run; non-interactive unresolvable runs abort with instructions instead of silently scaffolding.
  • All CLI commands (transition, vault-commit, frontmatter-update) share the same configured resolution via Project.load_cwd_configured().
  • Test suite fully isolated from the developer machine (XDG_CONFIG_HOME + HOME pinned to tmp dirs).

Second release feature coming to this branch before the release is cut.

🤖 Generated with Claude Code

A and others added 8 commits July 22, 2026 17:51
…tier + home_dir vault resolution

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…command + create-project seeding + docs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… vault resolution + test home isolation

vault-commit/frontmatter-update/transition resolved the vault via bare Project.load_cwd(), ignoring the configured home_dir; Context.assemble and the commands now share Project.load_cwd_configured(). Test suite additionally isolates HOME so no run writes outside tmp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…playbook framework — context models, /playbook skill, docs
The repo-root `.booping` marker is gitignored, so it is absent in CI
checkouts. The test relied on chdir-ing to the real repo root to resolve
a project (hence a vault under the tmp HOME); without the marker,
Project.load_cwd returned None, the log write was skipped, and the
`home/Claude` assertion failed. Build a self-contained repo dir with its
own `.booping` marker and isolate XDG_CONFIG_HOME instead.

Co-Authored-By: Claude Opus 4.8 (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