create-stencil-components 1.0.7 → 1.0.9
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/dist/templates/base/.agents/skills/link-workspace-packages/SKILL.md +127 -0
- package/dist/templates/base/.agents/skills/monitor-ci/SKILL.md +301 -0
- package/dist/templates/base/.agents/skills/monitor-ci/references/fix-flows.md +108 -0
- package/dist/templates/base/.agents/skills/monitor-ci/scripts/ci-poll-decide.mjs +356 -0
- package/dist/templates/base/.agents/skills/monitor-ci/scripts/ci-state-update.mjs +152 -0
- package/dist/templates/base/.agents/skills/nx-generate/SKILL.md +166 -0
- package/dist/templates/base/.agents/skills/nx-import/SKILL.md +238 -0
- package/dist/templates/base/.agents/skills/nx-import/references/ESLINT.md +109 -0
- package/dist/templates/base/.agents/skills/nx-import/references/GRADLE.md +12 -0
- package/dist/templates/base/.agents/skills/nx-import/references/JEST.md +223 -0
- package/dist/templates/base/.agents/skills/nx-import/references/NEXT.md +214 -0
- package/dist/templates/base/.agents/skills/nx-import/references/TURBOREPO.md +62 -0
- package/dist/templates/base/.agents/skills/nx-import/references/VITE.md +393 -0
- package/dist/templates/base/.agents/skills/nx-plugins/SKILL.md +9 -0
- package/dist/templates/base/.agents/skills/nx-run-tasks/SKILL.md +58 -0
- package/dist/templates/base/.agents/skills/nx-workspace/SKILL.md +284 -0
- package/dist/templates/base/.agents/skills/nx-workspace/references/AFFECTED.md +27 -0
- package/dist/templates/base/.claude/settings.json +13 -0
- package/dist/templates/base/.codex/agents/ci-monitor-subagent.toml +46 -0
- package/dist/templates/base/.codex/config.toml +10 -0
- package/dist/templates/base/.cursor/agents/ci-monitor-subagent.md +51 -0
- package/dist/templates/base/.gemini/commands/monitor-ci.toml +298 -0
- package/dist/templates/base/.gemini/settings.json +8 -11
- package/dist/templates/base/.github/agents/ci-monitor-subagent.agent.md +49 -0
- package/dist/templates/base/.github/prompts/monitor-ci.prompt.md +301 -0
- package/dist/templates/base/.github/skills/link-workspace-packages/SKILL.md +127 -0
- package/dist/templates/base/.github/skills/monitor-ci/SKILL.md +301 -0
- package/dist/templates/base/.github/skills/monitor-ci/references/fix-flows.md +108 -0
- package/dist/templates/base/.github/skills/monitor-ci/scripts/ci-poll-decide.mjs +356 -0
- package/dist/templates/base/.github/skills/monitor-ci/scripts/ci-state-update.mjs +152 -0
- package/dist/templates/base/.github/skills/nx-generate/SKILL.md +166 -0
- package/dist/templates/base/.github/skills/nx-import/SKILL.md +238 -0
- package/dist/templates/base/.github/skills/nx-import/references/ESLINT.md +109 -0
- package/dist/templates/base/.github/skills/nx-import/references/GRADLE.md +12 -0
- package/dist/templates/base/.github/skills/nx-import/references/JEST.md +223 -0
- package/dist/templates/base/.github/skills/nx-import/references/NEXT.md +214 -0
- package/dist/templates/base/.github/skills/nx-import/references/TURBOREPO.md +62 -0
- package/dist/templates/base/.github/skills/nx-import/references/VITE.md +393 -0
- package/dist/templates/base/.github/skills/nx-plugins/SKILL.md +9 -0
- package/dist/templates/base/.github/skills/nx-run-tasks/SKILL.md +58 -0
- package/dist/templates/base/.github/skills/nx-workspace/SKILL.md +284 -0
- package/dist/templates/base/.github/skills/nx-workspace/references/AFFECTED.md +27 -0
- package/dist/templates/base/.opencode/agents/ci-monitor-subagent.md +50 -0
- package/dist/templates/base/.opencode/commands/monitor-ci.md +301 -0
- package/dist/templates/base/.opencode/skills/link-workspace-packages/SKILL.md +127 -0
- package/dist/templates/base/.opencode/skills/monitor-ci/SKILL.md +301 -0
- package/dist/templates/base/.opencode/skills/monitor-ci/references/fix-flows.md +108 -0
- package/dist/templates/base/.opencode/skills/monitor-ci/scripts/ci-poll-decide.mjs +356 -0
- package/dist/templates/base/.opencode/skills/monitor-ci/scripts/ci-state-update.mjs +152 -0
- package/dist/templates/base/.opencode/skills/nx-generate/SKILL.md +166 -0
- package/dist/templates/base/.opencode/skills/nx-import/SKILL.md +238 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/ESLINT.md +109 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/GRADLE.md +12 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/JEST.md +223 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/NEXT.md +214 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/TURBOREPO.md +62 -0
- package/dist/templates/base/.opencode/skills/nx-import/references/VITE.md +393 -0
- package/dist/templates/base/.opencode/skills/nx-plugins/SKILL.md +9 -0
- package/dist/templates/base/.opencode/skills/nx-run-tasks/SKILL.md +58 -0
- package/dist/templates/base/.opencode/skills/nx-workspace/SKILL.md +284 -0
- package/dist/templates/base/.opencode/skills/nx-workspace/references/AFFECTED.md +27 -0
- package/dist/templates/base/AGENTS.md +46 -36
- package/dist/templates/base/CLAUDE.md +15 -5
- package/dist/templates/base/package.json +3 -3
- package/dist/templates/variants/all/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json +3 -3
- package/dist/templates/variants/all/packages/components-{{PROJECT_NAME_KEBAB}}-react/package.json +2 -2
- package/dist/templates/variants/all/packages/components-{{PROJECT_NAME_KEBAB}}-react/tsconfig.json +5 -1
- package/dist/templates/variants/angular/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json +2 -2
- package/dist/templates/variants/react/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json +2 -2
- package/dist/templates/variants/react/packages/components-{{PROJECT_NAME_KEBAB}}-react/package.json +2 -2
- package/dist/templates/variants/react/packages/components-{{PROJECT_NAME_KEBAB}}-react/tsconfig.json +5 -1
- package/dist/templates/variants/vue/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json +1 -1
- package/dist/templates/variants/web-components/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nx-plugins
|
|
3
|
+
description: Find and add Nx plugins. USE WHEN user wants to discover available plugins, install a new plugin, or add support for a specific framework or technology to the workspace.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Finding and Installing new plugins
|
|
7
|
+
|
|
8
|
+
- List plugins: `pnpm nx list`
|
|
9
|
+
- Install plugins `pnpm nx add <plugin>`. Example: `pnpm nx add @nx/react`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nx-run-tasks
|
|
3
|
+
description: Helps with running tasks in an Nx workspace. USE WHEN the user wants to execute build, test, lint, serve, or run any other tasks defined in the workspace.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You can run tasks with Nx in the following way.
|
|
7
|
+
|
|
8
|
+
Keep in mind that you might have to prefix things with npx/pnpx/yarn if the user doesn't have nx installed globally. Look at the package.json or lockfile to determine which package manager is in use.
|
|
9
|
+
|
|
10
|
+
For more details on any command, run it with `--help` (e.g. `nx run-many --help`, `nx affected --help`).
|
|
11
|
+
|
|
12
|
+
## Understand which tasks can be run
|
|
13
|
+
|
|
14
|
+
You can check those via `nx show project <projectname> --json`, for example `nx show project myapp --json`. It contains a `targets` section which has information about targets that can be run. You can also just look at the `package.json` scripts or `project.json` targets, but you might miss out on inferred tasks by Nx plugins.
|
|
15
|
+
|
|
16
|
+
## Run a single task
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
nx run <project>:<task>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
where `project` is the project name defined in `package.json` or `project.json` (if present).
|
|
23
|
+
|
|
24
|
+
## Run multiple tasks
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
nx run-many -t build test lint typecheck
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
You can pass a `-p` flag to filter to specific projects, otherwise it runs on all projects. You can also use `--exclude` to exclude projects, and `--parallel` to control the number of parallel processes (default is 3).
|
|
31
|
+
|
|
32
|
+
Examples:
|
|
33
|
+
|
|
34
|
+
- `nx run-many -t test -p proj1 proj2` — test specific projects
|
|
35
|
+
- `nx run-many -t test --projects=*-app --exclude=excluded-app` — test projects matching a pattern
|
|
36
|
+
- `nx run-many -t test --projects=tag:api-*` — test projects by tag
|
|
37
|
+
|
|
38
|
+
## Run tasks for affected projects
|
|
39
|
+
|
|
40
|
+
Use `nx affected` to only run tasks on projects that have been changed and projects that depend on changed projects. This is especially useful in CI and for large workspaces.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
nx affected -t build test lint
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
By default it compares against the base branch. You can customize this:
|
|
47
|
+
|
|
48
|
+
- `nx affected -t test --base=main --head=HEAD` — compare against a specific base and head
|
|
49
|
+
- `nx affected -t test --files=libs/mylib/src/index.ts` — specify changed files directly
|
|
50
|
+
|
|
51
|
+
## Useful flags
|
|
52
|
+
|
|
53
|
+
These flags work with `run`, `run-many`, and `affected`:
|
|
54
|
+
|
|
55
|
+
- `--skipNxCache` — rerun tasks even when results are cached
|
|
56
|
+
- `--verbose` — print additional information such as stack traces
|
|
57
|
+
- `--nxBail` — stop execution after the first failed task
|
|
58
|
+
- `--configuration=<name>` — use a specific configuration (e.g. `production`)
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nx-workspace
|
|
3
|
+
description: "Explore and understand Nx workspaces. USE WHEN answering questions about the workspace, projects, or tasks. ALSO USE WHEN an nx command fails or you need to check available targets/configuration before running a task. EXAMPLES: 'What projects are in this workspace?', 'How is project X configured?', 'What depends on library Y?', 'What targets can I run?', 'Cannot find configuration for task', 'debug nx task failure'."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Nx Workspace Exploration
|
|
7
|
+
|
|
8
|
+
This skill provides read-only exploration of Nx workspaces. Use it to understand workspace structure, project configuration, available targets, and dependencies.
|
|
9
|
+
|
|
10
|
+
Keep in mind that you might have to prefix commands with `npx`/`pnpx`/`yarn` if nx isn't installed globally. Check the lockfile to determine the package manager in use.
|
|
11
|
+
|
|
12
|
+
## Listing Projects
|
|
13
|
+
|
|
14
|
+
Use `nx show projects` to list projects in the workspace.
|
|
15
|
+
|
|
16
|
+
The project filtering syntax (`-p`/`--projects`) works across many Nx commands including `nx run-many`, `nx release`, `nx show projects`, and more. Filters support explicit names, glob patterns, tag references (e.g. `tag:name`), directories, and negation (e.g. `!project-name`).
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# List all projects
|
|
20
|
+
nx show projects
|
|
21
|
+
|
|
22
|
+
# Filter by pattern (glob)
|
|
23
|
+
nx show projects --projects "apps/*"
|
|
24
|
+
nx show projects --projects "shared-*"
|
|
25
|
+
|
|
26
|
+
# Filter by tag
|
|
27
|
+
nx show projects --projects "tag:publishable"
|
|
28
|
+
nx show projects -p 'tag:publishable,!tag:internal'
|
|
29
|
+
|
|
30
|
+
# Filter by target (projects that have a specific target)
|
|
31
|
+
nx show projects --withTarget build
|
|
32
|
+
|
|
33
|
+
# Combine filters
|
|
34
|
+
nx show projects --type lib --withTarget test
|
|
35
|
+
nx show projects --affected --exclude="*-e2e"
|
|
36
|
+
nx show projects -p "tag:scope:client,packages/*"
|
|
37
|
+
|
|
38
|
+
# Negate patterns
|
|
39
|
+
nx show projects -p '!tag:private'
|
|
40
|
+
nx show projects -p '!*-e2e'
|
|
41
|
+
|
|
42
|
+
# Output as JSON
|
|
43
|
+
nx show projects --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Project Configuration
|
|
47
|
+
|
|
48
|
+
Use `nx show project <name> --json` to get the full resolved configuration for a project.
|
|
49
|
+
|
|
50
|
+
**Important**: Do NOT read `project.json` directly - it only contains partial configuration. The `nx show project --json` command returns the full resolved config including inferred targets from plugins.
|
|
51
|
+
|
|
52
|
+
You can read the full project schema at `node_modules/nx/schemas/project-schema.json` to understand nx project configuration options.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Get full project configuration
|
|
56
|
+
nx show project my-app --json
|
|
57
|
+
|
|
58
|
+
# Extract specific parts from the JSON
|
|
59
|
+
nx show project my-app --json | jq '.targets'
|
|
60
|
+
nx show project my-app --json | jq '.targets.build'
|
|
61
|
+
nx show project my-app --json | jq '.targets | keys'
|
|
62
|
+
|
|
63
|
+
# Check project metadata
|
|
64
|
+
nx show project my-app --json | jq '{name, root, sourceRoot, projectType, tags}'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Target Information
|
|
68
|
+
|
|
69
|
+
Targets define what tasks can be run on a project.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# List all targets for a project
|
|
73
|
+
nx show project my-app --json | jq '.targets | keys'
|
|
74
|
+
|
|
75
|
+
# Get full target configuration
|
|
76
|
+
nx show project my-app --json | jq '.targets.build'
|
|
77
|
+
|
|
78
|
+
# Check target executor/command
|
|
79
|
+
nx show project my-app --json | jq '.targets.build.executor'
|
|
80
|
+
nx show project my-app --json | jq '.targets.build.command'
|
|
81
|
+
|
|
82
|
+
# View target options
|
|
83
|
+
nx show project my-app --json | jq '.targets.build.options'
|
|
84
|
+
|
|
85
|
+
# Check target inputs/outputs (for caching)
|
|
86
|
+
nx show project my-app --json | jq '.targets.build.inputs'
|
|
87
|
+
nx show project my-app --json | jq '.targets.build.outputs'
|
|
88
|
+
|
|
89
|
+
# Find projects with a specific target
|
|
90
|
+
nx show projects --withTarget serve
|
|
91
|
+
nx show projects --withTarget e2e
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Workspace Configuration
|
|
95
|
+
|
|
96
|
+
Read `nx.json` directly for workspace-level configuration.
|
|
97
|
+
You can read the full project schema at `node_modules/nx/schemas/nx-schema.json` to understand nx project configuration options.
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# Read the full nx.json
|
|
101
|
+
cat nx.json
|
|
102
|
+
|
|
103
|
+
# Or use jq for specific sections
|
|
104
|
+
cat nx.json | jq '.targetDefaults'
|
|
105
|
+
cat nx.json | jq '.namedInputs'
|
|
106
|
+
cat nx.json | jq '.plugins'
|
|
107
|
+
cat nx.json | jq '.generators'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Key nx.json sections:
|
|
111
|
+
|
|
112
|
+
- `targetDefaults` - Default configuration applied to all targets of a given name
|
|
113
|
+
- `namedInputs` - Reusable input definitions for caching
|
|
114
|
+
- `plugins` - Nx plugins and their configuration
|
|
115
|
+
- ...and much more, read the schema or nx.json for details
|
|
116
|
+
|
|
117
|
+
## Affected Projects
|
|
118
|
+
|
|
119
|
+
If the user is asking about affected projects, read the [affected projects reference](references/AFFECTED.md) for detailed commands and examples.
|
|
120
|
+
|
|
121
|
+
## Common Exploration Patterns
|
|
122
|
+
|
|
123
|
+
### "What's in this workspace?"
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
nx show projects
|
|
127
|
+
nx show projects --type app
|
|
128
|
+
nx show projects --type lib
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### "How do I build/test/lint project X?"
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
nx show project X --json | jq '.targets | keys'
|
|
135
|
+
nx show project X --json | jq '.targets.build'
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### "What depends on library Y?"
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Use the project graph to find dependents
|
|
142
|
+
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "Y") | .key'
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Programmatic Answers
|
|
146
|
+
|
|
147
|
+
When processing nx CLI results, use command-line tools to compute the answer programmatically rather than counting or parsing output manually. Always use `--json` flags to get structured output that can be processed with `jq`, `grep`, or other tools you have installed locally.
|
|
148
|
+
|
|
149
|
+
### Listing Projects
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
nx show projects --json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Example output:
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
["my-app", "my-app-e2e", "shared-ui", "shared-utils", "api"]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Common operations:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Count projects
|
|
165
|
+
nx show projects --json | jq 'length'
|
|
166
|
+
|
|
167
|
+
# Filter by pattern
|
|
168
|
+
nx show projects --json | jq '.[] | select(startswith("shared-"))'
|
|
169
|
+
|
|
170
|
+
# Get affected projects as array
|
|
171
|
+
nx show projects --affected --json | jq '.'
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Project Details
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
nx show project my-app --json
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Example output:
|
|
181
|
+
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"root": "apps/my-app",
|
|
185
|
+
"name": "my-app",
|
|
186
|
+
"sourceRoot": "apps/my-app/src",
|
|
187
|
+
"projectType": "application",
|
|
188
|
+
"tags": ["type:app", "scope:client"],
|
|
189
|
+
"targets": {
|
|
190
|
+
"build": {
|
|
191
|
+
"executor": "@nx/vite:build",
|
|
192
|
+
"options": { "outputPath": "dist/apps/my-app" }
|
|
193
|
+
},
|
|
194
|
+
"serve": {
|
|
195
|
+
"executor": "@nx/vite:dev-server",
|
|
196
|
+
"options": { "buildTarget": "my-app:build" }
|
|
197
|
+
},
|
|
198
|
+
"test": {
|
|
199
|
+
"executor": "@nx/vite:test",
|
|
200
|
+
"options": {}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"implicitDependencies": []
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Common operations:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Get target names
|
|
211
|
+
nx show project my-app --json | jq '.targets | keys'
|
|
212
|
+
|
|
213
|
+
# Get specific target config
|
|
214
|
+
nx show project my-app --json | jq '.targets.build'
|
|
215
|
+
|
|
216
|
+
# Get tags
|
|
217
|
+
nx show project my-app --json | jq '.tags'
|
|
218
|
+
|
|
219
|
+
# Get project root
|
|
220
|
+
nx show project my-app --json | jq -r '.root'
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Project Graph
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
nx graph --print
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Example output:
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"graph": {
|
|
234
|
+
"nodes": {
|
|
235
|
+
"my-app": {
|
|
236
|
+
"name": "my-app",
|
|
237
|
+
"type": "app",
|
|
238
|
+
"data": { "root": "apps/my-app", "tags": ["type:app"] }
|
|
239
|
+
},
|
|
240
|
+
"shared-ui": {
|
|
241
|
+
"name": "shared-ui",
|
|
242
|
+
"type": "lib",
|
|
243
|
+
"data": { "root": "libs/shared-ui", "tags": ["type:ui"] }
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
"dependencies": {
|
|
247
|
+
"my-app": [{ "source": "my-app", "target": "shared-ui", "type": "static" }],
|
|
248
|
+
"shared-ui": []
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Common operations:
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Get all project names from graph
|
|
258
|
+
nx graph --print | jq '.graph.nodes | keys'
|
|
259
|
+
|
|
260
|
+
# Find dependencies of a project
|
|
261
|
+
nx graph --print | jq '.graph.dependencies["my-app"]'
|
|
262
|
+
|
|
263
|
+
# Find projects that depend on a library
|
|
264
|
+
nx graph --print | jq '.graph.dependencies | to_entries[] | select(.value[].target == "shared-ui") | .key'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Troubleshooting
|
|
268
|
+
|
|
269
|
+
### "Cannot find configuration for task X:target"
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Check what targets exist on the project
|
|
273
|
+
nx show project X --json | jq '.targets | keys'
|
|
274
|
+
|
|
275
|
+
# Check if any projects have that target
|
|
276
|
+
nx show projects --withTarget target
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### "The workspace is out of sync"
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
nx sync
|
|
283
|
+
nx reset # if sync doesn't fix stale cache
|
|
284
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
## Affected Projects
|
|
2
|
+
|
|
3
|
+
Find projects affected by changes in the current branch.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# Affected since base branch (auto-detected)
|
|
7
|
+
nx show projects --affected
|
|
8
|
+
|
|
9
|
+
# Affected with explicit base
|
|
10
|
+
nx show projects --affected --base=main
|
|
11
|
+
nx show projects --affected --base=origin/main
|
|
12
|
+
|
|
13
|
+
# Affected between two commits
|
|
14
|
+
nx show projects --affected --base=abc123 --head=def456
|
|
15
|
+
|
|
16
|
+
# Affected apps only
|
|
17
|
+
nx show projects --affected --type app
|
|
18
|
+
|
|
19
|
+
# Affected excluding e2e projects
|
|
20
|
+
nx show projects --affected --exclude="*-e2e"
|
|
21
|
+
|
|
22
|
+
# Affected by uncommitted changes
|
|
23
|
+
nx show projects --affected --uncommitted
|
|
24
|
+
|
|
25
|
+
# Affected by untracked files
|
|
26
|
+
nx show projects --affected --untracked
|
|
27
|
+
```
|
|
@@ -21,34 +21,34 @@ Always follow the standard Stencil component decorator pattern:
|
|
|
21
21
|
import { Component, Host, h, Prop, State, Event, EventEmitter } from '@stencil/core';
|
|
22
22
|
|
|
23
23
|
@Component({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
tag: 'my-component',
|
|
25
|
+
styleUrl: 'my-component.scss',
|
|
26
|
+
shadow: true,
|
|
27
27
|
})
|
|
28
28
|
export class MyComponent {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
/** Public properties */
|
|
30
|
+
@Prop() label: string;
|
|
31
|
+
|
|
32
|
+
/** Internal state */
|
|
33
|
+
@State() isActive: boolean = false;
|
|
34
|
+
|
|
35
|
+
/** Custom events */
|
|
36
|
+
@Event() clicked: EventEmitter<void>;
|
|
37
|
+
|
|
38
|
+
private handleClick = () => {
|
|
39
|
+
this.isActive = !this.isActive;
|
|
40
|
+
this.clicked.emit();
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
render() {
|
|
44
|
+
return (
|
|
45
|
+
<Host>
|
|
46
|
+
<button onClick={this.handleClick}>
|
|
47
|
+
{this.label} - {this.isActive ? 'Active' : 'Inactive'}
|
|
48
|
+
</button>
|
|
49
|
+
</Host>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
52
|
}
|
|
53
53
|
```
|
|
54
54
|
|
|
@@ -65,12 +65,12 @@ export class MyComponent {
|
|
|
65
65
|
- **Functional Components:** Use simple functional components (returning JSX) for UI-only elements that don't need the Stencil lifecycle.
|
|
66
66
|
- **Reactivity:** Remember that Stencil only tracks changes to `@State` and `@Prop`. Arrays and objects must be reassigned (immutable patterns) to trigger a re-render:
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
```typescript
|
|
69
|
+
// Correct
|
|
70
|
+
this.items = [...this.items, newItem];
|
|
71
|
+
// Incorrect
|
|
72
|
+
this.items.push(newItem);
|
|
73
|
+
```
|
|
74
74
|
|
|
75
75
|
- **Performance:** Minimize use of `@Watch` to avoid unnecessary renders. Use the `render()` method efficiently.
|
|
76
76
|
|
|
@@ -108,11 +108,21 @@ export class MyComponent {
|
|
|
108
108
|
|
|
109
109
|
## General Guidelines for working with Nx
|
|
110
110
|
|
|
111
|
+
- For navigating/exploring the workspace, invoke the `nx-workspace` skill first - it has patterns for querying projects, targets, and dependencies
|
|
111
112
|
- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly
|
|
113
|
+
- Prefix nx commands with the workspace's package manager (e.g., `pnpm nx build`, `npm exec nx test`) - avoids using globally installed CLI
|
|
112
114
|
- You have access to the Nx MCP server and its tools, use them to help the user
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.
|
|
116
|
+
- NEVER guess CLI flags - always check nx_docs or `--help` first when unsure
|
|
117
|
+
|
|
118
|
+
## Scaffolding & Generators
|
|
119
|
+
|
|
120
|
+
- For scaffolding tasks (creating apps, libs, project structure, setup), ALWAYS invoke the `nx-generate` skill FIRST before exploring or calling MCP tools
|
|
121
|
+
|
|
122
|
+
## When to use nx_docs
|
|
123
|
+
|
|
124
|
+
- USE for: advanced config options, unfamiliar flags, migration guides, plugin configuration, edge cases
|
|
125
|
+
- DON'T USE for: basic generator syntax (`nx g @nx/react:app`), standard commands, things you already know
|
|
126
|
+
- The `nx-generate` skill handles generator discovery internally - don't call nx_docs just to look up generator syntax
|
|
117
127
|
|
|
118
128
|
<!-- nx configuration end-->
|
|
@@ -6,11 +6,21 @@
|
|
|
6
6
|
|
|
7
7
|
# General Guidelines for working with Nx
|
|
8
8
|
|
|
9
|
+
- For navigating/exploring the workspace, invoke the `nx-workspace` skill first - it has patterns for querying projects, targets, and dependencies
|
|
9
10
|
- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly
|
|
11
|
+
- Prefix nx commands with the workspace's package manager (e.g., `pnpm nx build`, `npm exec nx test`) - avoids using globally installed CLI
|
|
10
12
|
- You have access to the Nx MCP server and its tools, use them to help the user
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration
|
|
14
|
-
- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors
|
|
13
|
+
- For Nx plugin best practices, check `node_modules/@nx/<plugin>/PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable.
|
|
14
|
+
- NEVER guess CLI flags - always check nx_docs or `--help` first when unsure
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Scaffolding & Generators
|
|
17
|
+
|
|
18
|
+
- For scaffolding tasks (creating apps, libs, project structure, setup), ALWAYS invoke the `nx-generate` skill FIRST before exploring or calling MCP tools
|
|
19
|
+
|
|
20
|
+
## When to use nx_docs
|
|
21
|
+
|
|
22
|
+
- USE for: advanced config options, unfamiliar flags, migration guides, plugin configuration, edge cases
|
|
23
|
+
- DON'T USE for: basic generator syntax (`nx g @nx/react:app`), standard commands, things you already know
|
|
24
|
+
- The `nx-generate` skill handles generator discovery internally - don't call nx_docs just to look up generator syntax
|
|
25
|
+
|
|
26
|
+
<!-- nx configuration end-->
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"@commitlint/cli": "20.5.0",
|
|
17
17
|
"@commitlint/config-conventional": "20.5.0",
|
|
18
18
|
"@eslint/js": "10.0.1",
|
|
19
|
-
"@nx/js": "22.6.
|
|
19
|
+
"@nx/js": "22.6.5",
|
|
20
20
|
"eslint": "10.2.0",
|
|
21
21
|
"eslint-config-prettier": "10.1.8",
|
|
22
22
|
"eslint-plugin-prettier": "5.5.5",
|
|
23
23
|
"eslint-plugin-sonarjs": "4.0.2",
|
|
24
24
|
"husky": "9.1.7",
|
|
25
|
-
"nx": "22.6.
|
|
25
|
+
"nx": "22.6.5",
|
|
26
26
|
"rimraf": "6.1.3",
|
|
27
27
|
"stylelint": "17.6.0",
|
|
28
28
|
"stylelint-config-standard": "40.0.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"stylelint-use-logical": "2.1.3",
|
|
31
31
|
"ts-node": "10.9.2",
|
|
32
32
|
"typescript": "6.0.2",
|
|
33
|
-
"typescript-eslint": "8.58.
|
|
33
|
+
"typescript-eslint": "8.58.1"
|
|
34
34
|
},
|
|
35
35
|
"nx": {},
|
|
36
36
|
"volta": {
|
package/dist/templates/variants/all/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json
CHANGED
|
@@ -68,13 +68,13 @@
|
|
|
68
68
|
"tslib": "2.8.1"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@stencil/angular-output-target": "1.3.
|
|
71
|
+
"@stencil/angular-output-target": "1.3.1",
|
|
72
72
|
"@stencil/core": "4.43.3",
|
|
73
|
-
"@stencil/react-output-target": "1.
|
|
73
|
+
"@stencil/react-output-target": "1.5.0",
|
|
74
74
|
"@stencil/sass": "3.2.3",
|
|
75
75
|
"@stencil/vue-output-target": "0.13.1",
|
|
76
76
|
"@types/jest": "30.0.0",
|
|
77
|
-
"@types/node": "25.
|
|
77
|
+
"@types/node": "25.6.0",
|
|
78
78
|
"jest": "30.3.0",
|
|
79
79
|
"jest-cli": "30.3.0",
|
|
80
80
|
"puppeteer": "24.40.0",
|
package/dist/templates/variants/all/packages/components-{{PROJECT_NAME_KEBAB}}-react/package.json
CHANGED
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"tslib": "2.8.1"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@stencil/react-output-target": "1.
|
|
38
|
+
"@stencil/react-output-target": "1.5.0",
|
|
39
39
|
"@{{ORGANIZATION_NAME}}/components-{{PROJECT_NAME_KEBAB}}-core": "*",
|
|
40
40
|
"react": ">=18"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/node": "25.
|
|
43
|
+
"@types/node": "25.6.0",
|
|
44
44
|
"@types/react": ">=18"
|
|
45
45
|
},
|
|
46
46
|
"license": "MIT",
|
package/dist/templates/variants/angular/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json
CHANGED
|
@@ -68,11 +68,11 @@
|
|
|
68
68
|
"tslib": "2.8.1"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@stencil/angular-output-target": "1.3.
|
|
71
|
+
"@stencil/angular-output-target": "1.3.1",
|
|
72
72
|
"@stencil/core": "4.43.3",
|
|
73
73
|
"@stencil/sass": "3.2.3",
|
|
74
74
|
"@types/jest": "30.0.0",
|
|
75
|
-
"@types/node": "25.
|
|
75
|
+
"@types/node": "25.6.0",
|
|
76
76
|
"jest": "30.3.0",
|
|
77
77
|
"jest-cli": "30.3.0",
|
|
78
78
|
"puppeteer": "24.40.0",
|
package/dist/templates/variants/react/packages/components-{{PROJECT_NAME_KEBAB}}-core/package.json
CHANGED
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@stencil/core": "4.43.3",
|
|
72
|
-
"@stencil/react-output-target": "1.
|
|
72
|
+
"@stencil/react-output-target": "1.5.0",
|
|
73
73
|
"@stencil/sass": "3.2.3",
|
|
74
74
|
"@types/jest": "30.0.0",
|
|
75
|
-
"@types/node": "25.
|
|
75
|
+
"@types/node": "25.6.0",
|
|
76
76
|
"jest": "30.3.0",
|
|
77
77
|
"jest-cli": "30.3.0",
|
|
78
78
|
"puppeteer": "24.40.0",
|
package/dist/templates/variants/react/packages/components-{{PROJECT_NAME_KEBAB}}-react/package.json
CHANGED
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"tslib": "2.8.1"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@stencil/react-output-target": "1.
|
|
38
|
+
"@stencil/react-output-target": "1.5.0",
|
|
39
39
|
"@{{ORGANIZATION_NAME}}/components-{{PROJECT_NAME_KEBAB}}-core": "*",
|
|
40
40
|
"react": ">=18"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/node": "25.
|
|
43
|
+
"@types/node": "25.6.0",
|
|
44
44
|
"@types/react": ">=18"
|
|
45
45
|
},
|
|
46
46
|
"license": "MIT",
|