feature:add
Introduction
feature:add puts a feature you are developing into the selected product, linked to its editable copy at the workspace root. Use it right after feature:create.
splent feature:add splent-io/splent_feature_notes
notes added to features
reinstalling in web container...
done.
The feature is declared in pyproject.toml, linked under features/ and reinstalled in the web container, so Flask reloads with no product:derive. Comments, blank lines, key order and quote style stay as they were in the file.
Adding a feature for one environment
splent feature:add splent-io/splent_feature_notes --dev
--dev declares it in features_dev and --prod in features_prod. Without either, the env of the feature’s contract decides. A feature with no env keeps the lists it is in, and a new one goes to features.
Turning a pinned feature into an editable one
splent feature:add splent-io/splent_feature_notes
A pin such as splent_feature_notes@v1.2.0 is replaced by the editable entry, with its symlink and manifest entry.
replacing splent-io/splent_feature_notes@v1.2.0 in features
notes added to features
feature:unlock does the same and makes the working copy for you.
Reference
| Option | Description |
|---|---|
--dev |
Declare it in features_dev |
--prod |
Declare it in features_prod |
| Message | Exit | What to do |
|---|---|---|
<feature> not found at workspace root. |
1 | Create it with feature:create, or clone it |
<short> already in <list>. |
0 | Nothing to do |
<path> was left as it was, because <reason> |
1 | Make the edit by hand. Nothing was written |
web container ... is not running; skipping hot reinstall. |
0 | Start the product with product:up |
Requirements
- A selected product (
SPLENT_APP). - The feature at the workspace root,
<workspace>/<feature>/.
See also
feature:attachadds a released version instead.feature:removeundoes this command.feature:installfetches, adds and configures a feature in one step.