Skip to content

feat: post init config command - #4577

Open
therightstuff wants to merge 3 commits into
github:mainfrom
therightstuff:feat/post-init-config-command
Open

therightstuff wants to merge 3 commits into
github:mainfrom
therightstuff:feat/post-init-config-command

Conversation

@therightstuff

Copy link
Copy Markdown

Add post-initialization project configuration

Description

Adds specify config so users can inspect and change supported project settings
after initialization:

  • list and list --json show persisted settings and installed extensions.
  • get <key> reads a setting; set feature-numbering sequential|timestamp
    updates numbering while preserving other settings.
  • Integration-owned settings direct users to specify integration use or
    upgrade, which regenerate the affected agent files. Read-only metadata and
    unknown keys receive distinct errors.
  • config extension exposes the existing extension lifecycle commands.

Configuration writes reject malformed or unreadable initialization files.
Legacy projects without an options file must select or install an integration
first, preventing a settings update from disabling legacy command registration.

Includes configuration reference documentation and a developer verifier that
exercises the workflow in a disposable project, including when
SPECIFY_INIT_DIR points to an existing project.

Testing

179 focused tests passed:

source .venv/bin/activate
python -m pytest tests/test_config_cli.py \
  tests/test_verify_post_initialization_configuration_script.py \
  tests/integrations/test_integration_subcommand.py -q

Coverage includes configuration validation and persistence, legacy extension
registration, disposable-project verification, script-upgrade regeneration,
and preservation of customized commands and saved settings on refused upgrades.

uvx --offline ruff@0.15.0 check src tests and git diff --check passed.
The full repository test suite was not run.

AI Disclosure

  • I did use AI assistance.

Codex (GPT-6) assisted with implementation, review, tests, and documentation.

Expose persisted project settings and extension management through specify config. Keep integration-owned settings protected and reject invalid configuration before updating it.

Add an isolated workflow verifier, regression coverage, and configuration documentation.

Assisted-by: Codex (model: GPT-6, autonomous)
The upstream artifact catalog discovers scripts at the core script root. Move the contributor-only verifier into scripts/dev and update its callers so it does not appear as a runtime artifact.

Assisted-by: Codex (model: GPT-6, autonomous)
Reject config writes that would disable legacy command registration. Add script-upgrade regression coverage and document the supported configuration and lint workflows.

Assisted-by: Codex (model: GPT-6, autonomous)
@mnriem mnriem added the triage-can-wait Verdict: valid and in-scope but deprioritized; held behind the evidence gate label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-can-wait Verdict: valid and in-scope but deprioritized; held behind the evidence gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants