software-mansion / software-mansion/starkup
It should be possible to update local `.tool_versions` via starkup as well
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 35
- Forks
- 6
- Avg merge
- 6h
- Merged PRs (30d)
- 1
Description
Currently, when running starkup, we only update the global (home dir) .tool_versions
However, since starkup is intended not only as one-time installer, but also an updater for all tools, it seems it would be reasonable to also allow using it ot update project's .tool_versions:
Name Version Source Installed
cairo-coverage 0.6.0 /Users/user/.tool-versions true
cairo-profiler 0.16.0 /Users/user/.tool-versions true
scarb nightly-2025-06-07 /Users/user/repos/starkup/.tool-versions true
starknet-devnet 0.7.2 /Users/user/.tool-versions true
starknet-foundry 0.59.0 /Users/user/.tool-versions true
This can be done in various ways, for example:
--localflag: in this case we runasdf setwithout--home- Automatic detection of non-home
.tool-versions-> if present, updates both global tools, and the tools listed in local.tool_versions(and only them) automatically
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read starkup.sh around line 524 and inspect how the global .tool_versions file is updated. Trace the existing argument parsing and update flow, then compare the proposed --local and automatic-detection behaviors. Done means the chosen behavior updates the intended local tools while preserving the existing global update behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100