@contextium/cli 1.7.0 → 1.8.0

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.
@@ -13,9 +13,6 @@ allowed-tools:
13
13
  - mcp__contextium__create_workflow
14
14
  - mcp__contextium__list_workflows
15
15
  - mcp__contextium__list_tags
16
- - mcp__contextium__list_tag_types
17
- - mcp__contextium__create_tag
18
- - mcp__contextium__create_tag_type
19
16
  - mcp__contextium__create_file
20
17
  - mcp__contextium__add_phase
21
18
  - mcp__contextium__load_workflow
@@ -190,7 +187,7 @@ Then analyse the results against the project description:
190
187
  - Which existing libraries (if any) are relevant to what the user described?
191
188
  - Which existing agents (if any) could serve this project?
192
189
  - Which existing skills (if any) are applicable?
193
- - Which existing tags/tag types (if any) relate to the topics mentioned?
190
+ - Which existing tags (if any) relate to the topics mentioned?
194
191
 
195
192
  Internally categorise everything as: **reuse** (relevant, already exists) or **create** (needed, does not exist).
196
193
  </step>
@@ -204,7 +201,7 @@ Based on the project description and the analysis, build a setup plan. Think thr
204
201
 
205
202
  **Skills:** What reusable knowledge blocks would help agents working on this project? Think about domain-specific guidelines, reference material, or persistent context the agent needs. If an existing skill fits, mark it for reuse.
206
203
 
207
- **Tags:** What topic or category labels would make sense for organising **files within context libraries** for this project? Tags apply to library files only — never suggest tags for agents or skills. Look for existing tag types that match. If none exist, suggest new ones. Think in terms of tag categories (e.g. `topic`, `source`, `status`) and the specific tag values within them (e.g. `topic:space-travel`, `topic:rocket-engineering`).
204
+ **Tags:** What flat labels would help organise **files within context libraries** for this project? Tags are flat and untyped (no categories/types) — a single lowercase word or hyphenated phrase, e.g. `space-travel`, `rocket-engineering`, `research`, `draft`. Tags apply to library files only — never suggest tags for agents or skills. **Tags are not created as a setup step** a tag comes into existence the moment a file's content contains a `#value` token (Contextium auto-creates it on save). So do NOT pre-create tags; instead suggest a small set of useful flat values the user can drop inside file content as `#value` as files are written. Look for existing tags that already match before suggesting new ones.
208
205
 
209
206
  Present the plan in this format (omit any section that has nothing in it):
210
207
 
@@ -406,7 +403,7 @@ If no to the quality agent question: set `quality_agent_planned = false` and con
406
403
  </step>
407
404
 
408
405
  <step name="create_resources">
409
- Only create what the user confirmed across all steps. Create in this order: tag types → tags → libraries → skills → agents (including research, planner, and quality agents if confirmed).
406
+ Only create what the user confirmed across all steps. Create in this order: libraries → skills → agents (including research, planner, and quality agents if confirmed). Tags are NOT a creation step — they are authored inline by adding a `#value` token to a file's content as files are written, and Contextium auto-creates the tag on save.
410
407
 
411
408
  Do NOT create a workflow in this step.
412
409
 
@@ -436,17 +433,17 @@ Suppress all errors silently — if something fails, skip it quietly and note it
436
433
  contextium library create "<name>" --description "<description>" --workspace <slug>
437
434
  contextium agent create "<name>" --workspace <slug>
438
435
  contextium skill create "<name>" --workspace <slug>
439
- contextium tag create "<value>" --type <type-slug> --workspace <slug>
440
- contextium tag-type create "<name>" --workspace <slug>
441
436
  ```
442
437
 
438
+ Tags are not created here — to apply a flat tag, add a `#value` token to a file's content (e.g. `contextium edit-file <id> --content "… #urgent"`); Contextium auto-creates the tag on save.
439
+
443
440
  **MCP:** use the corresponding create_* tools for each resource type.
444
441
  </step>
445
442
 
446
443
  <step name="business_analysis">
447
444
  **Only runs when `track == "idea"`.** If `track == "feature"`, skip this entire step.
448
445
 
