@contextium/cli 1.0.11 → 1.0.13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contextium/cli",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "Command-line tool for managing Contextium documentation, agents, skills, and workflows — pipe context to AI coding assistants",
5
5
  "keywords": [
6
6
  "contextium",
@@ -105,7 +105,7 @@ Based on the project description and the analysis, build a setup plan. Think thr
105
105
 
106
106
  **Libraries:** What distinct knowledge areas did the user mention? Each major topic or type of content that needs to be stored separately should be its own library. If an existing library already covers one of these, mark it for reuse.
107
107
 
108
- **Agents:** What kind of AI assistant roles would serve this project? Think about what tasks the user will perform research, writing, analysis, Q&A, etc. If an existing agent fits, mark it for reuse.
108
+ **Agents:** Always include a "Project Architect" agent as the first agent — its role is to define the project process, break the work into phases, and track overall progress. Write its system prompt to be specific to this project's domain and goals. Then think about what other AI assistant roles would serve this project based on what the user described. If an existing agent fits one of the additional roles, mark it for reuse.
109
109
 
110
110
  **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.
111
111
 
@@ -151,13 +151,71 @@ Shall I go ahead and create all of this?
151
151
  Wait for the user to confirm, adjust, or say skip on any item before proceeding.
152
152
  </step>
153
153
 
154
+ <step name="research_question">
155
+ Ask the user:
156
+
157
+ "Does this project need research before you start work? I can create a dedicated research agent to gather information, analyse sources, and summarise findings for your project."
158
+
159
+ Use AskUserQuestion:
160
+ - "Yes, add a research agent"
161
+ - "No, skip"
162
+
163
+ If yes: add a project-specific research agent to the creation plan. Name it something like "**[Project Name] Researcher**" and tailor its system prompt to the specific research domain (e.g. competitor analysis, technical investigation, market research — infer from the project description). Store this agent as `research_agent_planned = true` for use in later steps.
164
+
165
+ If no: set `research_agent_planned = false` and continue.
166
+ </step>
167
+
168
+ <step name="planner_question">
169
+ Ask the user:
170
+
171
+ "Would you like a project planner to break your project into phases and track progress? I'll create a planning agent and a phase tracker document you can follow from start to finish."
172
+
173
+ Use AskUserQuestion:
174
+ - "Yes, add a project planner"
175
+ - "No, skip"
176
+
177
+ If yes:
178
+ 1. Add a "**[Project Name] Planner**" agent to the creation plan — its role is to define project phases, estimate scope, and guide execution in order. Tailor its system prompt to the project domain. Store as `planner_planned = true`.
179
+ 2. After all resources are created, create a planning document file in the most relevant library. The file should contain a phased breakdown of the project inferred from the user's description — structured like:
180
+
181
+ ```markdown
182
+ # [Project Name] — Project Plan
183
+
184
+ ## Phase 1: [Name]
185
+ **Status:** Not Started
186
+ [Brief description of what this phase covers]
187
+
188
+ ## Phase 2: [Name]
189
+ **Status:** Not Started
190
+ [Brief description]
191
+
192
+ ...
193
+ ```
194
+
195
+ Infer sensible phases from the project description. Use "Not Started" for all phases. Title the file something like `project-plan.md`.
196
+
197
+ If no: set `planner_planned = false` and continue.
198
+ </step>
199
+
154
200
  <step name="create_resources">
155
- Only create what the user confirmed. Create in this order: tag types → tags → libraries → skills → agents.
201
+ Only create what the user confirmed across all steps. Create in this order: tag types → tags → libraries → skills → agents (including research and planner agents if confirmed).
156
202
 
157
203
  Do NOT create a workflow in this step.
158
204
 
159
205
  Show `✓ Created "Name"` for each item as it is created. Show `↗ Reusing "Name"` for each existing resource being included.
160
206
 
207
+ If `planner_planned = true`, create the project plan file after all other resources are created:
208
+
209
+ **CLI:**
210
+ ```bash
211
+ cat << 'EOF' | contextium new <library-name> -t "[Project Name] — Project Plan" -p "project-plan.md" --stdin -w <workspace>
212
+ <generated phase content>
213
+ EOF
214
+ ```
215
+ **MCP:** call mcp__contextium__create_file with the phase content.
216
+
217
+ Show `✓ Created project plan "project-plan.md"` when done.
218
+
161
219
  Suppress all errors silently — if something fails, skip it quietly and note it in the summary.
162
220
 
163
221
  **CLI commands:**
@@ -165,7 +223,6 @@ Suppress all errors silently — if something fails, skip it quietly and note it
165
223
  contextium library create "<name>" --workspace <slug>
166
224
  contextium agent create "<name>" --workspace <slug>
167
225
  contextium skill create "<name>" --workspace <slug>
168
- contextium workflow create "<name>" --workspace <slug>
169
226
  contextium tag create "<value>" --type <type-slug> --workspace <slug>
170
227
  contextium tag-type create "<name>" --workspace <slug>
171
228
  ```
@@ -195,6 +252,40 @@ Then automatically load it:
195
252
  If they say no, skip workflow creation and loading entirely.
196
253
  </step>
197
254
 
255
+ <step name="post_workflow_actions">
256
+ This step only runs if `research_agent_planned = true` or `planner_planned = true`.
257
+
258
+ **If `research_agent_planned = true`:**
259
+
260
+ Ask the user:
261
+
262
+ "Would you like to start the research phase now? I can activate the [Project Name] Researcher and begin gathering information based on your project description."
263
+
264
+ Use AskUserQuestion:
265
+ - "Yes, start research now"
266
+ - "No, not yet"
267
+
268
+ If yes: activate the research agent — instruct it to begin researching based on the project description provided earlier. Let it run and surface findings to the user. Do not proceed to the planning question.
269
+
270
+ If no: fall through to the planning question below (if applicable).
271
+
272
+ ---
273
+
274
+ **If `planner_planned = true` (and research was either not created or the user said no to starting it):**
275
+
276
+ Ask the user:
277
+
278
+ "Would you like to plan the project now? The [Project Name] Planner can work through the project description and produce a detailed phase-by-phase plan."
279
+
280
+ Use AskUserQuestion:
281
+ - "Yes, start planning now"
282
+ - "No, I'll do it later"
283
+
284
+ If yes: activate the planner agent — instruct it to analyse the project description and produce a detailed phased plan, updating the `project-plan.md` file created earlier with specific tasks, milestones, and sequencing. Let it run and surface the plan to the user.
285
+
286
+ If no: continue to summary.
287
+ </step>
288
+
198
289
  <step name="summary">
199
290
  Show a clean final summary:
200
291
 
@@ -221,7 +312,29 @@ If anything failed to create, add a single line at the end:
221
312
  - Run all checks and fetches silently — only surface progress labels and the final plan
222
313
  - Only ask questions when genuinely needed — the description step and the confirmation step
223
314
  - Do not ask the user what to create — figure it out from the description, then ask them to confirm
315
+ - Always create a "Project Architect" agent first, regardless of what the user described — tailor its system prompt to the specific project domain and goals
224
316
  - If a resource already exists and is relevant, always prefer reuse over creating a duplicate
225
317
  - The plan report must explain the reasoning for each item — not just list names
226
318
  - Never create anything before the user confirms the plan
227
319
  </rules>
320
+
321
+ <ongoing-project-rules>
322
+ These rules apply for the duration of the project, after setup is complete.
323
+
324
+ **New suggestions and feature ideas**
325
+ - Whenever a new feature, idea, or suggestion comes up during the project, ask: "Would you like to add this to the project plan to tackle after the current work is done?"
326
+ - If yes: append it to `project-plan.md` as a new phase with status "Not Started"
327
+ - If no: note it and continue with the current work
328
+
329
+ **Tackling a new feature or setting**
330
+ - When the user is ready to start work on a new feature or area of the project, ask:
331
+ 1. "Would you like to run a research phase on this first?" — if a research agent exists, use it; otherwise offer to create one
332
+ 2. "Would you like a phased plan for this?" — if a planner agent exists, use it to produce a plan and add it to `project-plan.md`; otherwise offer to create one
333
+ - If the user says no to both, continue directly using the existing agents based on their instructions — no extra setup needed
334
+ - Treat each new feature as its own mini-project using the existing workspace resources — never create duplicate agents or skills if suitable ones already exist
335
+
336
+ **Suggesting new agents and skills**
337
+ - If the work the user is describing would clearly benefit from an agent or skill that doesn't exist yet, proactively suggest creating one — explain what it would do and why it would help
338
+ - Never create new agents or skills without the user's confirmation
339
+ - Always check existing workspace resources before suggesting something new
340
+ </ongoing-project-rules>