Skip to content

keryx theme promote

Description

Copies a project theme into your user library, so every project can use it.

Themes are usually authored where the work is — in a project, against a real reel. Without promotion a good theme stays stranded there. This lifts it into your user config (spec 0046).

Usage

keryx theme promote <keyword> --type reel|article|portrait

Run keryx theme promote --help for the authoritative, always-current flag set.

It copies, it does not move

The project keeps its own definition — that is what CI reads, since a build runner has no user config. Promotion adds a second copy for your other projects:

$ keryx theme promote emberlight --type reel
promoted reel theme "emberlight" to your user library
written to /home/you/.keryx/config.yaml
the project keeps its own copy — that is what CI reads

From then on the theme exists in both scopes, and the project's copy wins inside that project. keryx theme list shows which scope each theme resolves from:

$ keryx theme list --type reel
reel (default: house)
  emberlight               project
* house                    user

Re-promoting

Running it again on a theme you have since edited in the project refreshes the user copy. That is the natural way to push a later change back up, so it is not treated as an error.

Promoting a theme the project does not define is refused — there is nothing to promote, and silently rewriting your user copy from itself would be a confusing no-op.

See also