@dezkareid/ai-team 1.4.6 → 1.5.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.
@@ -14,6 +14,11 @@
14
14
  "name": "company-context",
15
15
  "version": "0.0.3",
16
16
  "description": "Authoritative company context and tools"
17
+ },
18
+ "web-quality": {
19
+ "name": "web-quality",
20
+ "version": "0.0.1",
21
+ "description": "Skills for auditing and optimizing web quality (Performance, Accessibility, SEO, Core Web Vitals, Best Practices)"
17
22
  }
18
23
  },
19
24
  "commands": [
@@ -33,12 +38,42 @@
33
38
  "name": "design-tokens",
34
39
  "source": "skills/design-tokens/SKILL.md",
35
40
  "claude-plugin": "design-system"
41
+ },
42
+ {
43
+ "name": "performance",
44
+ "source": "skills/performance/SKILL.md",
45
+ "claude-plugin": "web-quality"
46
+ },
47
+ {
48
+ "name": "accessibility",
49
+ "source": "skills/accessibility/SKILL.md",
50
+ "claude-plugin": "web-quality"
51
+ },
52
+ {
53
+ "name": "seo",
54
+ "source": "skills/seo/SKILL.md",
55
+ "claude-plugin": "web-quality"
56
+ },
57
+ {
58
+ "name": "core-web-vitals",
59
+ "source": "skills/core-web-vitals/SKILL.md",
60
+ "claude-plugin": "web-quality"
61
+ },
62
+ {
63
+ "name": "best-practices",
64
+ "source": "skills/best-practices/SKILL.md",
65
+ "claude-plugin": "web-quality"
66
+ },
67
+ {
68
+ "name": "web-quality-audit",
69
+ "source": "skills/web-quality-audit/SKILL.md",
70
+ "claude-plugin": "web-quality"
36
71
  }
37
72
  ],
