@maccesar/aiskills 1.7.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.
- package/README.md +531 -0
- package/bin/aiskills.js +76 -0
- package/lib/cache.js +49 -0
- package/lib/cleanup.js +77 -0
- package/lib/commands/auto-update.js +131 -0
- package/lib/commands/doctor.js +139 -0
- package/lib/commands/list.js +77 -0
- package/lib/commands/skills.js +263 -0
- package/lib/commands/status.js +94 -0
- package/lib/commands/uninstall.js +182 -0
- package/lib/commands/update.js +149 -0
- package/lib/config.js +90 -0
- package/lib/downloader.js +110 -0
- package/lib/hooks.js +74 -0
- package/lib/installer.js +114 -0
- package/lib/platform.js +112 -0
- package/lib/prompts/checkboxCancel.js +264 -0
- package/lib/prompts/selectCancel.js +204 -0
- package/lib/symlink.js +154 -0
- package/lib/utils.js +49 -0
- package/package.json +61 -0
- package/skills/humaniza/SKILL.md +51 -0
- package/skills/humaniza/agents/openai.yaml +4 -0
- package/skills/humaniza/references/ai-patterns-es.md +51 -0
- package/skills/humaniza/references/checklist.md +9 -0
- package/skills/humaniza/references/examples.md +17 -0
- package/skills/humaniza/references/lexicon-es-mx.md +36 -0
- package/skills/humaniza/references/modes-es-mx.md +41 -0
- package/skills/humaniza/references/voice-es-mx.md +24 -0
- package/skills/refactoring-ui/SKILL.md +59 -0
- package/skills/refactoring-ui/references/01-design-process.md +72 -0
- package/skills/refactoring-ui/references/02-visual-hierarchy.md +84 -0
- package/skills/refactoring-ui/references/03-layout-spacing.md +69 -0
- package/skills/refactoring-ui/references/04-typography.md +70 -0
- package/skills/refactoring-ui/references/05-color.md +96 -0
- package/skills/refactoring-ui/references/06-depth-shadows.md +74 -0
- package/skills/refactoring-ui/references/07-images.md +75 -0
- package/skills/refactoring-ui/references/08-finishing-touches.md +91 -0
- package/skills/stitch-showcase/SKILL.md +411 -0
- package/skills/stitch-showcase/references/01-navbar.md +52 -0
- package/skills/stitch-showcase/references/02-hero.md +56 -0
- package/skills/stitch-showcase/references/03-design-system.md +102 -0
- package/skills/stitch-showcase/references/04-screen-gallery.md +102 -0
- package/skills/stitch-showcase/references/05-viewer-web.md +105 -0
- package/skills/stitch-showcase/references/06-viewer-mobile.md +104 -0
- package/skills/stitch-showcase/references/07-theme-system.md +77 -0
- package/skills/stitch-showcase/references/08-type-detection.md +81 -0
- package/skills/stitch-showcase/references/09-quality-standards.md +126 -0
- package/skills/stitch-showcase/references/10-component-standardization.md +40 -0
- package/skills/stitch-showcase/references/11-component-catalog.md +70 -0
- package/skills/stitch-showcase/references/catalog-template.html +841 -0
- package/skills/stitch-showcase/references/index.html +299 -0
- package/skills/stitch-showcase/references/viewer.html +412 -0
- package/skills/stitch-showcase/scripts/__pycache__/build_showcase.cpython-314.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/component_utils.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/detect_components.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/extract_catalog.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/extract_text.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/extract_zips.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/__pycache__/parse_design_md.cpython-313.pyc +0 -0
- package/skills/stitch-showcase/scripts/apply_canonical.py +238 -0
- package/skills/stitch-showcase/scripts/build_showcase.py +2103 -0
- package/skills/stitch-showcase/scripts/component_utils.py +398 -0
- package/skills/stitch-showcase/scripts/detect_components.py +284 -0
- package/skills/stitch-showcase/scripts/extract_catalog.py +913 -0
- package/skills/stitch-showcase/scripts/extract_text.py +268 -0
- package/skills/stitch-showcase/scripts/extract_zips.py +178 -0
- package/skills/stitch-showcase/scripts/parse_design_md.py +397 -0
- package/skills/vscode-extension-dev/SKILL.md +114 -0
- package/skills/vscode-extension-dev/references/api-patterns.md +625 -0
- package/skills/vscode-extension-dev/references/architecture.md +287 -0
- package/skills/vscode-extension-dev/references/package-json-schema.md +345 -0
- package/skills/vscode-extension-dev/references/publishing.md +251 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# Publishing VS Code Extensions
|
|
2
|
+
|
|
3
|
+
Complete workflow from local build to Marketplace.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install vsce (Visual Studio Code Extensions CLI)
|
|
9
|
+
npm install -g @vscode/vsce
|
|
10
|
+
|
|
11
|
+
# Verify installation
|
|
12
|
+
vsce --version
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Personal Access Token (PAT)
|
|
16
|
+
|
|
17
|
+
1. Go to https://dev.azure.com → User Settings → Personal Access Tokens
|
|
18
|
+
2. Create new token:
|
|
19
|
+
- **Organization**: All accessible organizations
|
|
20
|
+
- **Scopes**: Marketplace → Manage
|
|
21
|
+
- **Expiration**: Set a reasonable duration
|
|
22
|
+
3. Save the token securely — it's shown only once
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Login with your publisher
|
|
26
|
+
vsce login your-publisher-id
|
|
27
|
+
# Paste token when prompted
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Publisher Setup
|
|
31
|
+
|
|
32
|
+
1. Go to https://marketplace.visualstudio.com/manage
|
|
33
|
+
2. Create a publisher if you don't have one
|
|
34
|
+
3. Your `publisher` field in `package.json` must match exactly
|
|
35
|
+
|
|
36
|
+
## .vscodeignore
|
|
37
|
+
|
|
38
|
+
Controls what goes into the VSIX package. Keep it small.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
.vscode/**
|
|
42
|
+
.vscode-test/**
|
|
43
|
+
src/**
|
|
44
|
+
test/**
|
|
45
|
+
out/**
|
|
46
|
+
node_modules/**
|
|
47
|
+
.gitignore
|
|
48
|
+
.eslintrc*
|
|
49
|
+
tsconfig.json
|
|
50
|
+
esbuild.js
|
|
51
|
+
**/*.ts
|
|
52
|
+
**/*.map
|
|
53
|
+
.github/**
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Key rules:**
|
|
57
|
+
- Source `.ts` files should be excluded — only ship bundled `dist/`
|
|
58
|
+
- `node_modules/` excluded when using esbuild bundling
|
|
59
|
+
- Keep `README.md`, `CHANGELOG.md`, `LICENSE`, and `media/` (icons, images)
|
|
60
|
+
|
|
61
|
+
## Pre-Publish Checklist
|
|
62
|
+
|
|
63
|
+
Before running `vsce publish`:
|
|
64
|
+
|
|
65
|
+
1. **README.md** — Must exist and be non-empty (Marketplace listing page)
|
|
66
|
+
2. **CHANGELOG.md** — Document what changed in this version
|
|
67
|
+
3. **Icon** — Add `"icon": "resources/icon.png"` to `package.json` (128x128 PNG)
|
|
68
|
+
4. **Repository** — Add `"repository"` field to `package.json`
|
|
69
|
+
5. **License** — Add `"license"` field and include a LICENSE file
|
|
70
|
+
6. **Version** — Bump version in `package.json`
|
|
71
|
+
7. **Build** — Run `npm run package` to verify bundling works
|
|
72
|
+
8. **Test** — Run `npm test` to verify all tests pass
|
|
73
|
+
9. **Package** — Run `vsce package` to create VSIX locally and verify contents
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Create VSIX for local testing
|
|
77
|
+
vsce package
|
|
78
|
+
|
|
79
|
+
# Install locally to verify
|
|
80
|
+
code --install-extension my-extension-0.0.1.vsix
|
|
81
|
+
|
|
82
|
+
# Check package size
|
|
83
|
+
ls -la *.vsix
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Publishing
|
|
87
|
+
|
|
88
|
+
### Manual Publish
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Bump version and publish
|
|
92
|
+
vsce publish patch # 0.0.1 → 0.0.2
|
|
93
|
+
vsce publish minor # 0.0.2 → 0.1.0
|
|
94
|
+
vsce publish major # 0.1.0 → 1.0.0
|
|
95
|
+
|
|
96
|
+
# Or publish current version
|
|
97
|
+
vsce publish
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Publish with Specific Version
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
vsce publish 1.2.3
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## GitHub Actions CI/CD
|
|
107
|
+
|
|
108
|
+
### Test on Every Push
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
# .github/workflows/test.yml
|
|
112
|
+
name: Test
|
|
113
|
+
|
|
114
|
+
on:
|
|
115
|
+
push:
|
|
116
|
+
branches: [main]
|
|
117
|
+
pull_request:
|
|
118
|
+
branches: [main]
|
|
119
|
+
|
|
120
|
+
jobs:
|
|
121
|
+
test:
|
|
122
|
+
strategy:
|
|
123
|
+
matrix:
|
|
124
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
125
|
+
runs-on: ${{ matrix.os }}
|
|
126
|
+
|
|
127
|
+
steps:
|
|
128
|
+
- uses: actions/checkout@v4
|
|
129
|
+
|
|
130
|
+
- uses: actions/setup-node@v4
|
|
131
|
+
with:
|
|
132
|
+
node-version: 20
|
|
133
|
+
|
|
134
|
+
- run: npm ci
|
|
135
|
+
- run: npm run compile
|
|
136
|
+
- run: xvfb-run -a npm test
|
|
137
|
+
if: runner.os == 'Linux'
|
|
138
|
+
- run: npm test
|
|
139
|
+
if: runner.os != 'Linux'
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Publish on Tag
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
# .github/workflows/publish.yml
|
|
146
|
+
name: Publish
|
|
147
|
+
|
|
148
|
+
on:
|
|
149
|
+
push:
|
|
150
|
+
tags:
|
|
151
|
+
- 'v*'
|
|
152
|
+
|
|
153
|
+
jobs:
|
|
154
|
+
publish:
|
|
155
|
+
runs-on: ubuntu-latest
|
|
156
|
+
steps:
|
|
157
|
+
- uses: actions/checkout@v4
|
|
158
|
+
|
|
159
|
+
- uses: actions/setup-node@v4
|
|
160
|
+
with:
|
|
161
|
+
node-version: 20
|
|
162
|
+
|
|
163
|
+
- run: npm ci
|
|
164
|
+
- run: npm run compile
|
|
165
|
+
- run: xvfb-run -a npm test
|
|
166
|
+
|
|
167
|
+
# Publish to VS Code Marketplace
|
|
168
|
+
- run: npx @vscode/vsce publish
|
|
169
|
+
env:
|
|
170
|
+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
|
|
171
|
+
|
|
172
|
+
# Publish to Open VSX (optional)
|
|
173
|
+
- run: npx ovsx publish -p ${{ secrets.OVSX_PAT }}
|
|
174
|
+
if: env.OVSX_PAT != ''
|
|
175
|
+
env:
|
|
176
|
+
OVSX_PAT: ${{ secrets.OVSX_PAT }}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Required secrets:**
|
|
180
|
+
- `VSCE_PAT`: Your Azure DevOps Personal Access Token
|
|
181
|
+
- `OVSX_PAT` (optional): Open VSX Registry access token
|
|
182
|
+
|
|
183
|
+
## Open VSX Registry
|
|
184
|
+
|
|
185
|
+
For VS Code forks (VSCodium, Gitpod, etc.) that don't use the Microsoft Marketplace.
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Install ovsx CLI
|
|
189
|
+
npm install -g ovsx
|
|
190
|
+
|
|
191
|
+
# Publish
|
|
192
|
+
ovsx publish -p YOUR_OPENVSX_TOKEN
|
|
193
|
+
|
|
194
|
+
# Or publish an existing VSIX
|
|
195
|
+
ovsx publish my-extension-0.0.1.vsix -p YOUR_OPENVSX_TOKEN
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Get your token at https://open-vsx.org.
|
|
199
|
+
|
|
200
|
+
## Version Bumping Strategies
|
|
201
|
+
|
|
202
|
+
### Semantic Versioning
|
|
203
|
+
|
|
204
|
+
- **Patch** (0.0.x): Bug fixes, docs updates
|
|
205
|
+
- **Minor** (0.x.0): New features, backward-compatible
|
|
206
|
+
- **Major** (x.0.0): Breaking changes
|
|
207
|
+
|
|
208
|
+
### Recommended Workflow
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# 1. Update CHANGELOG.md with changes
|
|
212
|
+
# 2. Bump version
|
|
213
|
+
npm version patch -m "Release %s"
|
|
214
|
+
# This updates package.json and creates a git tag
|
|
215
|
+
|
|
216
|
+
# 3. Push with tags
|
|
217
|
+
git push origin main --tags
|
|
218
|
+
# CI/CD picks up the tag and publishes
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Pre-release Versions
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# Publish as pre-release
|
|
225
|
+
vsce publish --pre-release
|
|
226
|
+
|
|
227
|
+
# In package.json, use pre-release versions:
|
|
228
|
+
# "version": "1.0.0-beta.1"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Pre-release extensions show a "Pre-release" badge in the Marketplace and users can opt in/out.
|
|
232
|
+
|
|
233
|
+
## Verifying Your Published Extension
|
|
234
|
+
|
|
235
|
+
After publishing:
|
|
236
|
+
|
|
237
|
+
1. Check https://marketplace.visualstudio.com/items?itemName=publisher.extension-name
|
|
238
|
+
2. Verify README renders correctly
|
|
239
|
+
3. Install from the Marketplace in VS Code
|
|
240
|
+
4. Test that all features work in a clean VS Code instance
|
|
241
|
+
|
|
242
|
+
## Common Publishing Errors
|
|
243
|
+
|
|
244
|
+
| Error | Fix |
|
|
245
|
+
| ----- | --- |
|
|
246
|
+
| `Missing publisher name` | Add `"publisher"` to `package.json` |
|
|
247
|
+
| `A '+0.0.0' version is not valid` | Use valid semver in `"version"` |
|
|
248
|
+
| `README.md not found` | Create a README.md in the root |
|
|
249
|
+
| `VSIX too large` | Check `.vscodeignore`, exclude `node_modules/` |
|
|
250
|
+
| `401 Unauthorized` | Regenerate PAT, ensure Marketplace scope |
|
|
251
|
+
| `Extension already exists` | Your `publisher.name` combo is taken |
|