449
- This is the business-analysis pipeline — it produces the discovery documents that answer "is this idea worth doing, and how hard is the market to break into?" It runs **as the Researcher agent** created in `research_question`: adopt that agent's perspective for the analysis. Every document is written as a **file** in the project library (the single library in `created_library_ids`), never as agent text or phases, so it costs nothing at workflow-load time. Tag each file `type:business-analysis` (create the `type` tag-type and the `business-analysis` value once per workspace, then reuse) so the documents retrieve on demand and stay out of default context loading.
446
+ This is the business-analysis pipeline — it produces the discovery documents that answer "is this idea worth doing, and how hard is the market to break into?" It runs **as the Researcher agent** created in `research_question`: adopt that agent's perspective for the analysis. Every document is written as a **file** in the project library (the single library in `created_library_ids`), never as agent text or phases, so it costs nothing at workflow-load time. Tag each file inline with `#business-analysis` type the `#business-analysis` tag in the file content so the documents retrieve on demand and stay out of default context loading.
450
447
 
451
448
  **Load-cost guard:** analysis output must stay as files + (for the build plan) short DB phases only. Never write analysis prose into agent system prompts, task records, or phase descriptions — those load on every `load_workflow`, whereas files and tags do not. Done right, a project with the full analysis loads no heavier than one without it.
452
449
 
@@ -487,7 +484,7 @@ EOF
487
484
  ```
488
485
  **MCP:** call mcp__contextium__create_file with `libraryId` = the project library ID, `title` = "SWOT Analysis — [Project Name]", `path` = "01-swot.md", and the generated content.
489
486
 
490
- Then apply the `type:business-analysis` tag to the file. Show `✓ Created SWOT analysis "01-swot.md"` when done. Suppress errors silently and note any failure in the summary.
487
+ Then tag the file inline with `#business-analysis` (type the tag in the file content). Show `✓ Created SWOT analysis "01-swot.md"` when done. Suppress errors silently and note any failure in the summary.
491
488
 
492
489
  **Market research (live web) → `02-market-research.md`**
493
490
 
@@ -510,7 +507,7 @@ Who actually buys/uses this, ranked by attractiveness.
510
507
  ## Takeaway
511
508
  2–3 sentences: is the prize big enough to be worth chasing?
512
509
  ```
513
- Write to the project library (`02-market-research.md`), tag `type:business-analysis`. Show `✓ Created market research "02-market-research.md"`.
510
+ Write to the project library (`02-market-research.md`), tag inline with `#business-analysis`. Show `✓ Created market research "02-market-research.md"`.
514
511
 
515
512
  **Competitor analysis (live web) → `03-competitor-analysis.md`**
516
513
 
@@ -535,7 +532,7 @@ Where is the opening this idea could enter through? Be honest — if there's no
535
532
  ## Takeaway
536
533
  2–3 sentences on how crowded and well-funded the field is.
537
534
  ```
538
- Write to `03-competitor-analysis.md`, tag `type:business-analysis`. Show `✓ Created competitor analysis "03-competitor-analysis.md"`.
535
+ Write to `03-competitor-analysis.md`, tag inline with `#business-analysis`. Show `✓ Created competitor analysis "03-competitor-analysis.md"`.
539
536
 
540
537
  **Build plan → `04-build-plan.md` + DB phases**
541
538
 
@@ -549,7 +546,7 @@ Unit type: [phases | chapters | workstreams | …]
549
546
  1. **[Item title]** — [one-line description] · effort: [S/M/L]
550
547
  2. …
551
548
  ```
552
- Write to `04-build-plan.md`, tag `type:business-analysis`. Then **also create each item as a DB phase** of THIS project's plan via `add_phase` (short title + one-line description only — keep RICE/timeline detail in the files, not the phase records). Show `✓ Created build plan "04-build-plan.md" (N phases)`.
549
+ Write to `04-build-plan.md`, tag inline with `#business-analysis`. Then **also create each item as a DB phase** of THIS project's plan via `add_phase` (short title + one-line description only — keep RICE/timeline detail in the files, not the phase records). Show `✓ Created build plan "04-build-plan.md" (N phases)`.
553
550
 
554
551
  **RICE scorecard → `05-rice-scorecard.md`**
555
552
 
@@ -567,7 +564,7 @@ Score every build-plan item. RICE = (Reach × Impact × Confidence) ÷ Effort. U
567
564
  ## What to do first
