@decantr/cli 2.9.5 → 2.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -189,7 +189,7 @@ decantr workspace health --json --output .decantr/workspace-health.json
189
189
  decantr verify --workspace --changed --since origin/main
190
190
  ```
191
191
 
192
- In observed Brownfield projects, common section shorthands are accepted for page additions when they resolve unambiguously. For example, `decantr add page app/settings --route /settings --project apps/web` resolves `app` to the single primary section, such as `observed-primary`, so docs and LLM prompts do not have to guess generated section IDs first.
192
+ In observed Brownfield projects, common section shorthands are accepted for page and feature additions when they resolve unambiguously. For example, `decantr add page app/settings --route /settings --project apps/web` and `decantr add feature saved-recipes --section app --project apps/web` resolve `app` to the single primary section, such as `observed-primary`, so docs and LLM prompts do not have to guess generated section IDs first.
193
193
 
194
194
  `decantr studio` starts a local-only dashboard powered by the same report. It uses Node built-ins only and serves `GET /`, `GET /api/health`, and `POST /api/refresh`.
195
195
 
package/dist/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-3KJ46XY7.js";
2
+ import "./chunk-32H5SFKV.js";
3
3
  import "./chunk-RXF7ZYGK.js";
4
4
  import "./chunk-VCUFZB45.js";
5
5
  import "./chunk-FACL3NXU.js";
@@ -1940,16 +1940,23 @@ async function cmdAddFeature(feature, args, projectRoot = process.cwd()) {
1940
1940
  sectionId = readFlagValue(args, "section");
1941
1941
  if (sectionId) {
1942
1942
  const sections = essence.blueprint.sections;
1943
- const section = sections.find((s) => s.id === sectionId);
1944
- if (!section) {
1945
- console.error(`${RED}Section "${sectionId}" not found.${RESET}`);
1946
- console.error(`${DIM}Available sections: ${sections.map((s) => s.id).join(", ")}${RESET}`);
1943
+ const resolved = resolveSectionForPage(sections, sectionId);
1944
+ if (!resolved) {
1945
+ printSectionNotFound(sectionId, sections);
1947
1946
  process.exitCode = 1;
1948
1947
  return;
1949
1948
  }
1949
+ const { section } = resolved;
1950
+ const resolvedSectionId = section.id;
1950
1951
  if (!section.features.includes(feature)) {
1951
1952
  section.features.push(feature);
1952
1953
  }
1954
+ if (resolved.resolvedFromAlias) {
1955
+ console.log(
1956
+ `${YELLOW}Resolved section alias "${sectionId}" to "${resolvedSectionId}".${RESET}`
1957
+ );
1958
+ }
1959
+ sectionId = resolvedSectionId;
1953
1960
  }
1954
1961
  if (!essence.blueprint.features.includes(feature)) {
1955
1962
  essence.blueprint.features.push(feature);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import "./chunk-3KJ46XY7.js";
1
+ import "./chunk-32H5SFKV.js";
2
2
  import "./chunk-RXF7ZYGK.js";
3
3
  import "./chunk-VCUFZB45.js";
4
4
  import "./chunk-FACL3NXU.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decantr/cli",
3
- "version": "2.9.5",
3
+ "version": "2.9.6",
4
4
  "description": "Decantr CLI - scaffold, audit, inspect Project Health, and maintain Decantr projects from the terminal",
5
5
  "keywords": [
6
6
  "decantr",
@@ -50,9 +50,9 @@
50
50
  "ajv": "^8.20.0",
51
51
  "@decantr/core": "2.1.0",
52
52
  "@decantr/registry": "2.2.0",
53
- "@decantr/telemetry": "2.2.1",
54
53
  "@decantr/essence-spec": "2.0.1",
55
- "@decantr/verifier": "2.3.3"
54
+ "@decantr/verifier": "2.3.3",
55
+ "@decantr/telemetry": "2.2.1"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "tsup",