cursor-kit-cli 1.2.0-beta → 1.2.0-beta.3

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 (92) hide show
  1. package/bin/cursor-reinstall-instance.sh +102 -0
  2. package/dist/cli.cjs +366 -69
  3. package/dist/cli.cjs.map +1 -1
  4. package/dist/cli.js +367 -70
  5. package/dist/cli.js.map +1 -1
  6. package/dist/index.cjs +39 -1
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +9 -1
  9. package/dist/index.d.ts +9 -1
  10. package/dist/index.js +33 -2
  11. package/dist/index.js.map +1 -1
  12. package/package.json +1 -1
  13. package/templates/commands/docs.md +5 -3
  14. package/templates/commands/explain.md +5 -3
  15. package/templates/commands/fix.md +5 -3
  16. package/templates/commands/implement.md +5 -3
  17. package/templates/commands/refactor.md +5 -3
  18. package/templates/commands/review.md +5 -3
  19. package/templates/commands/test.md +5 -3
  20. package/templates/manifest.json +11 -8
  21. package/templates/rules/git.mdc +0 -2
  22. package/templates/rules/toc.mdc +17 -9
  23. package/templates/skills/aesthetic/SKILL.md +121 -0
  24. package/templates/skills/aesthetic/assets/design-guideline-template.md +163 -0
  25. package/templates/skills/aesthetic/assets/design-story-template.md +135 -0
  26. package/templates/skills/aesthetic/references/design-principles.md +62 -0
  27. package/templates/skills/aesthetic/references/design-resources.md +75 -0
  28. package/templates/skills/aesthetic/references/micro-interactions.md +53 -0
  29. package/templates/skills/aesthetic/references/storytelling-design.md +50 -0
  30. package/templates/skills/backend-development/SKILL.mdc +95 -0
  31. package/templates/skills/backend-development/references/backend-api-design.md +495 -0
  32. package/templates/skills/backend-development/references/backend-architecture.md +454 -0
  33. package/templates/skills/backend-development/references/backend-authentication.md +338 -0
  34. package/templates/skills/backend-development/references/backend-code-quality.md +659 -0
  35. package/templates/skills/backend-development/references/backend-debugging.md +904 -0
  36. package/templates/skills/backend-development/references/backend-devops.md +494 -0
  37. package/templates/skills/backend-development/references/backend-mindset.md +387 -0
  38. package/templates/skills/backend-development/references/backend-performance.md +397 -0
  39. package/templates/skills/backend-development/references/backend-security.md +290 -0
  40. package/templates/skills/backend-development/references/backend-technologies.md +256 -0
  41. package/templates/skills/backend-development/references/backend-testing.md +429 -0
  42. package/templates/skills/frontend-design/SKILL.mdc +41 -0
  43. package/templates/skills/frontend-design/references/animejs.md +396 -0
  44. package/templates/skills/frontend-development/SKILL.mdc +399 -0
  45. package/templates/skills/frontend-development/resources/common-patterns.md +331 -0
  46. package/templates/skills/frontend-development/resources/complete-examples.md +872 -0
  47. package/templates/skills/frontend-development/resources/component-patterns.md +502 -0
  48. package/templates/skills/frontend-development/resources/data-fetching.md +767 -0
  49. package/templates/skills/frontend-development/resources/file-organization.md +502 -0
  50. package/templates/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  51. package/templates/skills/frontend-development/resources/performance.md +406 -0
  52. package/templates/skills/frontend-development/resources/routing-guide.md +364 -0
  53. package/templates/skills/frontend-development/resources/styling-guide.md +428 -0
  54. package/templates/skills/frontend-development/resources/typescript-standards.md +418 -0
  55. package/templates/skills/problem-solving/SKILL.mdc +96 -0
  56. package/templates/skills/problem-solving/references/attribution.md +69 -0
  57. package/templates/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  58. package/templates/skills/problem-solving/references/inversion-exercise.md +91 -0
  59. package/templates/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  60. package/templates/skills/problem-solving/references/scale-game.md +95 -0
  61. package/templates/skills/problem-solving/references/simplification-cascades.md +80 -0
  62. package/templates/skills/problem-solving/references/when-stuck.md +72 -0
  63. package/templates/skills/research/SKILL.mdc +168 -0
  64. package/templates/skills/sequential-thinking/.env.example +8 -0
  65. package/templates/skills/sequential-thinking/README.md +183 -0
  66. package/templates/skills/sequential-thinking/SKILL.mdc +94 -0
  67. package/templates/skills/sequential-thinking/package.json +31 -0
  68. package/templates/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  69. package/templates/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  70. package/templates/skills/sequential-thinking/references/core-patterns.md +95 -0
  71. package/templates/skills/sequential-thinking/references/examples-api.md +88 -0
  72. package/templates/skills/sequential-thinking/references/examples-architecture.md +94 -0
  73. package/templates/skills/sequential-thinking/references/examples-debug.md +90 -0
  74. package/templates/skills/sequential-thinking/scripts/format-thought.js +159 -0
  75. package/templates/skills/sequential-thinking/scripts/process-thought.js +236 -0
  76. package/templates/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  77. package/templates/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  78. package/templates/skills/ui-styling/LICENSE.txt +202 -0
  79. package/templates/skills/ui-styling/SKILL.mdc +321 -0
  80. package/templates/skills/ui-styling/references/canvas-design-system.md +320 -0
  81. package/templates/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  82. package/templates/skills/ui-styling/references/shadcn-components.md +424 -0
  83. package/templates/skills/ui-styling/references/shadcn-theming.md +373 -0
  84. package/templates/skills/ui-styling/references/tailwind-customization.md +483 -0
  85. package/templates/skills/ui-styling/references/tailwind-responsive.md +382 -0
  86. package/templates/skills/ui-styling/references/tailwind-utilities.md +455 -0
  87. package/templates/rules/frontend-design.mdc +0 -48
  88. package/templates/rules/performance.mdc +0 -54
  89. package/templates/rules/react.mdc +0 -58
  90. package/templates/rules/security.mdc +0 -50
  91. package/templates/rules/testing.mdc +0 -54
  92. package/templates/rules/typescript.mdc +0 -36