568
565
  2–3 sentences: which items the scores say to prioritise, and which to defer.
569
566
  ```
570
- Write to `05-rice-scorecard.md`, tag `type:business-analysis`. Show `✓ Created RICE scorecard "05-rice-scorecard.md"`.
567
+ Write to `05-rice-scorecard.md`, tag inline with `#business-analysis`. Show `✓ Created RICE scorecard "05-rice-scorecard.md"`.
571
568
 
572
569
  **Timeline → `06-timeline.md`**
573
570
 
@@ -586,7 +583,7 @@ Turn the build plan + effort into a realistic schedule:
586
583
  ## Assumptions
587
584
  Team size and any assumptions the estimate rests on.
588
585
  ```
589
- Write to `06-timeline.md`, tag `type:business-analysis`. Show `✓ Created timeline "06-timeline.md"`.
586
+ Write to `06-timeline.md`, tag inline with `#business-analysis`. Show `✓ Created timeline "06-timeline.md"`.
590
587
 
591
588
  **Roles → `07-roles.md`**
592
589
 
@@ -604,7 +601,7 @@ For each role: what they do, when they're needed, and whether it can be a human
604
601
  ## Minimum viable team
605
602
  The smallest set of roles needed to ship the lean version.
606
603
  ```
607
- Write to `07-roles.md`, tag `type:business-analysis`. Show `✓ Created roles "07-roles.md"`.
604
+ Write to `07-roles.md`, tag inline with `#business-analysis`. Show `✓ Created roles "07-roles.md"`.
608
605
 
609
606
  **Two-tier financials → `08-financials.md`**
610
607
 
@@ -631,7 +628,7 @@ Same table shape — redundancy, security, scale, full team.
631
628
  ## Read
632
629
  2–3 sentences comparing the two: what the extra spend buys, and which fits the idea's stage.
633
630
  ```
634
- Write to `08-financials.md`, tag `type:business-analysis`. Show `✓ Created financials "08-financials.md"`.
631
+ Write to `08-financials.md`, tag inline with `#business-analysis`. Show `✓ Created financials "08-financials.md"`.
635
632
 
636
633
  **Verdict synthesis → `00-verdict.md` (generated LAST)**
637
634
 
@@ -655,7 +652,7 @@ The lean-MVP number from the financials.
655
652
  ## Bottom line
656
653
  > Market is ~$X. Incumbents funded to ~$Y → difficulty N/10. Entry costs ~$Z lean / ~$W production. **Verdict: …**
657
654
  ```
658
- Write to `00-verdict.md`, tag `type:business-analysis`. Show `✓ Created verdict "00-verdict.md"`.
655
+ Write to `00-verdict.md`, tag inline with `#business-analysis`. Show `✓ Created verdict "00-verdict.md"`.
659
656
 
660
657
  After the verdict, tell the user plainly: "I've written a full business analysis into your library — start with **00-verdict.md** for the go/no-go, then dig into the supporting documents." Do not paste the documents into chat; point to them.
661
658
  </step>
@@ -663,7 +660,7 @@ After the verdict, tell the user plainly: "I've written a full business analysis
663
660
  <step name="feature_build_plan">
664
661
  **Only runs when `track == "feature"`.** If `track == "idea"`, skip this step (the `business_analysis` step already produced the build plan, RICE, and timeline).
665
662
 
666
- A feature inside an existing product doesn't need market/competitor/financial analysis — you're already in that market. It needs to answer "is this feature worth building vs. the other things on the list, and how long will it take?" Produce only three documents, as files in the project library tagged `type:business-analysis`, using the **same formats** defined in the `business_analysis` step:
663
+ A feature inside an existing product doesn't need market/competitor/financial analysis — you're already in that market. It needs to answer "is this feature worth building vs. the other things on the list, and how long will it take?" Produce only three documents, as files in the project library tagged inline with `#business-analysis`, using the **same formats** defined in the `business_analysis` step:
667
664
 
668
665
  1. **Build plan → `04-build-plan.md`** (+ create each item as a DB phase via `add_phase`, short title + one-line description).
669
666
  2. **RICE scorecard → `05-rice-scorecard.md`** (scores the build-plan items — this is the core "worth it?" answer for a feature).