477
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill dmmulroy/.dotfiles --skill vcs-detect- SKILL.md1.9 KB
Overview
This skill detects whether the current project uses jj (Jujutsu) or git for version control and outputs which tool to use. It runs a lightweight probe before any VCS command so an agent or script can select the correct CLI and avoid errors. The skill favors jj when both systems are present (colocated repos).
How this skill works
It executes the native discovery commands that walk the filesystem to find the repository root. First it runs jj root and, if that succeeds, returns jj. If that fails it runs git rev-parse --show-toplevel and returns git on success. If both fail it reports none so callers know the directory is not version controlled.
When to use it
- Before running any VCS command to avoid invoking the wrong tool
- In automation or CI scripts that must support both jj and git repositories
- When opening a repo that may be colocated with both .jj/ and .git/
- In language agents that translate user VCS requests into concrete commands
- During pre-flight checks for developer tooling or editor integrations
Best practices
- Run the detection command at the start of any VCS-related workflow
- Prefer jj when detection finds both jj and git present (colocated repos)
- Cache the detected result for the session if the working directory is unchanged
- Treat a
noneresult as a signal to warn the user or initialize a repository - Keep the detection command simple and side-effect free (no writes)
Example use cases
- An assistant receives “Show me the log” and runs detection to choose
jj logorgit log - A CI step adapts its fetch/checkout commands depending on the repo's VCS
- An editor plugin decides which status and branch commands to run for the open project
- A wrapper script exposes unified commands and delegates to the correct VCS
- A migration tool verifies target repositories and avoids running incompatible commands
FAQ
It runs jj root and falls back to git rev-parse --show-toplevel; if neither succeeds it reports none.
Why prefer jj when both .jj/ and .git/ exist?
In colocated repos jj manages the working copy and should be the command used for repository operations; git may be present for compatibility only.