Skip to content

refactor: add consumer-neutral CLI profiles - #17

Merged
codeforester merged 1 commit into
mainfrom
enhancement/16-20260730-consumer-neutral-core
Jul 30, 2026
Merged

refactor: add consumer-neutral CLI profiles#17
codeforester merged 1 commit into
mainfrom
enhancement/16-20260730-consumer-neutral-core

Conversation

@codeforester

Copy link
Copy Markdown
Contributor

What

  • Add CliProfile with generic and temporary legacy Base policies.
  • Move project discovery, configuration, runtime placement, history, and wrapper display decisions behind the profile boundary.
  • Add a neutral runtime namespace and Context.application_home compatibility alias.
  • Document the generic contract, compatibility behavior, and migration phases.

Why

base_cli is intended to be a standalone CLI lifecycle library, but App directly encoded Base manifest, config, cache, history, and delegation conventions.

Impact

Standalone consumers can opt into CliProfile.generic() with no implicit manifest, product-owned config, or history behavior. Existing App() callers retain historical Base behavior through CliProfile.legacy_base() while the Base repository migrates to an explicit adapter.

Root cause

Consumer-specific policy lived inside the generic application lifecycle instead of being injected at the boundary.

Checks

  • 157 passed, 4 subtests passed
  • ./tests/validate.sh
  • git diff --check

Fixes #16

This is the first compatibility-preserving migration slice. Follow-up work will move the legacy Base adapter and remaining Base-shaped context/config/history types into the Base consumer. The package rename is intentionally out of scope.

@codeforester
codeforester marked this pull request as ready for review July 30, 2026 21:17
@codeforester
codeforester merged commit 59471fa into main Jul 30, 2026
11 checks passed
@codeforester
codeforester deleted the enhancement/16-20260730-consumer-neutral-core branch July 30, 2026 21:17
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.

Refactor base-cli into a consumer-neutral CLI core

1 participant