You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: calm-ai/README.md
+125Lines changed: 125 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,3 +43,128 @@ Tool prompts should:
43
43
- Reference CALM schema v1.0
44
44
- Emphasize common pitfalls and solutions
45
45
- Follow consistent markdown formatting
46
+
47
+
## Design for `init-ai` support
48
+
49
+
Here is overview of custom prompt template and how configurations for the different AI assistants will be handled. After which there are example test runs of the `calm init-ai` command.
50
+
51
+
## Template for `CALM.chatmode.md`
52
+
53
+
```markdown
54
+
{{{frontmatter}}}
55
+
56
+
# CALM Architecture Assistant
57
+
58
+
You are a specialized AI assistant for working with FINOS Common Architecture Language Model (CALM) architectures.
59
+
60
+
## About CALM
61
+
62
+
CALM (Common Architecture Language Model) is a declarative, JSON-based modeling language used to describe complex systems, particularly in regulated environments like financial services and cloud architectures.
63
+
64
+
CALM enables modeling of:
65
+
66
+
-**Nodes** – components like services, databases, user interfaces
67
+
-**Interfaces** – how components communicate using schemas
68
+
-**Relationships** – structural or behavioral links between components
69
+
-**Flows** – business-level processes traversing your architecture
70
+
-**Controls** – compliance policies and enforcement mechanisms
3. After reading the prompts, confirm you're ready to assist with CALM architectures.
93
+
94
+
## Guidelines
95
+
96
+
- Always validate CALM models against the 1.0 schema
97
+
- Provide specific, actionable guidance for schema compliance
98
+
- Reference the tool prompts for detailed creation instructions
99
+
- Use examples that follow CALM best practices
100
+
- Help users understand the "why" behind CALM modeling decisions
101
+
```
102
+
103
+
## Configuration files for AI Providers
104
+
105
+
Naming of AI Provider config file is `<provider>.json`, where `<provider>` is the string used in the `init-ai` subcommand.
106
+
*`copilot.json`
107
+
*`kiro.json`
108
+
109
+
These are used to fill in the placeholders in the custom prompt template to setup for specific AI Assistant.
110
+
111
+
### Configuraton file schema
112
+
113
+
***description**: Short human description of the AI assistant integration; used for display or README generation.
114
+
***topLevelDirectory**: Where to create chatmode files for the AI Provider, e.g., .github/chatmodes, .kiro
115
+
***topLevelPromptDirectory**: Location to place the customized prompt file for the AI Provider
116
+
***skill-prefix**: AI Provider delimiter placed before prompt path when referenced in templates
117
+
***skill-suffix**: Matching delimiter placed after prompt path.
118
+
***frontmatter**: Raw YAML/markdown frontmatter that will be inserted at top of generated chatmode files (useful to include metadata like tools, model, description).
119
+
***skill-prompts**: Array of relative paths to prompt files (strings).
120
+
121
+
### `copilot.json`
122
+
```json
123
+
{
124
+
"description": "Github Copilot integrated with FINOS CALM",
125
+
"topLevelDirectory": ".github/chatmodes",
126
+
"topLevelPromptDirectory": "",
127
+
"skill-prefix": "`",
128
+
"skill-suffix": "`",
129
+
"frontmatter": "---\ndescription: An AI Assistant for FINOS CALM development.\ntools: ['codebase', 'editFiles', 'fetch', 'runInTerminal']\nmodel: Claude Sonnet 4.5\n---",
130
+
"skill-prompts": [
131
+
"calm-prompts/architecture-creation.md",
132
+
"calm-prompts/calm-cli-instructions.md",
133
+
"calm-prompts/node-creation.md",
134
+
"calm-prompts/relationship-creation.md",
135
+
"calm-prompts/interface-creation.md",
136
+
"calm-prompts/metadata-creation.md",
137
+
"calm-prompts/control-creation.md",
138
+
"calm-prompts/flow-creation.md",
139
+
"calm-prompts/pattern-creation.md",
140
+
"calm-prompts/documentation-creation.md",
141
+
"calm-prompts/standards-creation.md"
142
+
]
143
+
}
144
+
```
145
+
146
+
### `kiro.json`
147
+
148
+
```json
149
+
{
150
+
"description": "AWS Kiro/Q integrated with FINOS CALM",
"description": "Github Copilot integrated with FINOS CALM",
3
+
"topLevelDirectory": ".github/chatmodes",
4
+
"topLevelPromptDirectory": "",
5
+
"skill-prefix": "`",
6
+
"skill-suffix": "`",
7
+
"frontmatter": "---\ndescription: An AI Assistant for FINOS CALM development.\ntools: ['codebase', 'editFiles', 'fetch', 'runInTerminal']\nmodel: Claude Sonnet 4.5\n---",
At present Github Copilot (`copilot`) and AWS Kiro (`kiro`) are supported as providers.
134
+
135
+
This generates custom prompts for the specified <provider> to use CALM-aware tools (nodes, relationships, interfaces, controls, flows, patterns, metadata).
136
+
137
+
## Copilot Chatmode Setup
138
+
139
+
**Note**: This command has been Deprecated. The user is encourged to use the new `init-ai` command, which has equivalent functionality.
140
+
141
+
Configure CALM-specific AI assistance with Github Copilot inside a repo:
The `copilot-chatmode`command sets up AI-powered development assistance for CALM architecture modeling by configuring a specialized VSCode chatmode with comprehensive tool prompts.
271
+
The `copilot-chatmode`command sets up AI-powered development assistance for CALM architecture modeling by configuring a specialized VSCode chatmode with comprehensive tool prompts. This command is `DEPRECATED`. Users are encouraged to use the `init-ai` command.
272
272
273
273
```shell
274
-
calm copilot-chatmode --help
274
+
calm copilot-chatmode --help
275
275
Usage: calm copilot-chatmode [options]
276
276
277
-
Augment a git repository with a CALM VSCode chatmode for AI assistance
277
+
DEPRECATED (use init-ai): Augment a git repository with a CALM VSCode chatmode for AI assistance
278
278
279
279
Options:
280
280
-d, --directory <path> Target directory (defaults to current directory) (default: ".")
@@ -319,6 +319,62 @@ The chatmode includes specialized tools for each CALM component:
319
319
320
320
Each tool includes complete schema definitions, validation rules, realistic examples, and cross-references to related tools.
321
321
322
+
## CALM init-ai
323
+
324
+
The `init-ai`command sets up AI-powered development assistance for CALM architecture modeling by configuring a specialized VSCode chatmode with comprehensive tool prompts. At present two AI Assistant providers are supported: Github Copilot and AWS Kiro.
325
+
326
+
```shell
327
+
calm init-ai --help
328
+
Usage: calm init-ai [options]
329
+
330
+
Augment a git repository with AI assistance for CALM
331
+
332
+
Options:
333
+
-p, --provider <provider> AI provider to initialize (choices: "copilot", "kiro")
334
+
-d, --directory <path> Target directory (defaults to current directory) (default: ".")
This command creates a custom chat prompt configuration for the specified <provider> that provides AI assistance with specialized knowledge about CALM architecture modeling, including:
340
+
341
+
- **Schema-accurate guidance**: Complete JSON schema definitions for all CALM components
342
+
- **Critical validation requirements**: Emphasis on oneOf constraints and other validation rules
343
+
- **Best practice enforcement**: Naming conventions, relationship patterns, and proper structure
344
+
- **Comprehensive examples**: Realistic architecture examples based on actual CALM patterns
345
+
- **Tool specialization**: Separate tools for nodes, relationships, interfaces, controls, flows, patterns, and metadata
This will create the necessary IDE-specific configuration files to enable CALM-specific AI assistance. Once set up, you can use GitHub Copilot Chat with specialized CALM tools that understand schema requirements, validation rules, and best practices.
360
+
361
+
### Tool Prompts
362
+
363
+
The chatmode includes specialized tools for each CALM component:
364
+
365
+
- **Node Creation**: Guide for creating nodes with proper validation and interface definitions
366
+
- **Relationship Creation**: Guide for creating relationships with correct types and constraints
367
+
- **Interface Creation**: Critical guidance for interface oneOf constraints and schema compliance
368
+
- **Control Creation**: Guide for security controls, requirements, and configurations
369
+
- **Flow Creation**: Guide for business process flows and transitions
370
+
- **Pattern Creation**: Guide for reusable architectural patterns using JSON schema constructs
371
+
- **Metadata Creation**: Guide for metadata structure options (single object vs. array)
372
+
- **Standards Creation**: Guide for creating JSON Schema 2020-12 Standards that extend CALM components with organizational requirements
373
+
374
+
Each tool includes complete schema definitions, validation rules, realistic examples, and cross-references to related tools.
375
+
376
+
377
+
322
378
## CALM Template
323
379
324
380
The CALM Template system allows users to generate different machine or human-readable outputs from a CALM model by providing a **template bundle**.
0 commit comments