@caddis/cli 0.4.19 → 0.4.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.
Files changed (40) hide show
  1. package/bundles/antigravity-plugin/plugin.json +1 -1
  2. package/bundles/antigravity-plugin/skills/_registry.md +4 -2
  3. package/bundles/antigravity-plugin/skills/data-lineage/SKILL.md +32 -0
  4. package/bundles/antigravity-plugin/skills/hld/SKILL.md +20 -8
  5. package/bundles/antigravity-plugin/skills/lld/SKILL.md +27 -12
  6. package/bundles/antigravity-plugin/skills/port-to-github/SKILL.md +231 -0
  7. package/bundles/antigravity-plugin/skills/port-to-github/references/ci-and-credentials.md +66 -0
  8. package/bundles/antigravity-plugin/skills/port-to-github/references/config.example.json +18 -0
  9. package/bundles/antigravity-plugin/skills/port-to-github/references/old-host.md +61 -0
  10. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Compare-PortRefs.ps1 +68 -0
  11. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Convert-PortWorkflow.ps1 +92 -0
  12. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Get-PortSource.ps1 +459 -0
  13. package/bundles/antigravity-plugin/skills/port-to-github/scripts/PortCommon.ps1 +130 -0
  14. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Publish-PortToGitHub.ps1 +156 -0
  15. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Switch-CheckoutOrigin.ps1 +182 -0
  16. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Test-PortReadiness.ps1 +218 -0
  17. package/bundles/antigravity-plugin/skills/port-to-github/scripts/Test-PortWorkflowParses.ps1 +62 -0
  18. package/bundles/antigravity-plugin-extras/plugin.json +1 -1
  19. package/bundles/antigravity-plugin-extras/skills/_registry.md +3 -2
  20. package/bundles/antigravity-plugin-extras/skills/data-lineage/SKILL.md +158 -0
  21. package/bundles/antigravity-plugin-extras/skills/data-lineage/scripts/convert_doc_to_confluence.py +1430 -0
  22. package/bundles/antigravity-plugin-extras/skills/hld/SKILL.md +155 -35
  23. package/bundles/antigravity-plugin-extras/skills/hld/references/gold-standard-hld.md +419 -0
  24. package/bundles/antigravity-plugin-extras/skills/hld/scripts/convert_doc_to_confluence.py +900 -184
  25. package/bundles/antigravity-plugin-extras/skills/lld/SKILL.md +145 -41
  26. package/bundles/antigravity-plugin-extras/skills/lld/scripts/convert_doc_to_confluence.py +900 -184
  27. package/bundles/codex/.codex/skills/devops/port-to-github/SKILL.md +231 -0
  28. package/bundles/codex/.codex/skills/devops/port-to-github/references/ci-and-credentials.md +66 -0
  29. package/bundles/codex/.codex/skills/devops/port-to-github/references/config.example.json +18 -0
  30. package/bundles/codex/.codex/skills/devops/port-to-github/references/old-host.md +61 -0
  31. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Compare-PortRefs.ps1 +68 -0
  32. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Convert-PortWorkflow.ps1 +92 -0
  33. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Get-PortSource.ps1 +459 -0
  34. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/PortCommon.ps1 +130 -0
  35. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Publish-PortToGitHub.ps1 +156 -0
  36. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Switch-CheckoutOrigin.ps1 +182 -0
  37. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Test-PortReadiness.ps1 +218 -0
  38. package/bundles/codex/.codex/skills/devops/port-to-github/scripts/Test-PortWorkflowParses.ps1 +62 -0
  39. package/bundles/manifest.json +3 -3
  40. package/package.json +1 -1
@@ -1,38 +1,149 @@
1
1
  ---
2
2
  name: hld
3
- description: Generates High-Level Design (HLD) Markdown documentation and converts to Confluence Storage Format XHTML with inline PlantUML macros.
3
+ description: Generates High-Level Design (HLD) Markdown documentation and converts to Confluence Storage Format XHTML with native PlantUML diagrams and auto-generated legends.
4
4
  ---
5
5
 
