Feature Lifecycle

These commands cover the full lifecycle of a feature – creating new ones, acquiring existing ones from GitHub, linking them to products, and removing or cleaning them up. A feature moves through several states: cached, declared, installed, migrated, and active.


Command reference

Command Description
feature:create Scaffold a new feature locally
feature:clone Clone a feature from GitHub into the cache
feature:fork Fork a feature on GitHub and clone it locally
feature:add Add an editable feature to the active product. Use --dev to add to features_dev only.
feature:remove Remove an editable feature from the active product
feature:attach Pin a released version to the active product. Use --dev or --prod for env-specific features.
feature:detach Unpin a versioned feature from the active product
feature:unlock Convert a versioned snapshot to an editable clone
feature:delete Delete a versioned snapshot from the cache
feature:discard Discard an editable clone from the cache

Environment-specific features

Features can be scoped to a specific environment using --dev or --prod flags:

splent feature:add ns/name --dev          # adds to [tool.splent].features_dev
splent feature:attach ns/name@v1.0 --dev  # pins to features_dev
splent feature:attach ns/name@v1.0 --prod # pins to features_prod

This writes the feature entry to features_dev or features_prod in pyproject.toml instead of the default features list. Features in features_dev are only loaded when SPLENT_ENV=dev, and features_prod only when SPLENT_ENV=prod.


Table of contents


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es