38
73
  "mcpServers": {
39
74
  "ai-team": {
40
75
  "claude-plugin": "company-context",
41
- "version": "1.4.6",
76
+ "version": "1.5.0",
42
77
  "package": "@dezkareid/ai-team",
43
78
  "command": "npx",
44
79
  "args": [
package/AGENTS.md CHANGED
@@ -38,49 +38,191 @@ Command content with {SCRIPT} and {{args}} placeholders.
38
38
 
39
39
  ### Organization
40
40
 
41
+ - **`commands/`**: Source command files in TOML format, primarily used by Gemini CLI.
42
+ - **`skills/`**: Source skill files (SKILL.md), providing specialized knowledge and instructions.
43
+ - **`plugins/`**: Claude Code plugins. Each subdirectory represents a plugin and contains exported versions of commands and skills in Markdown format.
44
+ - **`.claude-plugin/`**: Metadata and configuration for Claude Code. The root folder contains the `marketplace.json`, while plugin folders contain their respective `plugin.json`.
41
45
 
42
- ### Argument Patterns
43
-
44
- Different agents use different argument placeholders:
45
-
46
- - **Markdown/prompt-based**: `$ARGUMENTS`
47
- - **TOML-based**: `{{args}}`
48
-
49
- ## Development
50
-
51
- Always use Context7 MCP when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.
46
+ #### Project Configuration (`.agent-structurerc`)
52
47
 
53
48
  File `.agent-structurerc` is used to configure the project structure.
54
49
 
55
50
  ```json
56
51
  {
57
- "claude-plugins": {
58
- "npm-tools": {
59
- "name": "npm-tools",
60
- "description": "Tools for working with npm"
61
- }
52
+ "claude-plugins": {
53
+ "npm-tools": {
54
+ "name": "npm-tools",
55
+ "version": "0.0.1",
56
+ "description": "Tools for working with npm"
57
+ },
58
+ "design-system": {
59
+ "name": "design-system",
60
+ "version": "0.0.1",
61
+ "description": "Authoritative design system context and tools"
62
62
  },
63
- "commands": [
64
- {
65
- "id": "npm-package-setup",
66
- "source": "npm/package-setup.toml",
67
- "claude-plugin": "npm-tools"
68
- }
69
- ]
63
+ "company-context": {
64
+ "name": "company-context",
65
+ "version": "0.0.3",
66
+ "description": "Authoritative company context and tools"
67
+ }
68
+ },
69
+ "commands": [
70
+ {
71
+ "name": "npm-package-setup",
72
+ "source": "npm/package-setup.toml",
73
+ "claude-plugin": "npm-tools"
74
+ },
75
+ {
76
+ "name": "npm-publish",
77
+ "source": "npm/publish-setup.toml",
78
+ "claude-plugin": "npm-tools"
79
+ }
80
+ ],
81
+ "skills": [
82
+ {
83
+ "name": "design-tokens",
84
+ "source": "skills/design-tokens/SKILL.md",
85
+ "claude-plugin": "design-system"
86
+ }
87
+ ],
88
+ "mcpServers": {
89
+ "ai-team": {
90
+ "claude-plugin": "company-context",
91
+ "version": "1.4.6",
92
+ "package": "@dezkareid/ai-team",
93
+ "command": "npx",
94
+ "args": [
95
+ "-y",
96
+ "${package}@${version}"
97
+ ],
98
+ "contextFiles": {
99
+ "get_company_outcomes": "context/outcomes.md",
100
+ "get_architecture_principles": "context/architecture-principles.md"
101
+ }
102
+ }
103
+ }
70
104
  }
71
105
  ```
72
106
 
73
- ### Claude Plugin Structure
107
+ #### Claude Plugin Structure
74
108
 
75
109
  ```
76
110
  plugins/
77
111
  └── <claude-plugin>/
78
112
  ├── .claude-plugin/
79
113
  │ ├── plugin.json
80
- ├──commands/
114
+ ├── commands/ (optional)
81
115
  │ ├── <command-name>.md
116
+ ├── skills/ (optional)
117
+ │ └── <skill-name>/
118
+ │ └── SKILL.md
119
+ └── .mcp.json (optional)
120
+ ```
121
+
122
+ ### Argument Patterns
123
+
124
+ Different agents use different argument placeholders:
125
+
126
+ - **Markdown/prompt-based**: `$ARGUMENTS`
127
+ - **TOML-based**: `{{args}}`
128
+
129
+ ## Development
130
+
131
+ Always use Context7 MCP when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.
132
+
133
+ ### Workflow
134
+
135
+ The project uses a structured workflow to keep versions, commands, and configurations in sync across Gemini and Claude platforms.
136
+
137
+ ```mermaid
138
+ graph TD
139
+ subgraph "Phase 1: Sync Version"
140
+ P[package.json] -- sync-version --> AS[.agent-structurerc]
141
+ P -- sync-version --> M[.claude-plugin/marketplace.json]
142
+ P -- sync-version --> GE[gemini-extension.json]
143
+ end
144
+
145
+ subgraph "Phase 2: Export to Claude"
146
+ CMD[commands/*.toml] -- export-claude --> P_CMD[plugins/commands/*.md]
147
+ SKL[skills/**] -- export-claude --> P_SKL[plugins/skills/**]
148
+ AS -- export-claude --> P_JSON[plugins/**/plugin.json]
149
+ P_JSON -- updates --> M
150
+ end
151
+
152
+ subgraph "Phase 3: Distribute MCP"
153
+ AS -- distribute-mcp --> GE
154
+ AS -- distribute-mcp --> PM[plugins/company-context/.mcp.json]
155
+ end
156
+ ```
157
+
158
+ > **Note**: You must run `pnpm run build` before executing these commands, as they rely on the compiled files in the `dist/` directory.
159
+
160
+ 1. **Sync Version**: Run `pnpm run sync-version` to propagate the version from `package.json` to `.agent-structurerc` (specifically `mcpServers`), `.claude-plugin/marketplace.json`, and `gemini-extension.json`.
161
+ 2. **Export to Claude**: Run `pnpm run export-claude` to process source files.
162
+ - **Commands**: Converts TOML source files to Markdown with Claude-compatible frontmatter and `$ARGUMENTS` placeholders.
163
+ - **Skills**: Symlinks `SKILL.md` and reference files into the `plugins/` directory.
164
+ - **Plugin Versions**: Updates `plugin.json` in each plugin folder and reflects them in the `marketplace.json`.
165
+ 3. **Distribute MCP**: Run `pnpm run distribute-mcp` to resolve placeholders (like `${version}`) in MCP configurations defined in `.agent-structurerc`.
166
+ - Updates `gemini-extension.json` for Gemini CLI.
167
+ - Creates/updates `.mcp.json` in relevant plugin folders (e.g., `plugins/company-context/`) for Claude Code.
168
+
169
+ ### Versioning Skills and Plugins
170
+
171
+ Skills and plugins are versioned independently using changeset files (powered by `@changesets/cli`).
172
+
173
+ #### Version sources
174
+
175
+ | Artifact | Where the version lives |
176
+ |---|---|
177
+ | **Skill** | `metadata.version` field in the skill's `SKILL.md` frontmatter |
178
+ | **Plugin** | `version` field under `claude-plugins.<id>` in `.agent-structurerc` |
179
+
180
+ #### Changeset file format
181
+
182
+ Create a file inside `.changeset/` (any name, `.md` extension). The frontmatter lists one or more names and their bump type (`major`, `minor`, or `patch`). The same name can appear in both scripts — each one only acts on its own registry.
183
+
184
+ ```md
185
+ ---
186
+ "design-tokens": minor
187
+ "npm-tools": patch
188
+ ---
189
+
190
+ Brief description of what changed.
191
+ ```
192
+
193
+ Use `pnpm changeset` to generate the file interactively, or create it manually.
194
+
195
+ #### Applying changesets
196
+
197
+ ```bash
198
+ pnpm run build
199
+
200
+ # Bump versions in SKILL.md files for any skill listed in pending changesets
201
+ pnpm run apply-skill-changesets
202
+
203
+ # Bump versions in .agent-structurerc for any plugin listed in pending changesets
204
+ pnpm run apply-plugin-changesets
205
+ ```
206
+
207
+ Each script reads all `.md` files in `.changeset/` (skipping `README.md`), applies the highest bump when a name appears in multiple files, writes the new version to its respective location, and deletes the consumed changeset files.
208
+
209
+ #### Workflow diagram
210
+
211
+ ```mermaid
212
+ graph TD
213
+ subgraph "Skill versioning"
214
+ CS1[.changeset/*.md] -- apply-skill-changesets --> SM[skills/**/SKILL.md\nmetadata.version]
215
+ end
216
+
217
+ subgraph "Plugin versioning"
218
+ CS2[.changeset/*.md] -- apply-plugin-changesets --> AS[.agent-structurerc\nclaude-plugins.version]
219
+ AS -- export-claude --> PJ[plugins/**/plugin.json]
220
+ PJ -- updates --> M[.claude-plugin/marketplace.json]
221
+ end
82
222
  ```
83
223
 
224
+ After bumping plugin versions, run `pnpm run export-claude` so the new versions are propagated to `plugin.json` and `marketplace.json`.
225
+
84
226
  ### Commit Rules
85
227
 
86
228
  Always use Conventional Commits format for commit messages.
@@ -117,3 +259,19 @@ Always prefer use exact versions for dependencies. Do not use `^` or `~`.
117
259
  ### Approach
118
260
 
119
261
  Tests are written using **Vitest** and follow **BDD (Behaviour-Driven Development)** conventions:
262
+
263
+ - Test files live next to the source files they cover, using the `.spec.ts` suffix.
264
+ - Tests are structured with `describe` blocks that express the context ("given …") and `it` blocks that express the expected behaviour ("should …").
265
+ - Side effects (filesystem, child processes, `process.exit`) are isolated with `vi.mock` / `vi.spyOn` so tests remain fast and deterministic.
266
+ - Pure functions (template generators) are tested without mocks.
267
+
268
+ ### Running Tests
269
+
270
+ ```bash
271
+ # Run the full test suite once
272
+ pnpm test
273
+ ```
274
+
275
+ ## Documentation
276
+
277
+ When a command in templates or npx commands are added/updated/removed/renamed/deprecated, ask to update the AGENTS.md and README.md files.
package/README.md CHANGED
@@ -31,8 +31,16 @@ claude marketplace add dezkareid-ai-team https://github.com/dezkareid/ai-team
31
31
 
32
32
  #### `design-system` — Authoritative design system context and tools
33
33
 
34
+ | Skill | Description |
35
+ |---|---|
36
+ | `design-tokens` | Authoritative context for the project's design tokens. Provides information on colors, spacing, and breakpoints using CSS custom properties. |
37
+
34
38
  #### `company-context` — Authoritative company context and tools
35
39
 
40
+ | MCP Server | Description |
41
+ |---|---|
42
+ | `ai-team` | Provides authoritative company context, outcomes, and architecture principles. |
43
+
36
44
  ### Install a plugin
37
45
 
38
46
  Once the marketplace is added, install a plugin with:
@@ -42,3 +50,81 @@ claude plugin install npm-tools
42
50
  claude plugin install design-system
43
51
  claude plugin install company-context
44
52
  ```
53
+
54
+ ## Development
55
+
56
+ ### Workflow
57
+
58
+ The project uses a structured workflow to keep versions, commands, and configurations in sync across Gemini and Claude platforms.
59
+
60
+ ```mermaid
61
+ graph TD
62
+ subgraph "Phase 1: Sync Version"
63
+ P[package.json] -- sync-version --> AS[.agent-structurerc]
64
+ P -- sync-version --> M[.claude-plugin/marketplace.json]
65
+ P -- sync-version --> GE[gemini-extension.json]
66
+ end
67
+
68
+ subgraph "Phase 2: Export to Claude"
69
+ CMD[commands/*.toml] -- export-claude --> P_CMD[plugins/commands/*.md]
70
+ SKL[skills/**] -- export-claude --> P_SKL[plugins/skills/**]
71
+ AS -- export-claude --> P_JSON[plugins/**/plugin.json]
72
+ P_JSON -- updates --> M
73
+ end
74
+
75
+ subgraph "Phase 3: Distribute MCP"
76
+ AS -- distribute-mcp --> GE
77
+ AS -- distribute-mcp --> PM[plugins/company-context/.mcp.json]
78
+ end
79
+ ```
80
+
81
+ > **Note**: You must run `pnpm run build` before executing these commands, as they rely on the compiled files in the `dist/` directory.
82
+
83
+ 1. **Sync Version**: Run `pnpm run sync-version` to propagate the version from `package.json` to `.agent-structurerc`, `.claude-plugin/marketplace.json`, and `gemini-extension.json`.
84
+ 2. **Export to Claude**: Run `pnpm run export-claude` to process source files and update plugins.
85
+ 3. **Distribute MCP**: Run `pnpm run distribute-mcp` to resolve placeholders and update platform-specific MCP configurations.
86
+
87
+ ### Versioning skills and plugins
88
+
89
+ Skills and plugins follow independent semantic versioning driven by changeset files.
90
+
91
+ | Artifact | Version location |
92
+ |---|---|
93
+ | **Skill** | `metadata.version` in the skill's `SKILL.md` frontmatter |
94
+ | **Plugin** | `version` under `claude-plugins.<id>` in `.agent-structurerc` |
95
+
96
+ Create a changeset file in `.changeset/` (use `pnpm changeset` or write it manually):
97
+
98
+ ```md
99
+ ---
100
+ "design-tokens": minor
101
+ "npm-tools": patch
102
+ ---
103
+
104
+ Brief description of what changed.
105
+ ```
106
+
107
+ Then apply the changesets:
108
+
109
+ ```bash
110
+ pnpm run build
111
+ pnpm run apply-skill-changesets # bumps version in SKILL.md
112
+ pnpm run apply-plugin-changesets # bumps version in .agent-structurerc
113
+ ```
114
+
115
+ After bumping plugin versions, run `pnpm run export-claude` to propagate the new versions to `plugin.json` and `marketplace.json`.
116
+
117
+ ### Organization
118
+
119
+ - **`commands/`**: Source command files in TOML format (Gemini CLI).
120
+ - **`skills/`**: Source skill files (SKILL.md) for specialized AI knowledge.
121
+ - **`plugins/`**: Exported Claude Code plugins.
122
+ - **`.claude-plugin/`**: Claude marketplace and plugin metadata.
123
+
124
+ ### Testing
125
+
126
+ Tests are written using **Vitest**:
127
+
128
+ ```bash
129
+ pnpm test
130
+ ```
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "dezkareid-ai-team",
3
- "version": "1.4.6",
3
+ "version": "1.5.0",
4
4
  "mcpServers": {
5
5
  "ai-team": {
6
6
  "command": "npx",
7
7
  "args": [
8
8
  "-y",
9
- "@dezkareid/ai-team@1.4.6"
9
+ "@dezkareid/ai-team@1.5.0"
10
10
  ]
11
11
  }
12
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dezkareid/ai-team",
3
- "version": "1.4.6",
3
+ "version": "1.5.0",
4
4
  "description": "Repository for AI Team",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -30,12 +30,14 @@
30
30
  },
31
31
  "homepage": "https://github.com/dezkareid/ai-team#readme",
32
32
  "devDependencies": {
33
+ "@changesets/cli": "2.29.8",
33
34
  "@rollup/plugin-commonjs": "29.0.0",
34
35
  "@rollup/plugin-json": "6.1.0",
35
36
  "@rollup/plugin-node-resolve": "16.0.3",
36
37
  "@rollup/plugin-typescript": "12.3.0",
37
38
  "@types/fs-extra": "11.0.4",
38
39
  "@types/node": "25.0.10",
40
+ "@types/semver": "7.7.1",
39
41
  "ajv-cli": "5.0.0",
40
42
  "rollup": "4.56.0",
41
43
  "tslib": "2.8.1",
@@ -43,10 +45,11 @@
43
45
  "vitest": "4.0.18"
44
46
  },
45
47
  "dependencies": {
46
- "@dezkareid/design-tokens": "1.1.1",
48
+ "@dezkareid/design-tokens": "1.3.1",
47
49
  "@iarna/toml": "2.2.5",
48
50
  "@modelcontextprotocol/sdk": "1.27.1",
49
51
  "fs-extra": "11.3.3",
52
+ "semver": "7.7.4",
50
53
  "yaml": "2.8.2",
51
54
  "zod": "4.3.6"
52
55
  },
@@ -56,6 +59,8 @@
56
59
  "build": "rollup -c",
57
60
  "test": "vitest run && npm run test:marketplace",
58
61
  "test:marketplace": "ajv validate -s schemas/marketplace.schema.json -d .claude-plugin/marketplace.json",
59
- "export-claude": "node dist/cli/export-claude.js"
62
+ "export-claude": "node dist/cli/export-claude.js",
63
+ "apply-skill-changesets": "node dist/scripts/apply-skill-changesets.js",
64
+ "apply-plugin-changesets": "node dist/scripts/apply-plugin-changesets.js"
60
65
  }
61
66
  }