Context
Ported Figentra OS packages need Stackra names. The Figentra OS console package is a command-line framework that apps, packages and services build on, and thestackra binary is built on it. Its natural name, @stackra/console, is taken by the web operator app in apps/console. Apps and services in this repository are reference apps (0075), not published framework packages, so they do not need the framework scope. The owner first named the CLI framework @stackra/terminal, then revised that.
Decision
- Framework packages are
@stackra/<name>, with the Figentra name stripped (@figentra-os/signalsbecomes@stackra/state,@figentra-os/routerbecomes@stackra/router). Pro packages are@stackra-pro/<name>(0077). - Apps and services in this repository use the
@figentra/*scope:@figentra/console,@figentra/mobile,@figentra/docs,@figentra/service-<name>. @stackra/consoleis the command-line framework (commands, kernel, terminal and prompter ports) that apps, packages and services use. The name@stackra/terminalis not used.@stackra/cliis thestackrabinary, built on@stackra/console. Commands such asstackra gen(0041) live there.@stackra/navigationkeeps its name. It covers local and remote menus, breadcrumbs and tabs, so “menu” was rejected as too narrow.
Consequences
- When this is accepted, these change in the same change: member names in
apps/*andservices/*,AGENTS.md, the member-name rules intools/scripts/validate-repository.mjs, the templates intools/scaffold, every--filter=@stackra/<app>in scripts, agent definitions and docs, and 0010, which names services@stackra/service-<name>. @figentra/*names private members only. They are never published from this repository.
Enforcement
Planned:tools/scripts/validate-repository.mjs checks that packages/** members are @stackra/*, and that apps/** and services/** members are @figentra/* (@figentra/service-<name> for services). Today it enforces the old names.