6
6
  # High-Level Design (HLD) Authoring Skill
7
7
 
8
8
  ## Overview
9
- This skill generates High-Level Design (HLD) documents for enterprise application fleet systems and converts them to Confluence Storage Format XHTML with self-contained, inline PlantUML (`<ac:structured-macro ac:name="plantuml">`) diagrams.
9
+ This skill generates High-Level Design (HLD) documents for enterprise application fleet systems. It produces human-readable, professional architectural documentation and converts them to Confluence Storage Format XHTML using native PlantUML (`<ac:structured-macro ac:name="plantuml">`) diagrams with high contrast, crisp 200 DPI vector rendering, dynamic orientation, auto-wrapped labels, and clean embedded Creole legends.
10
+
11
+ ## Mandatory Workflow Steps
12
+
13
+ ### Step 1: Deep Codebase and Architectural Discovery
14
+ Analyze the target codebase, configuration files, deployment scripts, database schemas, and external integrations to discover:
15
+ - Business initiative objectives and high-level workflows.
16
+ - Physical hosting environments, virtual machines, databases, and client surfaces.
17
+ - All interconnected systems, platforms, and third-party gateways.
18
+ - External network connectivity, protocols, ports, and batch schedules.
19
+
20
+ ### Step 2: Component & Interface Classification Interview (Grill-Me)
21
+ **MANDATORY GATE:** Before generating diagrams or drafting documentation, the agent **MUST** present the discovered components and interfaces to the user and interview them to confirm lifecycle classifications:
22
+ 1. **Component Classification:**
23
+ - Which systems/components are **Existing** pre-production fleet infrastructure (`Impacted = No`)?
24
+ - Which systems/components are **New** or **Impacted** by this solution (`Impacted = Yes`)?
25
+ 2. **Interface Classification:**
26
+ - Which interfaces are **Existing Connectivity** (pre-existing enterprise links, rendered in Green `#16A34A`)?
27
+ - Which interfaces are **New Connectivity** (links created or modified for this initiative, rendered in Red `#DC2626`)?
28
+ 3. Present clear recommendations based on codebase findings, allowing the user to confirm or adjust classifications in a single interactive turn.
29
+
30
+ ### Step 3: Markdown Document Authoring
31
+ Draft the canonical HLD Markdown file following the standard 7-section structure. Adhere strictly to the scope rules below.
32
+
33
+ ### Step 4: Confluence XHTML Conversion & Verification
34
+ Convert the Markdown to Confluence Storage Format XHTML using `scripts/convert_doc_to_confluence.py`. Verify well-formed XML and correct PlantUML macro rendering.
35
+
36
+ ---
10
37
 
11
38
  ## Scope and Boundary Principles (Strict)
39
+
12
40
  1. **High-Level Design Only:**
13
- - Include: Business initiative goals, high-level architecture topology, user surfaces, high-level database references, security & network boundaries, and target state roadmap.
41
+ - **Include:** Business initiative goals, high-level architecture topology, user surfaces, high-level database references, and security/privacy controls.
14
42
  - **DO NOT INCLUDE:**
43
+ - Physical code repository locations, local filesystem folder paths (e.g. `E:\Projects\...`), or git repository URLs. HLD focuses strictly on logical solution architecture, business functions, and system interactions.
15
44
  - Internal application API routes or controller implementation details.
16
45
  - Stored procedure names, parameter lists, or SQL code.
17
46
  - Low-level ETL batch scripts, job schedules, or internal script arguments.
18
47
  - Low-level table schemas or physical column definitions.
19
- 2. **Database Representation:**
48
+ 2. **Strict Grounding - No Synthetic Target Architecture or Security Topology:**
49
+ - **DO NOT synthesize or fabricate "Target Architecture", "Target State Roadmap", or "Security Topology" sections/diagrams** when there are no notes, documentation, or backlog items mentioning future architecture, and when the user has not explicitly requested them.
50
+ - **Condition for Inclusion:** Only include a Target Architecture, Target State Roadmap, or future security topology section/diagram when:
51
+ 1. The user explicitly requests it, OR
52
+ 2. Existing repository documentation, PRDs, ADRs, or notes explicitly specify something to be done in the future.
53
+ - When neither condition is met, omit these sections entirely. Do not invent speculative enterprise identity evolutions, automated operational integrations, or synthetic filesystem/host boundary diagrams. Document only the authenticated, current-state solution architecture and established security posture.
54
+ 3. **Database Representation:**
20
55
  - Mention the physical database host and database name.
