Summary
The --contrib flag on patina repo add tries to turn a reference repo into a contribution workspace. This violates unix-philosophy (one tool, one job) and creates an awkward workflow.
Problem
Reference repos with --contrib:
- Live in
~/.patina/cache/repos/ - not where developers work
- Use shallow clone (
--depth 1) - limited git history
- No pre-commit hooks installed
- Awkward to navigate:
cd ~/.patina/cache/repos/dojo
Current Behavior
patina repo add dojoengine/dojo --contrib
# Creates fork, but repo is in cache directory
# No hooks, shallow clone, weird location
Recommended Behavior
Reference repos should be read-only for querying:
# For learning/querying
patina repo add dojoengine/dojo
patina scry "spawn patterns" --repo dojo
# For contributing - use proper clone
cd ~/Projects
git clone https://github.com/dojoengine/dojo
cd dojo
patina init . # Full workspace with hooks, history, secrets protection
Tasks
References
src/commands/repo/mod.rs - CLI definition
src/commands/repo/internal.rs - Implementation (lines 152-163, 675-732)
Summary
The
--contribflag onpatina repo addtries to turn a reference repo into a contribution workspace. This violates unix-philosophy (one tool, one job) and creates an awkward workflow.Problem
Reference repos with
--contrib:~/.patina/cache/repos/- not where developers work--depth 1) - limited git historycd ~/.patina/cache/repos/dojoCurrent Behavior
Recommended Behavior
Reference repos should be read-only for querying:
Tasks
--contribflag fromRepoCommands::Addcreate_fork()andupgrade_to_contrib()functionscontribandforkfields fromRepoEntry(or keep for future use)--contribpatina repo addoutput: "For contributing, clone locally and runpatina init ."References
src/commands/repo/mod.rs- CLI definitionsrc/commands/repo/internal.rs- Implementation (lines 152-163, 675-732)