spec-kitty / spec-kitty/spec-kitty

Fork packaging: complete package-identity SSOT (detection layer + internal spec-kitty-cli hardcodes)

Open
#2,872 1 comment 0 reactions 0 assignees View on GitHub
priority:P2
Dominant language
Python
Stars
1.6k
Forks
165
Avg merge
14h 52m
Merged PRs (30d)
303

Description

Follow-up from the #2859 landing-pass review (paula-patterns MAJOR-1, architect-alphonso). #2859 wires the `DistributionProfile` through argv/display/version resolution, but two clusters still hardcode the upstream distribution name, so a renamed fork is only partially supported:

**Detection layer (paula MAJOR-1)** — resolve the fork name (+ aliases) instead of `_PACKAGE_NAME = "spec-kitty-cli"`:
- `src/specify_cli/compat/_detect/install_method.py:62,102,195,209`
- `src/specify_cli/compat/_adapters/uv_receipt.py:90,148,324` (equality → membership over {name, *aliases})

**Internal self-references (broad sweep)** — route through `resolve_cli_package_name()` where the value is user-facing identity; keep as tool-lineage only where a stamp is deliberately the upstream tool:
- `src/specify_cli/core/file_lock.py:114` (provenance stamp)
- `src/charter/synthesizer/{synthesize_pipeline.py:65,orchestrator.py:132,resynthesize_pipeline.py:364}`
- `src/specify_cli/shims/generator.py:48`, `src/specify_cli/template/asset_generator.py:23`

Each site needs a per-case adjudication (identity vs lineage) + a regression test. Being addressed as a fold on the #2859 branch by the landing pass; this issue tracks the scope and any deferred sites.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contributor guide

Open the contributing guide

Research direction

Start with the DistributionProfile and resolve_cli_package_name() work from #2859, then inspect the listed detection files and internal self-reference sites. Decide for each occurrence whether it represents fork identity or upstream lineage, and add a regression test for each addressed case; the scope is complete when detection, aliases, and user-facing references no longer rely on inappropriate hardcodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, developer-experience, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.