21
56
  - List high-level reporting summary tables or key domain mart entities only.
22
- - Low-level tables and stored procedures belong strictly in the Lower-Level Design (LLD).
23
- 3. **Sequence Diagrams:**
57
+ - Low-level staging tables and stored procedures belong strictly in the Lower-Level Design (LLD).
58
+ 4. **Sequence Diagrams:**
24
59
  - Automated schedulers (such as Windows Task Scheduler or cron) must be depicted as system components or lifeline participants, **NEVER** as human actors.
25
- 4. **Diagram Rendering and Orthogonal Connectors:**
26
- - Diagrams are converted to native Confluence PlantUML macros (`<ac:structured-macro ac:name="plantuml">`) using `skinparam linetype ortho`.
27
- - `skinparam linetype ortho` ensures that all arrows connecting boxes are strictly orthogonal (90-degree right angles, zero diagonal slants).
28
- - PlantUML renders inline upon copy-paste into Confluence with zero attachment access errors.
29
- 5. **No AI Traces and Clean STE:**
60
+ 5. **Mermaid Diagram Standards (Expert Systems Architect & Mermaid Designer):**
61
+ Render highly professional, visually balanced, and easily readable system architecture diagrams using Mermaid.js markdown blocks. Avoid cluttered, sprawling layouts by enforcing structural constraints and optimized styles.
62
+
63
+ **🎨 Design & Styling Principles:**
64
+ - **Color Palette & Semantic Styling (Standard/Impact/Existing):**
65
+ - Use desaturated, modern executive colors. Do not use highly saturated primary colors.
66
+ - Define exactly 3-4 standard semantic class styles at the top of every diagram:
67
+ - `existingStyle`: Clean Blue (`fill:#EFF6FF,stroke:#2563EB,stroke-width:2px,color:#1E40AF`) for legacy/established components.
68
+ - `newStyle`: Warm Red/Crimson (`fill:#FEF2F2,stroke:#DC2626,stroke-width:2px,color:#991B1B`) for greenfield/new components.
69
+ - `impactedStyle`: Amber/Gold (`fill:#FFFBEB,stroke:#D97706,stroke-width:2px,color:#92400E`) for modified/impacted systems.
70
+ - Apply classes consistently to the nodes using the triple colon notation (e.g., `NodeName:::newStyle`).
71
+ - **Diagram Scalability Settings (Initialization Block):**
72
+ - Always prepend diagrams with a configuration initialization block to control sizing and font scales:
73
+ ```mermaid
74
+ %%{init: {
75
+ 'theme': 'default',
76
+ 'themeVariables': { 'fontSize': '14px', 'subgraphTitleSize': '16px' },
77
+ 'flowchart': { 'useMaxWidth': false, 'htmlLabels': true, 'curve': 'basis' }
78
+ } }%%
79
+ ```
80
+ - **Readable Text Wrapping:**
81
+ - Never let a single node have a long horizontal text block. Use `<br/>` tags to stack text vertically.
82
+ - Format nodes with clear visual hierarchy: Use bolding for titles, bracket notation for IDs, and italics for status:
83
+ `NodeName["📅 <b>Windows Scheduler</b><br/>[SYS_03]<br/><i>New Component</i>"]`
84
+
85
+ **📐 Layout & Real Estate Rules:**
86
+ - **The 3-Column Kanban Layout (Side-by-Side):**
87
+ - When sequential phases are required (e.g., Phase 1 | Phase 2 | Phase 3) but need to prevent horizontal text compression, utilize a "Hybrid Columnar Layout".
88
+ - **Rule:** Set the top-level flow to Left-to-Right (`flowchart LR`) to align parent containers horizontally, but enforce vertical stacking (`direction TB`) *inside* each subgraph container.
89
+ - **Example Structure:**
90
+ ```mermaid
91
+ flowchart LR
92
+ subgraph Phase1["Phase 1"]
93
+ direction TB
94
+ A --> B --> C
95
+ end
96
+ subgraph Phase2["Phase 2"]
97
+ direction TB
98
+ D --> E --> F
99
+ end
100
+ Phase1 --> Phase2
101
+ ```
102
+ - **The Two-Line Grid Layout (Row Stacking):**
103
+ - When a 3-pillar horizontal layout spans too wide, stack them into rows by setting the top-level structure to Top-to-Bottom (`flowchart TD`).
104
+ - Group the lower pillars (Phase 2 and Phase 3) side-by-side inside a helper subgraph container that uses `direction LR`. This forces Phase 2 to wrap onto a new line directly below Phase 1.
105
+ - **Component Types:**
106
+ - Use standard flowchart shapes to represent structural entities:
107
+ - `[(Database Node)]` for persistent storage, tables, or file outputs.
108
+ - `["Application Node"]` for processing scripts, APIs, or services.
109
+ - `["🖥️ UI Node"]` for user interfaces.
110
+ 6. **Diagram Rendering and Styling (PlantUML Native Engine in Confluence):**
111
+ - Confluence rendering uses native `<ac:structured-macro ac:name="plantuml">` blocks requiring zero page attachments.
112
+ - Standard parameters: `scale 1.2` for flowcharts, `scale max 2000 width` for sequence diagrams, and `skinparam defaultFontSize 11` (no `skinparam dpi 200` to prevent image blowout) to guarantee crisp rendering, neat proportioning, and sharp text without oversized canvas stretching.
113
+ - Spacing: `skinparam ranksep 28` and `skinparam nodesep 24`, package `Padding 10` for tight, balanced whitespace without excessive canvas stretching.
114
+ - Natural curved splines: Do not force `skinparam linetype ortho` or `polyline` which distort canvases. Natural curved spline arrows route cleanly without unnatural box stretching.
115
+ - Zero label clutter: Omit stereotypes (`<<impacted>>`, `<<service>>`, etc.) and verbose status annotations (`(New Component)`, `(Existing Platform)`, `[New]`, `[Existing]`) inside component boxes or on connection labels. Component status is communicated cleanly through color coding and the bottom legend.
116
+ - Automatic edge label wrapping: Labels are wrapped at ~24 characters to prevent horizontal text collision with component bounding boxes.
117
+ - Bold container headers: Package and cluster titles are rendered in bold font (`package "<b>Title</b>"`).
118
+ - Component styling: Colored backgrounds and distinct borders with `skinparam rectangle { BorderThickness 1.5 }` and `skinparam database { BorderThickness 1.5 }`:
119
+ - New / Impacted Components: `rectangle "<b>Title</b>\n[SYS_xx]" as Alias #FEF2F2;line:DC2626` (or `database ... #FEF2F2;line:DC2626`) for a crimson red border.
120
+ - Existing Components: `rectangle "<b>Title</b>\n[SYS_xx]" as Alias #EFF6FF;line:2563EB` (or `database ... #EFF6FF;line:2563EB`) for a deep blue border.
121
+ - Connectivity color coding:
122
+ - New / Impacted connectivity: Solid Red (`#DC2626` / `━━━━▶`).
123
+ - Existing connectivity: Solid Blue (`#2563EB` / `━━━━▶`).
124
+ - Cross-package and feedback connectors: Append `norank` (`-[color,norank]right->`, `-[color,norank]up->`) to prevent vertical rank collapse in horizontal flows and tier scrambling in layered architectures.
125
+ - Dynamic layout heuristics:
126
+ - **Operational Process / Lifecycle Flows**: Must use Left-to-Right (`flowchart LR`) layout organized into sequential multi-stage columns (`subgraph` packages with internal `direction TB`). Inter-stage transitions link horizontally across stages without pushing downstream packages downward (`norank` ranking in PlantUML). This creates a clean side-by-side kanban/phase layout that stays compact vertically.
127
+ - **Solution Landscapes / Architecture Diagrams**: Must follow a clean 3-Tier Layered Hierarchy (`flowchart TD`) ordered along the natural dataflow:
128
+ 1. Top Tier: Presentation & Application Tier (Dashboards, APIs, Web UI - `direction LR`)
129
+ 2. Middle Tier: Automation & Enterprise Integration Tier (Orchestrators, Pipelines, Gateways, Core Services - `direction LR`)
130
+ 3. Bottom Tier: Core Data & Intelligence Platform (Databases, Marts, AI Reasoning Engines - `direction LR`)
131
+ Arranging layers along this hierarchical flow ensures all downward dependency arrows travel cleanly and eliminates criss-crossing diagonal lines or backwards-pointing loops.
132
+ - Arrow sequence numbering: Place sequence numbers and interface IDs clearly on arrow labels (e.g. `SYS_01 -->|"INT_01 [1]: SFTP Batch Transfer"| SYS_04`).
133
+ - Clean embedded Creole legend: Flowchart and architecture diagrams automatically include an embedded PlantUML Creole table legend explaining connection and component markers. Omit legend on sequence diagrams and entity/class domain models.
134
+ - **Entity-Relationship and Domain Class Models:** Use Mermaid `classDiagram` or `erDiagram` syntax under Section 5 (e.g. `### 5.2 Domain Entity Model`). The converter automatically transforms these into native PlantUML `@startuml ... class / entity ... @enduml` macros with scale 1.2, crisp borders, and full attribute rendering.
135
+ - **Diagram Title & Section Placement:** The core solution architecture diagram must ALWAYS be titled `### 4.1 Solution Design and Architecture` under `## 4. Solution Architecture Landscape`. Never title it `System Topology Architecture Diagram` or place it in Section 2.
136
+ 7. **No AI Traces and Clean STE:**
30
137
  - The HLD must contain zero hints or traces of AI generation (no model names, tool mentions, or meta-notices in the Confluence HTML).