@@ -0,0 +1,494 @@
1
+ # Backend DevOps Practices
2
+
3
+ CI/CD pipelines, containerization, deployment strategies, and monitoring (2025).
4
+
5
+ ## Deployment Strategies
6
+
7
+ ### Blue-Green Deployment
8
+
9
+ **Concept:** Two identical environments (Blue = current, Green = new)
10
+
11
+ ```
12
+ Production Traffic → Blue (v1.0)
13
+ Green (v2.0) ← Deploy & Test
14
+
15
+ Switch:
16
+ Production Traffic → Green (v2.0)
17
+ Blue (v1.0) ← Instant rollback available
18
+ ```
19
+
20
+ **Pros:**
21
+ - Zero downtime
22
+ - Instant rollback
23
+ - Full environment testing before switch
24
+
25
+ **Cons:**
26
+ - Requires double infrastructure
27
+ - Database migrations complex
28
+
29
+ ### Canary Deployment
30
+
31
+ **Concept:** Gradual rollout (1% → 5% → 25% → 100%)
32
+
33
+ ```bash
34
+ # Kubernetes canary deployment
35
+ kubectl set image deployment/api api=myapp:v2
36
+ kubectl rollout pause deployment/api # Pause at initial replicas
37
+
38
+ # Monitor metrics, then continue
39
+ kubectl rollout resume deployment/api
40
+ ```
41
+
42
+ **Pros:**
43
+ - Risk mitigation
44
+ - Early issue detection
45
+ - Real user feedback
46
+
47
+ **Cons:**
48
+ - Requires monitoring
49
+ - Longer deployment time
50
+
51
+ ### Feature Flags (Progressive Delivery)
52
+
53
+ **Impact:** 90% fewer deployment failures when combined with canary
54
+
55
+ ```typescript
56
+ import { LaunchDarkly } from 'launchdarkly-node-server-sdk';
57
+
58
+ const client = LaunchDarkly.init(process.env.LD_SDK_KEY);
59
+
60
+ // Check feature flag
61
+ const showNewCheckout = await client.variation('new-checkout', user, false);
62
+
63
+ if (showNewCheckout) {
64
+ return newCheckoutFlow(req, res);
65
+ } else {
66
+ return oldCheckoutFlow(req, res);
67
+ }
68
+ ```
69
+
70
+ **Use Cases:**
71
+ - Gradual feature rollout
72
+ - A/B testing
73
+ - Kill switch for problematic features
74
+ - Decouple deployment from release
75
+
76
+ ## Containerization with Docker
77
+
78
+ ### Multi-Stage Builds (Optimize Image Size)
79
+
80
+ ```dockerfile
81
+ # Build stage
82
+ FROM node:20-alpine AS builder
83
+ WORKDIR /app
84
+ COPY package*.json ./
85
+ RUN npm ci --only=production
86
+ COPY . .
87
+ RUN npm run build
88
+
89
+ # Production stage
90
+ FROM node:20-alpine
91
+ WORKDIR /app
92
+
93
+ # Copy only necessary files
94
+ COPY --from=builder /app/dist ./dist
95
+ COPY --from=builder /app/node_modules ./node_modules
96
+ COPY package.json ./
97
+
98
+ # Security: Run as non-root
99
+ RUN addgroup -g 1001 -S nodejs && \
100
+ adduser -S nodejs -u 1001
101
+ USER nodejs
102
+
103
+ EXPOSE 3000
104
+ CMD ["node", "dist/main.js"]
105
+ ```
106
+
107
+ **Benefits:**
108
+ - Smaller image size (50-90% reduction)
109
+ - Faster deployments
110
+ - Reduced attack surface
111
+
112
+ ### Docker Compose (Local Development)
113
+
114
+ ```yaml
115
+ version: '3.8'
116
+
117
+ services:
118
+ api:
119
+ build: .
120
+ ports:
121
+ - "3000:3000"
122
+ environment:
123
+ - DATABASE_URL=postgresql://postgres:password@db:5432/myapp
124
+ - REDIS_URL=redis://redis:6379
125
+ depends_on:
126
+ - db
127
+ - redis
128
+
129
+ db:
130
+ image: postgres:15-alpine
131
+ environment:
132
+ - POSTGRES_PASSWORD=password
133
+ - POSTGRES_DB=myapp
134
+ volumes:
135
+ - postgres-data:/var/lib/postgresql/data
136
+
137
+ redis:
138
+ image: redis:7-alpine
139
+ ports:
140
+ - "6379:6379"
141
+
142
+ volumes:
143
+ postgres-data:
144
+ ```
145
+
146
+ ## Kubernetes Orchestration
147
+
148
+ ### Deployment Manifest
149
+
150
+ ```yaml
151
+ apiVersion: apps/v1
152
+ kind: Deployment
153
+ metadata:
154
+ name: api-deployment
155
+ spec:
156
+ replicas: 3
157
+ selector:
158
+ matchLabels:
159
+ app: api
160
+ template:
161
+ metadata:
162
+ labels:
163
+ app: api
164
+ spec:
165
+ containers:
166
+ - name: api
167
+ image: myregistry/api:v1.0.0
168
+ ports:
169
+ - containerPort: 3000
170
+ env:
171
+ - name: DATABASE_URL
172
+ valueFrom:
173
+ secretKeyRef:
174
+ name: db-secret
175
+ key: url
176
+ resources:
177
+ requests:
178
+ memory: "256Mi"
179
+ cpu: "250m"
180
+ limits:
181
+ memory: "512Mi"
182
+ cpu: "500m"
183
+ livenessProbe:
184
+ httpGet:
185
+ path: /health
186
+ port: 3000
187
+ initialDelaySeconds: 30
188
+ periodSeconds: 10
189
+ readinessProbe:
190
+ httpGet:
191
+ path: /ready
192
+ port: 3000
193
+ initialDelaySeconds: 5
194
+ periodSeconds: 5
195
+ ```
196
+
197
+ ### Horizontal Pod Autoscaling
198
+
199
+ ```yaml
200
+ apiVersion: autoscaling/v2
201
+ kind: HorizontalPodAutoscaler
202
+ metadata:
203
+ name: api-hpa
204
+ spec:
205
+ scaleTargetRef:
206
+ apiVersion: apps/v1
207
+ kind: Deployment
208
+ name: api-deployment
209
+ minReplicas: 3
210
+ maxReplicas: 10
211
+ metrics:
212
+ - type: Resource
213
+ resource:
214
+ name: cpu
215
+ target:
216
+ type: Utilization
217
+ averageUtilization: 70
218
+ ```
219
+
220
+ ## CI/CD Pipelines
221
+
222
+ ### GitHub Actions (Modern, Integrated)
223
+
224
+ ```yaml
225
+ name: CI/CD Pipeline
226
+
227
+ on:
228
+ push:
229
+ branches: [main]
230
+ pull_request:
231
+ branches: [main]
232
+
233
+ jobs:
234
+ test:
235
+ runs-on: ubuntu-latest
236
+ steps:
237
+ - uses: actions/checkout@v3
238
+
239
+ - name: Setup Node.js
240
+ uses: actions/setup-node@v3
241
+ with:
242
+ node-version: '20'
243
+ cache: 'npm'
244
+
245
+ - name: Install dependencies
246
+ run: npm ci
247
+
248
+ - name: Run linter
249
+ run: npm run lint
250
+
251
+ - name: Run tests
252
+ run: npm run test:ci
253
+
254
+ - name: Upload coverage
255
+ uses: codecov/codecov-action@v3
256
+
257
+ security:
258
+ runs-on: ubuntu-latest
259
+ steps:
260
+ - uses: actions/checkout@v3
261
+
262
+ - name: Run Snyk scan
263
+ uses: snyk/actions/node@master
264
+ env:
265
+ SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
266
+
267
+ - name: Container scan
268
+ run: |
269
+ docker build -t myapp:${{ github.sha }} .
270
+ docker scan myapp:${{ github.sha }}
271
+
272
+ deploy:
273
+ needs: [test, security]
274
+ runs-on: ubuntu-latest
275
+ if: github.ref == 'refs/heads/main'
276
+ steps:
277
+ - uses: actions/checkout@v3
278
+
279
+ - name: Build and push Docker image
280
+ run: |
281
+ echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
282
+ docker build -t ghcr.io/${{ github.repository }}:${{ github.sha }} .
283
+ docker push ghcr.io/${{ github.repository }}:${{ github.sha }}
284
+
285
+ - name: Deploy to Kubernetes
286
+ run: |
287
+ kubectl set image deployment/api api=ghcr.io/${{ github.repository }}:${{ github.sha }}
288
+ kubectl rollout status deployment/api
289
+ ```
290
+
291
+ ## Monitoring & Observability
292
+
293
+ ### Three Pillars of Observability
294
+
295
+ **1. Metrics (Prometheus + Grafana)**
296
+
297
+ ```typescript
298
+ import { Counter, Histogram, register } from 'prom-client';
299
+
300
+ // Request counter
301
+ const httpRequestTotal = new Counter({
302
+ name: 'http_requests_total',
303
+ help: 'Total HTTP requests',
304
+ labelNames: ['method', 'route', 'status'],
305
+ });
306
+
307
+ // Response time histogram
308
+ const httpRequestDuration = new Histogram({
309
+ name: 'http_request_duration_seconds',
310
+ help: 'HTTP request duration',
311
+ labelNames: ['method', 'route'],
312
+ buckets: [0.1, 0.5, 1, 2, 5],
313
+ });
314
+
315
+ // Middleware to track metrics
316
+ app.use((req, res, next) => {
317
+ const start = Date.now();
318
+
319
+ res.on('finish', () => {
320
+ const duration = (Date.now() - start) / 1000;
321
+ httpRequestTotal.inc({ method: req.method, route: req.route?.path, status: res.statusCode });
322
+ httpRequestDuration.observe({ method: req.method, route: req.route?.path }, duration);
323
+ });
324
+
325
+ next();
326
+ });
327
+
328
+ // Metrics endpoint
329
+ app.get('/metrics', async (req, res) => {
330
+ res.set('Content-Type', register.contentType);
331
+ res.end(await register.metrics());
332
+ });
333
+ ```
334
+
335
+ **2. Logs (ELK Stack - Elasticsearch, Logstash, Kibana)**
336
+
337
+ ```typescript
338
+ import winston from 'winston';
339
+ import { ElasticsearchTransport } from 'winston-elasticsearch';
340
+
341
+ const logger = winston.createLogger({
342
+ level: 'info',
343
+ format: winston.format.json(),
344
+ transports: [
345
+ new winston.transports.Console(),
346
+ new ElasticsearchTransport({
347
+ level: 'info',
348
+ clientOpts: { node: 'http://localhost:9200' },
349
+ index: 'logs',
350
+ }),
351
+ ],
352
+ });
353
+
354
+ // Structured logging
355
+ logger.info('User created', {
356
+ userId: user.id,
357
+ email: user.email,
358
+ ipAddress: req.ip,
359
+ userAgent: req.headers['user-agent'],
360
+ });
361
+ ```
362
+
363
+ **3. Traces (Jaeger/OpenTelemetry)**
364
+
365
+ ```typescript
366
+ import { NodeSDK } from '@opentelemetry/sdk-node';
367
+ import { JaegerExporter } from '@opentelemetry/exporter-jaeger';
368
+
369
+ const sdk = new NodeSDK({
370
+ traceExporter: new JaegerExporter({
371
+ endpoint: 'http://localhost:14268/api/traces',
372
+ }),
373
+ serviceName: 'api-service',
374
+ });
375
+
376
+ sdk.start();
377
+
378
+ // Traces automatically captured for HTTP requests, database queries, etc.
379
+ ```
380
+
381
+ ### Health Checks
382
+
383
+ ```typescript
384
+ // Liveness probe - Is the app running?
385
+ app.get('/health/liveness', (req, res) => {
386
+ res.status(200).json({ status: 'ok', timestamp: Date.now() });
387
+ });
388
+
389
+ // Readiness probe - Is the app ready to serve traffic?
390
+ app.get('/health/readiness', async (req, res) => {
391
+ const checks = {
392
+ database: await checkDatabase(),
393
+ redis: await checkRedis(),
394
+ externalAPI: await checkExternalAPI(),
395
+ };
396
+
397
+ const isReady = Object.values(checks).every(Boolean);
398
+ res.status(isReady ? 200 : 503).json({
399
+ status: isReady ? 'ready' : 'not ready',
400
+ checks,
401
+ });
402
+ });
403
+
404
+ async function checkDatabase() {
405
+ try {
406
+ await db.query('SELECT 1');
407
+ return true;
408
+ } catch {
409
+ return false;
410
+ }
411
+ }
412
+ ```
413
+
414
+ ## Secrets Management
415
+
416
+ ### HashiCorp Vault
417
+
418
+ ```bash
419
+ # Store secret
420
+ vault kv put secret/myapp/db password=super-secret
421
+
422
+ # Retrieve secret
423
+ vault kv get -field=password secret/myapp/db
424
+ ```
425
+
426
+ ### Kubernetes Secrets
427
+
428
+ ```yaml
429
+ apiVersion: v1
430
+ kind: Secret
431
+ metadata:
432
+ name: db-secret
433
+ type: Opaque
434
+ stringData:
435
+ url: postgresql://user:pass@host:5432/db
436
+ ---
437
+ # Reference in deployment
438
+ env:
439
+ - name: DATABASE_URL
440
+ valueFrom:
441
+ secretKeyRef:
442
+ name: db-secret
443
+ key: url
444
+ ```
445
+
446
+ ## Infrastructure as Code (Terraform)
447
+
448
+ ```hcl
449
+ # main.tf
450
+ resource "aws_db_instance" "main" {
451
+ identifier = "myapp-db"
452
+ engine = "postgres"
453
+ engine_version = "15.3"
454
+ instance_class = "db.t3.micro"
455
+ allocated_storage = 20
456
+ username = "admin"
457
+ password = var.db_password
458
+
459
+ backup_retention_period = 7
460
+ skip_final_snapshot = false
461
+ }
462
+
463
+ resource "aws_elasticache_cluster" "redis" {
464
+ cluster_id = "myapp-redis"
465
+ engine = "redis"
466
+ node_type = "cache.t3.micro"
467
+ num_cache_nodes = 1
468
+ parameter_group_name = "default.redis7"
469
+ }
470
+ ```
471
+
472
+ ## DevOps Checklist
473
+
474
+ - [ ] CI/CD pipeline configured (GitHub Actions/GitLab CI/Jenkins)
475
+ - [ ] Docker multi-stage builds implemented
476
+ - [ ] Kubernetes deployment manifests created
477
+ - [ ] Blue-green or canary deployment strategy
478
+ - [ ] Feature flags configured (LaunchDarkly/Unleash)
479
+ - [ ] Health checks (liveness + readiness probes)
480
+ - [ ] Monitoring: Prometheus + Grafana
481
+ - [ ] Logging: ELK Stack or similar
482
+ - [ ] Distributed tracing: Jaeger/OpenTelemetry
483
+ - [ ] Secrets management (Vault/AWS Secrets Manager)
484
+ - [ ] Infrastructure as Code (Terraform/CloudFormation)
485
+ - [ ] Autoscaling configured
486
+ - [ ] Backup and disaster recovery plan
487
+
488
+ ## Resources
489
+
490
+ - **Kubernetes:** https://kubernetes.io/docs/
491
+ - **Docker:** https://docs.docker.com/
492
+ - **Prometheus:** https://prometheus.io/docs/
493
+ - **OpenTelemetry:** https://opentelemetry.io/docs/
494
+ - **Terraform:** https://www.terraform.io/docs/