@cyber-dash-tech/revela 0.17.18 → 0.17.21

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.
@@ -22,9 +22,17 @@ type RuntimeModule = {
22
22
  designActivate(input: any): any
23
23
  designCreate(input: any): any
24
24
  designValidate(input: any): any
25
+ designDraftCreate(input: any): any
26
+ designDraftValidate(input: any): any
27
+ designDraftInstall(input: any): any
25
28
  domainList(): any
26
29
  domainRead(input?: any): any
27
30
  domainActivate(input: any): any
31
+ domainCreate(input: any): any
32
+ domainValidate(input: any): any
33
+ domainDraftCreate(input: any): any
34
+ domainDraftValidate(input: any): any
35
+ domainDraftInstall(input: any): any
28
36
  storyRead(input?: any): any
29
37
  reviewDeckRead(input: any): Promise<any>
30
38
  reviewDeckOpen(input: any): Promise<any>
@@ -134,6 +142,35 @@ const tools = [
134
142
  description: "Validate a local Revela design package.",
135
143
  inputSchema: objectSchema({ name: requiredStringProp("Design name to validate.") }, ["name"]),
136
144
  },
145
+ {
146
+ name: "revela_design_draft_create",
147
+ description: "Create and validate a workspace-local Revela design draft package.",
148
+ inputSchema: objectSchema({
149
+ workspaceRoot: stringProp("Optional workspace root."),
150
+ name: requiredStringProp("Design name in kebab-case."),
151
+ base: stringProp("Optional base design used as structural scaffold."),
152
+ designMd: requiredStringProp("Complete DESIGN.md content."),
153
+ previewHtml: requiredStringProp("Complete preview.html content."),
154
+ overwrite: booleanProp("Whether to replace an existing workspace draft. Defaults to false."),
155
+ }, ["name", "designMd", "previewHtml"]),
156
+ },
157
+ {
158
+ name: "revela_design_draft_validate",
159
+ description: "Validate a workspace-local Revela design draft package.",
160
+ inputSchema: objectSchema({
161
+ workspaceRoot: stringProp("Optional workspace root."),
162
+ name: requiredStringProp("Design draft name to validate."),
163
+ }, ["name"]),
164
+ },
165
+ {
166
+ name: "revela_design_draft_install",
167
+ description: "Install a validated workspace-local Revela design draft into the user-level design registry.",
168
+ inputSchema: objectSchema({
169
+ workspaceRoot: stringProp("Optional workspace root."),
170
+ name: requiredStringProp("Design draft name to install."),
171
+ overwrite: booleanProp("Whether to replace an existing user-level design package. Defaults to false."),
172
+ }, ["name"]),
173
+ },
137
174
  {
138
175
  name: "revela_domain_list",
139
176
  description: "List installed Revela narrative domains and the active domain.",
@@ -149,6 +186,47 @@ const tools = [
149
186
  description: "Activate a Revela narrative domain for future narrative authoring guidance.",
150
187
  inputSchema: objectSchema({ name: requiredStringProp("Domain name to activate.") }, ["name"]),
151
188
  },
189
+ {
190
+ name: "revela_domain_create",
191
+ description: "Create and validate a local Revela narrative domain package from complete INDUSTRY.md content.",
192
+ inputSchema: objectSchema({
193
+ name: requiredStringProp("Domain name in kebab-case."),
194
+ domainMd: requiredStringProp("Complete INDUSTRY.md content."),
195
+ overwrite: booleanProp("Whether to replace an existing local domain package. Defaults to false."),
196
+ }, ["name", "domainMd"]),
197
+ },
198
+ {
199
+ name: "revela_domain_validate",
200
+ description: "Validate a local Revela narrative domain package.",
201
+ inputSchema: objectSchema({ name: requiredStringProp("Domain name to validate.") }, ["name"]),
202
+ },
203
+ {
204
+ name: "revela_domain_draft_create",
205
+ description: "Create and validate a workspace-local Revela narrative domain draft package.",
206
+ inputSchema: objectSchema({
207
+ workspaceRoot: stringProp("Optional workspace root."),
208
+ name: requiredStringProp("Domain name in kebab-case."),
209
+ domainMd: requiredStringProp("Complete INDUSTRY.md content."),
210
+ overwrite: booleanProp("Whether to replace an existing workspace draft. Defaults to false."),
211
+ }, ["name", "domainMd"]),
212
+ },
213
+ {
214
+ name: "revela_domain_draft_validate",
215
+ description: "Validate a workspace-local Revela narrative domain draft package.",
216
+ inputSchema: objectSchema({
217
+ workspaceRoot: stringProp("Optional workspace root."),
218
+ name: requiredStringProp("Domain draft name to validate."),
219
+ }, ["name"]),
220
+ },
221
+ {
222
+ name: "revela_domain_draft_install",
223
+ description: "Install a validated workspace-local Revela narrative domain draft into the user-level domain registry.",
224
+ inputSchema: objectSchema({
225
+ workspaceRoot: stringProp("Optional workspace root."),
226
+ name: requiredStringProp("Domain draft name to install."),
227
+ overwrite: booleanProp("Whether to replace an existing user-level domain package. Defaults to false."),
228
+ }, ["name"]),
229
+ },
152
230
  {
153
231
  name: "revela_story_read",
154
232
  description: "Read a deterministic Revela Story map and optional Markdown view from the canonical narrative vault without mutating files.",
@@ -278,9 +356,17 @@ async function callTool(name: string, args: any): Promise<any> {
278
356
  if (name === "revela_design_activate") return r.designActivate(args)
279
357
  if (name === "revela_design_create") return r.designCreate(args)
280
358
  if (name === "revela_design_validate") return r.designValidate(args)
359
+ if (name === "revela_design_draft_create") return r.designDraftCreate(args)
360
+ if (name === "revela_design_draft_validate") return r.designDraftValidate(args)
361
+ if (name === "revela_design_draft_install") return r.designDraftInstall(args)
281
362
  if (name === "revela_domain_list") return r.domainList()
282
363
  if (name === "revela_domain_read") return r.domainRead(args)
283
364
  if (name === "revela_domain_activate") return r.domainActivate(args)
365
+ if (name === "revela_domain_create") return r.domainCreate(args)
366
+ if (name === "revela_domain_validate") return r.domainValidate(args)
367
+ if (name === "revela_domain_draft_create") return r.domainDraftCreate(args)
368
+ if (name === "revela_domain_draft_validate") return r.domainDraftValidate(args)
369
+ if (name === "revela_domain_draft_install") return r.domainDraftInstall(args)
284
370
  if (name === "revela_story_read") return r.storyRead(args)
285
371
  if (name === "revela_review_deck_read") return r.reviewDeckRead(args)
286
372
  if (name === "revela_review_deck_open") return r.reviewDeckOpen(args)
@@ -25,10 +25,12 @@ Design changes are visual/artifact-level unless they change claim meaning, evide
25
25
 
26
26
  When the user asks to create a new design, use `starter` as the default base design unless they specify another base. Interview the user before saving anything: collect visual references such as images, webpages, brands, decks, or text descriptions, plus must-have and must-avoid constraints. Summarize the design brief and visual schema, then wait for the user to confirm before creating files.
27
27
 
28
- After confirmation, read the base design with `revela_design_read`. Generate complete `DESIGN.md` and complete `preview.html` content, then call `revela_design_create`. For edits to an existing design, read the existing design first, preserve useful layout/component coverage, and call `revela_design_create` with `overwrite: true` only after the user confirms the edit brief. Always call `revela_design_validate` after creation or overwrite.
28
+ After confirmation, read the base design with `revela_design_read`. Generate complete `DESIGN.md` and complete `preview.html` content, then call `revela_design_draft_create` to save a workspace-local draft under `.revela/drafts/designs/<name>/`. Always call `revela_design_draft_validate` after draft creation or overwrite. The direct registry tools `revela_design_create` and `revela_design_validate` remain available for existing workflows, but Codex design authoring should use the draft workflow before install.
29
+
30
+ Install the draft globally only after the user confirms the validated draft should be installed. Call `revela_design_draft_install` to copy the draft into the user-level design registry. If a user-level design already exists, pass `overwrite: true` only after the user confirms replacement. In sandboxed Codex sessions, the install step may require permission to write Revela user config under `~/.config/revela`.
29
31
 
30
32
  `DESIGN.md` must include frontmatter with `name`, `description`, `author`, and `version`, plus valid marker blocks for `@design:foundation`, `@design:rules`, at least one `@layout`, and at least one `@component`.
31
33
 
32
- `preview.html` must be self-contained and directly openable in a browser. Every `<section class="slide">` must include `slide-qa` and exactly one direct `.slide-canvas` child. Include a cover slide with `data-slide-role="cover"`, a closing slide with `data-slide-role="closing"`, and a visible sample for every `@component:*` using `data-preview-component="<component-name>"`.
34
+ `preview.html` must be self-contained and directly openable in a browser. Every `<section class="slide">` must include `slide-qa` and exactly one direct `.slide-canvas` child. Every direct `.slide-canvas` is the fixed 1920px x 1080px export surface and must use explicit CSS with `width: 1920px` and `height: 1080px`; `.slide` may remain a viewport/navigation wrapper. Include a cover slide with `data-slide-role="cover"`, a closing slide with `data-slide-role="closing"`, and a visible sample for every `@component:*` using `data-preview-component="<component-name>"`.
33
35
 
34
- Do not automatically activate a newly created design. Report the saved path and tell the user they can activate it with `revela_design_activate`.
36
+ Do not automatically activate a newly created design. Do not automatically activate a newly installed design. Report the draft path, installed path when installed, and tell the user they can activate it with `revela_design_activate`.
@@ -5,7 +5,7 @@ description: Use or switch Revela narrative domain guidance in Codex for init, r
5
5
 
6
6
  # Revela Domain
7
7
 
8
- Use this skill when the user asks about Revela domains, wants domain-specific narrative guidance, or asks to switch the active domain.
8
+ Use this skill when the user asks about Revela domains, wants domain-specific narrative guidance, asks to switch the active domain, or asks to create a new domain.
9
9
 
10
10
  ## Workflow
11
11
 
@@ -16,3 +16,15 @@ Use this skill when the user asks about Revela domains, wants domain-specific na
16
16
  5. Do not treat domain guidance as evidence, source material, or proof for factual claims.
17
17
 
18
18
  Domain changes are narrative-framing preferences. They do not rewrite existing claims, evidence boundaries, artifacts, or deck plans unless the user asks for those updates.
19
+
20
+ ## Creating Or Editing Domains
21
+
22
+ When the user asks to create a new domain, interview the user before saving anything. Collect the communication context, typical audience, decisions, claim patterns, evidence expectations, common objections, risks, research-gap heuristics, terminology to use, and terminology to avoid. Summarize the domain brief, then wait for the user to confirm before creating files.
23
+
24
+ After confirmation, generate complete `INDUSTRY.md` content and call `revela_domain_draft_create` to save a workspace-local draft under `.revela/drafts/domains/<name>/`. Always call `revela_domain_draft_validate` after draft creation or overwrite.
25
+
26
+ Install the draft globally only after the user confirms the validated draft should be installed. Call `revela_domain_draft_install` to copy the draft into the user-level domain registry. If a user-level domain already exists, pass `overwrite: true` only after the user confirms replacement. In sandboxed Codex sessions, the install step may require permission to write Revela user config under `~/.config/revela`.
27
+
28
+ `INDUSTRY.md` must include frontmatter with `name`, `description`, `author`, and `version`, followed by concrete narrative guidance for audience framing, decision framing, claim standards, evidence expectations, objection/risk handling, and research-gap interpretation.
29
+
30
+ Do not automatically activate a newly installed domain. Report the draft path, installed path when installed, and tell the user they can activate it with `revela_domain_activate`.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: revela-upgrade
3
+ description: Guide Revela Codex plugin upgrade, update, version, and reinstall requests while checking the running runtime version first.
4
+ ---
5
+
6
+ # Revela Upgrade
7
+
8
+ Use this skill when the user asks how to upgrade, update, reinstall, or check the version of the Revela Codex plugin.
9
+
10
+ ## Workflow
11
+
12
+ 1. Call `revela_doctor` first to inspect the currently running Revela runtime version.
13
+ 2. Report the current runtime version from doctor output. Do not check the latest version online unless the user explicitly asks you to look it up.
14
+ 3. Explain that the Codex Git marketplace ref and `.mcp.json` npm runtime pin are published together for the same Revela release.
15
+ 4. If the user wants a fixed release, guide them through removing the installed plugin, removing the marketplace entry, adding the desired release tag, then adding the plugin again:
16
+
17
+ ```bash
18
+ codex plugin remove revela@revela
19
+ codex plugin marketplace remove revela
20
+ codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref vX.Y.Z
21
+ codex plugin add revela@revela
22
+ ```
23
+
24
+ 5. If the user already tracks a branch or movable ref, guide them through upgrading the marketplace clone, then re-adding the plugin:
25
+
26
+ ```bash
27
+ codex plugin marketplace upgrade revela
28
+ codex plugin add revela@revela
29
+ ```
30
+
31
+ 6. Tell the user to start a new Codex thread after upgrading so Codex reloads the Revela skills, MCP tools, hooks, and runtime pin.
32
+
33
+ Do not run `codex plugin remove`, `codex plugin marketplace remove`, `codex plugin marketplace add`, `codex plugin marketplace upgrade`, or `codex plugin add` unless the user explicitly asks you to perform the upgrade or reinstall.