31
138
  - Write in Simplified Technical English (ASD-STE100): short sentences, active voice, and clear technical descriptions.
32
139
  - Executive Metadata is omitted from the Confluence HTML view (metadata belongs in LLD).
140
+ 8. **Dynamic Frontmatter Model:**
141
+ - The Markdown frontmatter `Creating Model:` must dynamically capture whatever model is executing the task (e.g. `gemini-3.8-flash`), never hardcoded.
142
+
143
+ ---
33
144
 
34
145
  ## Standard HLD Document Structure (Markdown)
35
- Every HLD document must follow this standardized 7-section structure:
146
+ Every HLD document must follow this standardized 8-section structure (exemplified by the gold standard reference implementation [`references/gold-standard-hld.md`](references/gold-standard-hld.md), shipped with this skill; read it before writing and match its structure, diagram styling, ID schemes and table columns):
36
147
 
37
148
  ```markdown
38
149
  ---
@@ -42,7 +153,7 @@ feature: <app>-hld
42
153
  creation-agent: caddis
43
154
  Original Author: Solutions Architecture
44
155
  Creation Date: <YYYY-MM-DDTHH:MM:SSZ>
45
- Creating Model: gemini-3.5-flash
156
+ Creating Model: <active model ID, e.g. gemini-3.8-flash>
46
157
  ---
47
158
 
48
159
  # High-Level Architecture (HLA): <Application Name>
@@ -67,34 +178,43 @@ Creating Model: gemini-3.5-flash
67
178
  - 2.3 Architecture Boundaries and Key Assumptions
68
179
 
69
180
  ## 3. Solution Approach and Workflow
70
- - 3.1 Operational Process Flow (Mermaid flowchart)
181
+ - 3.1 Operational Process Flow (Mermaid flowchart with classDef styles)
71
182
  - 3.2 End-to-End Operational Sequence Diagram (Mermaid sequence diagram with system scheduler participant)
72
183
 
73
184
  ## 4. Solution Architecture Landscape
74
- - 4.1 Solution Design and Architecture (Mermaid topology diagram)
75
- - 4.2 User Surfaces and Capabilities Overview (Summary table of primary operational interfaces)
76
- - 4.3 High-Level Data Model and Summary Mart (High-level summary entities only, no stored procedures or DDL)
77
- - 4.4 High-Level Data Flow and Integration (Mermaid data lineage flow)
78
-
79
- ## 5. Security Architecture and Controls
80
- - 5.1 Identity and Access Management (Authentication seams, roles, authorization boundaries)
81
- - 5.2 Network Boundaries and Perimeter Controls (Subnets, ports, host environments)
82
- - 5.3 Data Protection and Privacy (Encryption, sensitive data handling)
83
- - 5.4 Auditability and Governance
84
-
85
- ## 6. Target State Roadmap (Work In Progress)
86
- - 6.1 Enterprise Identity Evolution
87
- - 6.2 Automated Operational Integration
88
-
89
- ## 7. Appendix
90
- - 7.1 Terms and Definitions
91
- - 7.2 Reference Documents
185
+ - 4.1 Solution Design and Architecture (Mermaid topology diagram with SYS_xx nodes and INT_xx arrows)
186
+ - 4.2 Applications and Components Overview
187
+ - Summary Table columns: ID (SYS_xx), Application / Component, Application Type, Description, Impacted (Yes/No)
188
+ - Detailed subsections for each component (4.2.1 .. 4.2.N)
189
+ - 4.3 Interfaces
190
+ - Summary Table columns: ID (INT_xx), Type / Protocol, From, To, Connectivity (Connectivity Exists / New Connectivity)
191
+ - Detailed subsections for each interface (4.3.1 .. 4.3.N)
192
+ - 4.4 Primary Production Navigation Surfaces (Operational domains and core views)
193
+ - 4.5 Auxiliary and Direct-URL Surfaces (Health, export, documentation endpoints)
194
+
195
+ ## 5. High-Level Data and Storage Architecture
196
+ - 5.1 Host and Database/Storage Topology (Database instances, working storage layout)
197
+ - 5.2 Domain Entity Model (Mermaid classDiagram or erDiagram rendered as native PlantUML)
198
+ - 5.3 Output Channels, Summary Mart, or Caching Strategy (As applicable to the application architecture)
199
+
200
+ ## 6. Security Architecture and Controls
201
+ - 6.1 Identity and Access Management (Authentication seams, roles, authorization boundaries)
202
+ - 6.2 Network Boundaries and Perimeter Controls (Subnets, ports, host environments)
203
+ - 6.3 Data Protection and Privacy (Encryption, sensitive data handling)
204
+ - 6.4 Auditability and Governance
205
+
206
+ ## 7. Architecture Traceability Matrix
207
+ - 7.1 Initiative Requirements & Traceability (DO NOT include section 7.2 or any target roadmap unless explicitly requested by user or documented in notes)
208
+
209
+ ## 8. Appendix
210
+ - 8.1 Terms and Definitions
211
+ - 8.2 Reference Documents
92
212
  ```
93
213
 
94
214
  ## Conversion Workflow
95
215
  1. Write the canonical HLD Markdown file to `docs/<app>/<app>-hld.md`.
96
216
  2. Run the conversion script:
97
- ```bash
98
- python scripts/convert_doc_to_confluence.py docs/<app>/<app>-hld.md --output docs/<app>/<app>-hld.html
217
+ ```powershell
218
+ python scripts/convert_doc_to_confluence.py docs/<app>/<app>-hld.md --output docs/<app>/<app>-hld.html --diagram-type plantuml
99
219
  ```
100
- 3. Verify that the output validates as well-formed XML and contains `<ac:structured-macro ac:name="plantuml">` blocks with `skinparam linetype ortho`.
220
+ 3. Verify that the output validates as well-formed XML and contains `<ac:structured-macro ac:name="plantuml">` blocks with scale 1.2 vector styling, centered alignment, wrapped edge labels, and embedded Creole legend.