feat: add CONFIG_ARGUMENTS and fix _route_config for unified scraper parity

Previously _route_config only forwarded --dry-run, silently dropping
all enhancement workflows, --merge-mode, and --skip-codebase-analysis.

Changes:
- arguments/create.py: add CONFIG_ARGUMENTS dict with merge_mode and
  skip_codebase_analysis; wire into get_source_specific_arguments(),
  get_compatible_arguments(), and add_create_arguments(mode='config')
- create_command.py: fix _route_config to forward --fresh, --merge-mode,
  --skip-codebase-analysis, and all 4 workflow flags; add --help-config
  handler (skill-seekers create --help-config) matching other help modes
- parsers/create_parser.py: add --help-config flag for unified CLI parity
- tests/test_create_arguments.py: import CONFIG_ARGUMENTS; update config
  source tests to assert correct content instead of empty dict

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
yusyus
2026-02-21 23:51:04 +03:00
parent 4b70c5a860
commit 47226340ac
4 changed files with 78 additions and 12 deletions

View File

@@ -12,6 +12,7 @@ from skill_seekers.cli.arguments.create import (
GITHUB_ARGUMENTS,
LOCAL_ARGUMENTS,
PDF_ARGUMENTS,
CONFIG_ARGUMENTS,
ADVANCED_ARGUMENTS,
get_universal_argument_names,
get_source_specific_arguments,
@@ -158,9 +159,11 @@ class TestArgumentHelpers:
assert args == PDF_ARGUMENTS
def test_get_source_specific_config(self):
"""Config should return empty dict (no extra args)."""
"""Config should return CONFIG_ARGUMENTS (merge-mode, skip-codebase-analysis)."""
args = get_source_specific_arguments("config")
assert args == {}
assert args == CONFIG_ARGUMENTS
assert "merge_mode" in args
assert "skip_codebase_analysis" in args
def test_get_source_specific_unknown(self):
"""Unknown source should return empty dict."""
@@ -223,16 +226,20 @@ class TestCompatibleArguments:
assert "ocr" in compatible
def test_config_compatible_arguments(self):
"""Config source should include universal + advanced only."""
"""Config source should include universal + config-specific + advanced."""
compatible = get_compatible_arguments("config")
# Should include universal arguments
assert "config" in compatible
# Should include config-specific arguments
assert "merge_mode" in compatible
assert "skip_codebase_analysis" in compatible
# Should include advanced arguments
assert "no_preserve_code_blocks" in compatible
# Should not include source-specific arguments
# Should not include other source-specific arguments
assert "repo" not in compatible
assert "directory" not in compatible