@conceptcraft/mindframes 0.1.8 → 0.1.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/index.js +448 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3144,6 +3144,421 @@ init_brand();
|
|
|
3144
3144
|
import { Command as Command14 } from "commander";
|
|
3145
3145
|
import chalk12 from "chalk";
|
|
3146
3146
|
|
|
3147
|
+
// src/commands/skill/generate-main-skill.ts
|
|
3148
|
+
function generateMainSkillContent(context) {
|
|
3149
|
+
const { name, cmd: cmd2, displayName } = context;
|
|
3150
|
+
const envPrefix = name.toUpperCase().replace(/-/g, "_");
|
|
3151
|
+
return `---
|
|
3152
|
+
name: ${name}
|
|
3153
|
+
description: ${displayName} CLI for AI-powered content creation. Use when user needs to create presentations, generate video assets (voiceover, music, images, stock videos), use text-to-speech, mix audio, search stock media, or manage branding. This is the main entry point - load specialized skills (${name}-video, ${name}-presentation) for detailed workflows.
|
|
3154
|
+
---
|
|
3155
|
+
|
|
3156
|
+
# ${displayName} CLI
|
|
3157
|
+
|
|
3158
|
+
A comprehensive CLI for AI-powered content creation. Generate presentations, video assets, voiceovers, music, and search stock media - all from your terminal.
|
|
3159
|
+
|
|
3160
|
+
**Install:** \`npm install -g @${name}/cli\` or \`pnpm add -g @${name}/cli\`
|
|
3161
|
+
|
|
3162
|
+
---
|
|
3163
|
+
|
|
3164
|
+
## Quick Reference
|
|
3165
|
+
|
|
3166
|
+
| Task | Command |
|
|
3167
|
+
|------|---------|
|
|
3168
|
+
| Create presentation | \`${cmd2} create "Topic"\` |
|
|
3169
|
+
| Generate video assets | \`${cmd2} video create < scenes.json\` |
|
|
3170
|
+
| Text-to-speech | \`${cmd2} tts generate -t "Text" -o voice.mp3\` |
|
|
3171
|
+
| Generate music | \`${cmd2} music generate -p "upbeat corporate"\` |
|
|
3172
|
+
| Search images | \`${cmd2} image search -q "mountain landscape"\` |
|
|
3173
|
+
| Search videos | \`${cmd2} video search "ocean waves"\` |
|
|
3174
|
+
| Mix audio tracks | \`${cmd2} mix create --video v.mp4 --music m.mp3\` |
|
|
3175
|
+
|
|
3176
|
+
---
|
|
3177
|
+
|
|
3178
|
+
## Authentication
|
|
3179
|
+
|
|
3180
|
+
\`\`\`bash
|
|
3181
|
+
# Login via OAuth (recommended)
|
|
3182
|
+
${cmd2} login
|
|
3183
|
+
|
|
3184
|
+
# Or set API key directly
|
|
3185
|
+
export ${envPrefix}_API_KEY="your-key-here"
|
|
3186
|
+
|
|
3187
|
+
# Verify authentication
|
|
3188
|
+
${cmd2} whoami
|
|
3189
|
+
\`\`\`
|
|
3190
|
+
|
|
3191
|
+
---
|
|
3192
|
+
|
|
3193
|
+
## 1. Presentations
|
|
3194
|
+
|
|
3195
|
+
Create AI-powered presentations from text, files, URLs, or piped content.
|
|
3196
|
+
|
|
3197
|
+
\`\`\`bash
|
|
3198
|
+
# From topic
|
|
3199
|
+
${cmd2} create "AI-powered analytics platform"
|
|
3200
|
+
|
|
3201
|
+
# From file (PDF, PPTX, DOCX, Markdown)
|
|
3202
|
+
${cmd2} create "Quarterly Report" --file report.pdf
|
|
3203
|
+
|
|
3204
|
+
# From URL
|
|
3205
|
+
${cmd2} create "Product Overview" --sources https://company.com/product
|
|
3206
|
+
|
|
3207
|
+
# From piped content
|
|
3208
|
+
cat notes.md | ${cmd2} create "Meeting Summary"
|
|
3209
|
+
|
|
3210
|
+
# With options
|
|
3211
|
+
${cmd2} create "Pitch Deck" \\
|
|
3212
|
+
--slides 10 \\
|
|
3213
|
+
--mode balanced \\
|
|
3214
|
+
--tone professional \\
|
|
3215
|
+
--audience "Investors" \\
|
|
3216
|
+
--brand my-company \\
|
|
3217
|
+
--open
|
|
3218
|
+
\`\`\`
|
|
3219
|
+
|
|
3220
|
+
**Key Options:**
|
|
3221
|
+
- \`--slides <1-20>\` - Number of slides (default: 10)
|
|
3222
|
+
- \`--mode <instant|ultrafast|fast|balanced|best>\` - Quality/speed tradeoff
|
|
3223
|
+
- \`--tone <creative|professional|educational|formal|casual>\`
|
|
3224
|
+
- \`--file <paths...>\` - Extract content from files
|
|
3225
|
+
- \`--sources <urls...>\` - Scrape URLs for context
|
|
3226
|
+
- \`--brand <id|url>\` - Apply branding
|
|
3227
|
+
- \`--open\` - Open in browser when done
|
|
3228
|
+
|
|
3229
|
+
**Manage presentations:**
|
|
3230
|
+
\`\`\`bash
|
|
3231
|
+
${cmd2} list # List all presentations
|
|
3232
|
+
${cmd2} get <slug> # Get details
|
|
3233
|
+
${cmd2} export <slug> -o p.zip # Export to ZIP
|
|
3234
|
+
${cmd2} delete <slug> # Delete
|
|
3235
|
+
\`\`\`
|
|
3236
|
+
|
|
3237
|
+
---
|
|
3238
|
+
|
|
3239
|
+
## 2. Video Asset Generation
|
|
3240
|
+
|
|
3241
|
+
Generate voiceovers, music, and find stock media for video production. Works with Remotion or any video framework.
|
|
3242
|
+
|
|
3243
|
+
### Generate All Assets at Once
|
|
3244
|
+
|
|
3245
|
+
\`\`\`bash
|
|
3246
|
+
cat <<'EOF' | ${cmd2} video create --output ./public
|
|
3247
|
+
{
|
|
3248
|
+
"scenes": [
|
|
3249
|
+
{
|
|
3250
|
+
"name": "Hook",
|
|
3251
|
+
"script": "Watch how we transformed complex workflows into a single click.",
|
|
3252
|
+
"imageQuery": "modern dashboard dark theme",
|
|
3253
|
+
"videoQuery": "abstract tech particles"
|
|
3254
|
+
},
|
|
3255
|
+
{
|
|
3256
|
+
"name": "Demo",
|
|
3257
|
+
"script": "Our AI analyzes data in real-time, surfacing insights that matter.",
|
|
3258
|
+
"imageQuery": "data visualization charts"
|
|
3259
|
+
},
|
|
3260
|
+
{
|
|
3261
|
+
"name": "CTA",
|
|
3262
|
+
"script": "Start your free trial today.",
|
|
3263
|
+
"imageQuery": "call to action button"
|
|
3264
|
+
}
|
|
3265
|
+
],
|
|
3266
|
+
"voice": "Kore",
|
|
3267
|
+
"voiceSettings": {
|
|
3268
|
+
"speed": 0.95,
|
|
3269
|
+
"stability": 0.4,
|
|
3270
|
+
"style": 0.6
|
|
3271
|
+
},
|
|
3272
|
+
"musicPrompt": "upbeat corporate, positive energy, modern synth"
|
|
3273
|
+
}
|
|
3274
|
+
EOF
|
|
3275
|
+
\`\`\`
|
|
3276
|
+
|
|
3277
|
+
**Output:** Per-scene voiceovers, background music, stock images/videos, and \`video-manifest.json\` with timing data.
|
|
3278
|
+
|
|
3279
|
+
### Initialize Remotion Project
|
|
3280
|
+
|
|
3281
|
+
\`\`\`bash
|
|
3282
|
+
${cmd2} video init my-video # 16:9 landscape
|
|
3283
|
+
${cmd2} video init my-video --type tiktok # 9:16 vertical
|
|
3284
|
+
\`\`\`
|
|
3285
|
+
|
|
3286
|
+
### Embed Thumbnail
|
|
3287
|
+
|
|
3288
|
+
\`\`\`bash
|
|
3289
|
+
${cmd2} video thumbnail video.mp4 --frame 60
|
|
3290
|
+
\`\`\`
|
|
3291
|
+
|
|
3292
|
+
---
|
|
3293
|
+
|
|
3294
|
+
## 3. Text-to-Speech (TTS)
|
|
3295
|
+
|
|
3296
|
+
Convert text to natural speech with multiple providers and voices.
|
|
3297
|
+
|
|
3298
|
+
\`\`\`bash
|
|
3299
|
+
# Basic usage
|
|
3300
|
+
${cmd2} tts generate -t "Hello world" -o output.mp3
|
|
3301
|
+
|
|
3302
|
+
# With voice selection
|
|
3303
|
+
${cmd2} tts generate -t "Welcome to the demo" -v Rachel -o welcome.mp3
|
|
3304
|
+
|
|
3305
|
+
# With provider and settings
|
|
3306
|
+
${cmd2} tts generate \\
|
|
3307
|
+
-t "Professional narration" \\
|
|
3308
|
+
-v Kore \\
|
|
3309
|
+
-p gemini \\
|
|
3310
|
+
-s 0.9 \\
|
|
3311
|
+
-o narration.mp3
|
|
3312
|
+
|
|
3313
|
+
# List available voices
|
|
3314
|
+
${cmd2} tts voices
|
|
3315
|
+
${cmd2} tts voices --provider elevenlabs
|
|
3316
|
+
\`\`\`
|
|
3317
|
+
|
|
3318
|
+
**Providers:** \`gemini\`, \`elevenlabs\`, \`openai\`
|
|
3319
|
+
**Popular voices:** \`Kore\`, \`Puck\`, \`Rachel\`, \`alloy\`
|
|
3320
|
+
**Speed range:** 0.25 - 4.0 (default: 1.0)
|
|
3321
|
+
|
|
3322
|
+
---
|
|
3323
|
+
|
|
3324
|
+
## 4. Music Generation
|
|
3325
|
+
|
|
3326
|
+
Generate AI music from text descriptions.
|
|
3327
|
+
|
|
3328
|
+
\`\`\`bash
|
|
3329
|
+
# Generate music
|
|
3330
|
+
${cmd2} music generate -p "upbeat corporate, modern synth" --duration 30
|
|
3331
|
+
|
|
3332
|
+
# Save to file
|
|
3333
|
+
${cmd2} music generate -p "calm ambient background" -o music.mp3
|
|
3334
|
+
|
|
3335
|
+
# Check generation status (for async operations)
|
|
3336
|
+
${cmd2} music status <request-id>
|
|
3337
|
+
\`\`\`
|
|
3338
|
+
|
|
3339
|
+
**Duration:** 3-30 seconds
|
|
3340
|
+
**Providers:** \`elevenlabs\`, \`suno\`
|
|
3341
|
+
|
|
3342
|
+
---
|
|
3343
|
+
|
|
3344
|
+
## 5. Image Search
|
|
3345
|
+
|
|
3346
|
+
Search for stock images from multiple sources.
|
|
3347
|
+
|
|
3348
|
+
\`\`\`bash
|
|
3349
|
+
# Basic search
|
|
3350
|
+
${cmd2} image search -q "mountain landscape"
|
|
3351
|
+
|
|
3352
|
+
# With options
|
|
3353
|
+
${cmd2} image search -q "business team meeting" \\
|
|
3354
|
+
--max-results 20 \\
|
|
3355
|
+
--size large \\
|
|
3356
|
+
--format json
|
|
3357
|
+
|
|
3358
|
+
# Download for video project
|
|
3359
|
+
${cmd2} image search -q "tech abstract" -n 5 --format json > images.json
|
|
3360
|
+
\`\`\`
|
|
3361
|
+
|
|
3362
|
+
**Options:**
|
|
3363
|
+
- \`--max-results <n>\` - Number of results (default: 10)
|
|
3364
|
+
- \`--size <small|medium|large|any>\` - Image size
|
|
3365
|
+
- \`--safe-search / --no-safe-search\` - Filter adult content
|
|
3366
|
+
|
|
3367
|
+
---
|
|
3368
|
+
|
|
3369
|
+
## 6. Video Search
|
|
3370
|
+
|
|
3371
|
+
Search for stock video clips.
|
|
3372
|
+
|
|
3373
|
+
\`\`\`bash
|
|
3374
|
+
# Basic search
|
|
3375
|
+
${cmd2} video search "ocean waves"
|
|
3376
|
+
|
|
3377
|
+
# With filters
|
|
3378
|
+
${cmd2} video search "city timelapse" \\
|
|
3379
|
+
--max-results 5 \\
|
|
3380
|
+
--orientation landscape \\
|
|
3381
|
+
--license free
|
|
3382
|
+
\`\`\`
|
|
3383
|
+
|
|
3384
|
+
**Options:**
|
|
3385
|
+
- \`--orientation <landscape|portrait|square|any>\`
|
|
3386
|
+
- \`--license <free|premium|any>\`
|
|
3387
|
+
|
|
3388
|
+
---
|
|
3389
|
+
|
|
3390
|
+
## 7. Audio Mixing
|
|
3391
|
+
|
|
3392
|
+
Mix video with voiceover and background music.
|
|
3393
|
+
|
|
3394
|
+
\`\`\`bash
|
|
3395
|
+
# Mix audio tracks
|
|
3396
|
+
${cmd2} mix create \\
|
|
3397
|
+
--video input.mp4 \\
|
|
3398
|
+
--voice voiceover.mp3 \\
|
|
3399
|
+
--music background.mp3 \\
|
|
3400
|
+
--music-volume 30 \\
|
|
3401
|
+
--voice-volume 100 \\
|
|
3402
|
+
-o final.mp4
|
|
3403
|
+
|
|
3404
|
+
# Check mixing status
|
|
3405
|
+
${cmd2} mix status <request-id>
|
|
3406
|
+
\`\`\`
|
|
3407
|
+
|
|
3408
|
+
Music automatically loops to match video duration.
|
|
3409
|
+
|
|
3410
|
+
---
|
|
3411
|
+
|
|
3412
|
+
## 8. Branding
|
|
3413
|
+
|
|
3414
|
+
Manage brand profiles for consistent styling.
|
|
3415
|
+
|
|
3416
|
+
\`\`\`bash
|
|
3417
|
+
# List saved brands
|
|
3418
|
+
${cmd2} branding list
|
|
3419
|
+
|
|
3420
|
+
# Extract branding from website
|
|
3421
|
+
${cmd2} branding extract https://company.com
|
|
3422
|
+
|
|
3423
|
+
# Get brand details
|
|
3424
|
+
${cmd2} branding get <brand-id>
|
|
3425
|
+
|
|
3426
|
+
# Set default brand
|
|
3427
|
+
${cmd2} branding set-default <brand-id>
|
|
3428
|
+
|
|
3429
|
+
# Use in presentations
|
|
3430
|
+
${cmd2} create "Topic" --brand my-company
|
|
3431
|
+
\`\`\`
|
|
3432
|
+
|
|
3433
|
+
---
|
|
3434
|
+
|
|
3435
|
+
## 9. Configuration
|
|
3436
|
+
|
|
3437
|
+
\`\`\`bash
|
|
3438
|
+
# Interactive setup
|
|
3439
|
+
${cmd2} config init
|
|
3440
|
+
|
|
3441
|
+
# Show current config
|
|
3442
|
+
${cmd2} config show
|
|
3443
|
+
${cmd2} config show --verify # Verify API key
|
|
3444
|
+
|
|
3445
|
+
# Set values
|
|
3446
|
+
${cmd2} config set api-key <key>
|
|
3447
|
+
${cmd2} config set team-id <id>
|
|
3448
|
+
|
|
3449
|
+
# Clear config
|
|
3450
|
+
${cmd2} config clear
|
|
3451
|
+
|
|
3452
|
+
# Show config file location
|
|
3453
|
+
${cmd2} config path
|
|
3454
|
+
\`\`\`
|
|
3455
|
+
|
|
3456
|
+
---
|
|
3457
|
+
|
|
3458
|
+
## Output Formats
|
|
3459
|
+
|
|
3460
|
+
All commands support multiple output formats:
|
|
3461
|
+
|
|
3462
|
+
\`\`\`bash
|
|
3463
|
+
${cmd2} <command> --format human # Default, colored terminal output
|
|
3464
|
+
${cmd2} <command> --format json # Machine-readable JSON
|
|
3465
|
+
${cmd2} <command> --format quiet # Minimal output, errors only
|
|
3466
|
+
\`\`\`
|
|
3467
|
+
|
|
3468
|
+
---
|
|
3469
|
+
|
|
3470
|
+
## Environment Variables
|
|
3471
|
+
|
|
3472
|
+
\`\`\`bash
|
|
3473
|
+
${envPrefix}_API_KEY # API key for authentication
|
|
3474
|
+
${envPrefix}_API_URL # Custom API URL (optional)
|
|
3475
|
+
\`\`\`
|
|
3476
|
+
|
|
3477
|
+
---
|
|
3478
|
+
|
|
3479
|
+
## Specialized Skills
|
|
3480
|
+
|
|
3481
|
+
For detailed workflows, load these skills:
|
|
3482
|
+
|
|
3483
|
+
- **\`${name}-video\`** - Detailed video creation workflow, Remotion integration, composition rules, R3F/Three.js patterns
|
|
3484
|
+
- **\`${name}-presentation\`** - Detailed presentation creation, styling options, export formats
|
|
3485
|
+
|
|
3486
|
+
---
|
|
3487
|
+
|
|
3488
|
+
## Common Workflows
|
|
3489
|
+
|
|
3490
|
+
### Video Production Pipeline
|
|
3491
|
+
|
|
3492
|
+
\`\`\`bash
|
|
3493
|
+
# 1. Initialize project
|
|
3494
|
+
${cmd2} video init product-demo
|
|
3495
|
+
|
|
3496
|
+
# 2. Generate assets
|
|
3497
|
+
cat scenes.json | ${cmd2} video create -o product-demo/public
|
|
3498
|
+
|
|
3499
|
+
# 3. Implement in Remotion (see ${name}-video skill)
|
|
3500
|
+
|
|
3501
|
+
# 4. Render and add thumbnail
|
|
3502
|
+
cd product-demo
|
|
3503
|
+
pnpm exec remotion render FullVideo
|
|
3504
|
+
${cmd2} video thumbnail out/FullVideo.mp4 --frame 60
|
|
3505
|
+
\`\`\`
|
|
3506
|
+
|
|
3507
|
+
### Presentation from Research
|
|
3508
|
+
|
|
3509
|
+
\`\`\`bash
|
|
3510
|
+
# Gather content from multiple sources
|
|
3511
|
+
${cmd2} create "Market Analysis" \\
|
|
3512
|
+
--file research.pdf \\
|
|
3513
|
+
--sources https://industry-report.com \\
|
|
3514
|
+
--context "Focus on Q4 trends" \\
|
|
3515
|
+
--slides 15 \\
|
|
3516
|
+
--tone professional \\
|
|
3517
|
+
--brand company \\
|
|
3518
|
+
--open
|
|
3519
|
+
\`\`\`
|
|
3520
|
+
|
|
3521
|
+
### Batch Image Collection
|
|
3522
|
+
|
|
3523
|
+
\`\`\`bash
|
|
3524
|
+
# Get images for video scenes
|
|
3525
|
+
for query in "hero shot" "team photo" "product showcase"; do
|
|
3526
|
+
${cmd2} image search -q "$query" -n 3 --format json
|
|
3527
|
+
done
|
|
3528
|
+
\`\`\`
|
|
3529
|
+
|
|
3530
|
+
---
|
|
3531
|
+
|
|
3532
|
+
## Troubleshooting
|
|
3533
|
+
|
|
3534
|
+
**Authentication issues:**
|
|
3535
|
+
\`\`\`bash
|
|
3536
|
+
${cmd2} whoami # Check current user
|
|
3537
|
+
${cmd2} logout && ${cmd2} login # Re-authenticate
|
|
3538
|
+
\`\`\`
|
|
3539
|
+
|
|
3540
|
+
**Check API status:**
|
|
3541
|
+
\`\`\`bash
|
|
3542
|
+
${cmd2} config show --verify
|
|
3543
|
+
\`\`\`
|
|
3544
|
+
|
|
3545
|
+
**Debug mode:**
|
|
3546
|
+
\`\`\`bash
|
|
3547
|
+
${cmd2} <command> --debug
|
|
3548
|
+
\`\`\`
|
|
3549
|
+
|
|
3550
|
+
---
|
|
3551
|
+
|
|
3552
|
+
## Help
|
|
3553
|
+
|
|
3554
|
+
\`\`\`bash
|
|
3555
|
+
${cmd2} --help # General help
|
|
3556
|
+
${cmd2} <command> --help # Command-specific help
|
|
3557
|
+
${cmd2} --version # Version info
|
|
3558
|
+
\`\`\`
|
|
3559
|
+
`;
|
|
3560
|
+
}
|
|
3561
|
+
|
|
3147
3562
|
// src/commands/skill/rules/video/content.ts
|
|
3148
3563
|
var VIDEO_RULE_CONTENTS = [
|
|
3149
3564
|
{
|
|
@@ -4405,6 +4820,7 @@ function getSupportedEditorNames() {
|
|
|
4405
4820
|
}
|
|
4406
4821
|
|
|
4407
4822
|
// src/commands/skill/index.ts
|
|
4823
|
+
var SKILL_TYPES = ["main", "video", "presentation"];
|
|
4408
4824
|
var skillContext = {
|
|
4409
4825
|
name: brand.name,
|
|
4410
4826
|
cmd: brand.commands[0],
|
|
@@ -4413,25 +4829,39 @@ var skillContext = {
|
|
|
4413
4829
|
var skillCommand = new Command14("skill").description(`Manage ${brand.displayName} skills for AI coding assistants`).addHelpText(
|
|
4414
4830
|
"after",
|
|
4415
4831
|
`
|
|
4832
|
+
${chalk12.bold("Skill Types:")}
|
|
4833
|
+
${chalk12.cyan("main")} Main CLI skill with all capabilities (TTS, music, images, videos, presentations)
|
|
4834
|
+
${chalk12.cyan("video")} Detailed video creation workflow with Remotion/R3F patterns
|
|
4835
|
+
${chalk12.cyan("presentation")} Detailed presentation creation workflow
|
|
4836
|
+
|
|
4416
4837
|
${chalk12.bold("Examples:")}
|
|
4838
|
+
${chalk12.gray("# Install main CLI skill (comprehensive overview)")}
|
|
4839
|
+
$ ${brand.commands[0]} skill install main
|
|
4840
|
+
|
|
4417
4841
|
${chalk12.gray("# Install video skill")}
|
|
4418
4842
|
$ ${brand.commands[0]} skill install video
|
|
4419
4843
|
|
|
4420
4844
|
${chalk12.gray("# Install presentation skill")}
|
|
4421
4845
|
$ ${brand.commands[0]} skill install presentation
|
|
4422
4846
|
|
|
4423
|
-
${chalk12.gray("# Install
|
|
4847
|
+
${chalk12.gray("# Install all skills")}
|
|
4424
4848
|
$ ${brand.commands[0]} skill install
|
|
4425
4849
|
|
|
4426
4850
|
${chalk12.gray("# Install to specific directory")}
|
|
4427
|
-
$ ${brand.commands[0]} skill install
|
|
4851
|
+
$ ${brand.commands[0]} skill install main --dir ~/.claude
|
|
4428
4852
|
|
|
4429
4853
|
${chalk12.gray("# Show skill content")}
|
|
4430
|
-
$ ${brand.commands[0]} skill show
|
|
4854
|
+
$ ${brand.commands[0]} skill show main
|
|
4431
4855
|
`
|
|
4432
4856
|
);
|
|
4433
|
-
skillCommand.command("install").description(`Install ${brand.displayName} skills for AI coding assistants`).argument("[type]", "Skill type: video, presentation, or omit for
|
|
4857
|
+
skillCommand.command("install").description(`Install ${brand.displayName} skills for AI coding assistants`).argument("[type]", "Skill type: main, video, presentation, or omit for all").option("-d, --dir <path>", "Install to specific directory").option("-g, --global", "Install globally (to home directory)", true).option("-l, --local", "Install locally (to current directory)").option("-f, --force", "Overwrite existing skill files").action(async (type, options) => {
|
|
4434
4858
|
const skillsToInstall = [];
|
|
4859
|
+
if (!type || type === "main") {
|
|
4860
|
+
skillsToInstall.push({
|
|
4861
|
+
name: brand.name,
|
|
4862
|
+
content: generateMainSkillContent(skillContext)
|
|
4863
|
+
});
|
|
4864
|
+
}
|
|
4435
4865
|
if (!type || type === "video") {
|
|
4436
4866
|
skillsToInstall.push({
|
|
4437
4867
|
name: `${brand.name}-video`,
|
|
@@ -4444,8 +4874,8 @@ skillCommand.command("install").description(`Install ${brand.displayName} skills
|
|
|
4444
4874
|
content: generatePresentationSkillContent(skillContext)
|
|
4445
4875
|
});
|
|
4446
4876
|
}
|
|
4447
|
-
if (type && type
|
|
4448
|
-
error(`Invalid skill type: ${type}. Must be
|
|
4877
|
+
if (type && !SKILL_TYPES.includes(type)) {
|
|
4878
|
+
error(`Invalid skill type: ${type}. Must be one of: ${SKILL_TYPES.join(", ")}`);
|
|
4449
4879
|
process.exit(1);
|
|
4450
4880
|
}
|
|
4451
4881
|
console.log();
|
|
@@ -4477,26 +4907,31 @@ skillCommand.command("install").description(`Install ${brand.displayName} skills
|
|
|
4477
4907
|
console.log();
|
|
4478
4908
|
}
|
|
4479
4909
|
});
|
|
4480
|
-
skillCommand.command("show").description("Display skill content").argument("[type]", "Skill type: video or presentation (default:
|
|
4481
|
-
if (type === "
|
|
4910
|
+
skillCommand.command("show").description("Display skill content").argument("[type]", "Skill type: main, video, or presentation (default: main)").action((type = "main") => {
|
|
4911
|
+
if (type === "main") {
|
|
4912
|
+
console.log(generateMainSkillContent(skillContext));
|
|
4913
|
+
} else if (type === "video") {
|
|
4482
4914
|
console.log(generateVideoSkillContent(skillContext));
|
|
4483
4915
|
} else if (type === "presentation") {
|
|
4484
4916
|
console.log(generatePresentationSkillContent(skillContext));
|
|
4485
4917
|
} else {
|
|
4486
|
-
error(`Invalid skill type: ${type}. Must be
|
|
4918
|
+
error(`Invalid skill type: ${type}. Must be one of: ${SKILL_TYPES.join(", ")}`);
|
|
4487
4919
|
process.exit(1);
|
|
4488
4920
|
}
|
|
4489
4921
|
});
|
|
4490
|
-
skillCommand.command("uninstall").description(`Remove ${brand.displayName} skills from AI coding assistants`).argument("[type]", "Skill type: video, presentation, or omit for
|
|
4922
|
+
skillCommand.command("uninstall").description(`Remove ${brand.displayName} skills from AI coding assistants`).argument("[type]", "Skill type: main, video, presentation, or omit for all").option("-g, --global", "Uninstall globally (from home directory)", true).option("-l, --local", "Uninstall locally (from current directory)").action(async (type, options) => {
|
|
4491
4923
|
const skillsToRemove = [];
|
|
4924
|
+
if (!type || type === "main") {
|
|
4925
|
+
skillsToRemove.push(brand.name);
|
|
4926
|
+
}
|
|
4492
4927
|
if (!type || type === "video") {
|
|
4493
4928
|
skillsToRemove.push(`${brand.name}-video`);
|
|
4494
4929
|
}
|
|
4495
4930
|
if (!type || type === "presentation") {
|
|
4496
4931
|
skillsToRemove.push(`${brand.name}-presentation`);
|
|
4497
4932
|
}
|
|
4498
|
-
if (type && type
|
|
4499
|
-
error(`Invalid skill type: ${type}. Must be
|
|
4933
|
+
if (type && !SKILL_TYPES.includes(type)) {
|
|
4934
|
+
error(`Invalid skill type: ${type}. Must be one of: ${SKILL_TYPES.join(", ")}`);
|
|
4500
4935
|
process.exit(1);
|
|
4501
4936
|
}
|
|
4502
4937
|
console.log();
|
|
@@ -5686,7 +6121,7 @@ var thumbnailCommand = new Command19("thumbnail").description("Embed a thumbnail
|
|
|
5686
6121
|
var videoCommand = new Command19("video").description("Video asset generation commands").addCommand(initCommand).addCommand(createCommand2).addCommand(searchCommand2).addCommand(thumbnailCommand);
|
|
5687
6122
|
|
|
5688
6123
|
// src/index.ts
|
|
5689
|
-
var VERSION = "0.1.
|
|
6124
|
+
var VERSION = "0.1.9";
|
|
5690
6125
|
var program = new Command20();
|
|
5691
6126
|
var cmdName = brand.commands[0];
|
|
5692
6127
|
program.name(cmdName).description(brand.description).version(VERSION, "-v, --version", "Show version number").option("--debug", "Enable debug logging").option("--no-color", "Disable colored output").configureOutput({
|