feature:git
Introduction
feature:git runs any git command inside a feature’s folder, wherever it lives on disk. You commit and push without moving into each feature.
splent feature:git notes status
📁 /workspace/splent_feature_notes
On branch main
Changes not staged for commit:
modified: src/splent_io/splent_feature_notes/services.py
It prints the folder first, then git’s output, and exits with git’s exit code, so it works in scripts and CI steps.
Committing and pushing
splent feature:git notes commit -m "Fix the empty state"
splent feature:git notes push
splent feature:git notes log --oneline -5
Every argument after the feature name goes to git untouched, options included.
Which folder it uses
It takes the feature’s link in your product’s features/, resolved to its target. That is the copy at the workspace root for an editable feature, and the cache snapshot for a pinned one. Without a link, it looks in .splent_cache/features/ and then at <workspace>/<feature>/.
A pinned snapshot is a shallow clone of a tag. To commit, work in an editable copy, see
feature:unlock.
Reference
| Argument | Description |
|---|---|
FEATURE_REF |
The feature, short (notes) or full (splent_feature_notes) |
GIT_ARGS |
The git subcommand and its arguments |
It needs a selected product (SPLENT_APP).
| Message | What to do |
|---|---|
No git command provided. |
Add a git subcommand after the feature name |
Feature '<name>' not found in cache or workspace. |
Check the name with feature:list |
See also
feature:pullpulls every editable feature at once.