@conceptcraft/mindframes 0.1.3 → 0.1.4

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 CHANGED
@@ -1255,11 +1255,13 @@ var BRANDS = {
1255
1255
  conceptcraft: {
1256
1256
  id: "conceptcraft",
1257
1257
  name: "conceptcraft",
1258
- displayName: "Conceptcraft",
1259
- description: "CLI tool for Conceptcraft presentation generation",
1258
+ displayName: "ConceptCraft",
1259
+ description: "CLI tool for ConceptCraft presentation generation",
1260
1260
  commands: ["cc", "conceptcraft"],
1261
1261
  apiUrl: "https://conceptcraft.ai",
1262
- docsUrl: "https://docs.conceptcraft.ai"
1262
+ docsUrl: "https://docs.conceptcraft.ai",
1263
+ packageName: "@conceptcraft/cli",
1264
+ configDir: ".conceptcraft"
1263
1265
  },
1264
1266
  mindframes: {
1265
1267
  id: "mindframes",
@@ -1268,7 +1270,9 @@ var BRANDS = {
1268
1270
  description: "CLI tool for Mindframes presentation generation",
1269
1271
  commands: ["mf", "mindframes"],
1270
1272
  apiUrl: "https://mindframes.app",
1271
- docsUrl: "https://docs.mindframes.app"
1273
+ docsUrl: "https://docs.mindframes.app",
1274
+ packageName: "@mindframes/cli",
1275
+ configDir: ".mindframes"
1272
1276
  }
1273
1277
  };
1274
1278
  var COMMAND_TO_BRAND = {
@@ -2981,12 +2985,17 @@ import chalk12 from "chalk";
2981
2985
  import { mkdirSync, writeFileSync, existsSync as existsSync2 } from "fs";
2982
2986
  import { join } from "path";
2983
2987
  import { homedir } from "os";
2984
- var SKILL_CONTENT = `---
2985
- name: conceptcraft
2988
+ function generateSkillContent(b) {
2989
+ const cmd2 = b.name;
2990
+ const pkg = b.packageName;
2991
+ const url = b.apiUrl;
2992
+ const name = b.displayName;
2993
+ return `---
2994
+ name: ${cmd2}
2986
2995
  description: Create AI-powered presentations from code, documentation, files, or any content. Use when the user wants to generate slides, presentations, or decks about their project, codebase, research, or ideas.
2987
2996
  ---
2988
2997
 
2989
- # ConceptCraft CLI
2998
+ # ${name} CLI
2990
2999
 
2991
3000
  Create professional presentations directly from your terminal. The CLI generates AI-powered slides from any context you provide - text, files, URLs, or piped content.
2992
3001
 
@@ -2994,16 +3003,16 @@ Create professional presentations directly from your terminal. The CLI generates
2994
3003
 
2995
3004
  \`\`\`bash
2996
3005
  # Install globally
2997
- npm install -g @conceptcraft/cli
3006
+ npm install -g ${pkg}
2998
3007
 
2999
- # Configure API key (get from https://conceptcraft.ai/settings/api-keys)
3000
- mindframes config init
3008
+ # Configure API key (get from ${url}/settings/api-keys)
3009
+ ${cmd2} config init
3001
3010
  \`\`\`
3002
3011
 
3003
3012
  ## Core Workflow
3004
3013
 
3005
3014
  1. **Gather context** - Read relevant files, code, or documentation
3006
- 2. **Create presentation** - Pass context to \`conceptcraft create\`
3015
+ 2. **Create presentation** - Pass context to \`${cmd2} create\`
3007
3016
  3. **Share URL** - Return the presentation link to the user
3008
3017
 
3009
3018
  ## Commands
@@ -3014,22 +3023,22 @@ Context is **required**. Provide it via one of these methods:
3014
3023
 
3015
3024
  \`\`\`bash
3016
3025
  # Upload files (PDFs, PPTX, images, docs)
3017
- conceptcraft create "Product Overview" --file ./deck.pptx --file ./logo.png
3026
+ ${cmd2} create "Product Overview" --file ./deck.pptx --file ./logo.png
3018
3027
 
3019
3028
  # Direct text context
3020
- conceptcraft create "Topic Title" --context "Key points, data, facts..."
3029
+ ${cmd2} create "Topic Title" --context "Key points, data, facts..."
3021
3030
 
3022
3031
  # From a text file
3023
- conceptcraft create "Topic Title" --context-file ./notes.md
3032
+ ${cmd2} create "Topic Title" --context-file ./notes.md
3024
3033
 
3025
3034
  # Pipe content (auto-detected)
3026
- cat README.md | conceptcraft create "Project Overview"
3035
+ cat README.md | ${cmd2} create "Project Overview"
3027
3036
 
3028
3037
  # From URLs (scraped automatically)
3029
- conceptcraft create "Competitor Analysis" --sources https://example.com/report
3038
+ ${cmd2} create "Competitor Analysis" --sources https://example.com/report
3030
3039
 
3031
3040
  # Combine multiple sources
3032
- cat src/auth/*.ts | conceptcraft create "Auth System" \\
3041
+ cat src/auth/*.ts | ${cmd2} create "Auth System" \\
3033
3042
  --file ./architecture.png \\
3034
3043
  --context "Focus on security patterns"
3035
3044
  \`\`\`
@@ -3054,28 +3063,28 @@ cat src/auth/*.ts | conceptcraft create "Auth System" \\
3054
3063
 
3055
3064
  \`\`\`bash
3056
3065
  # Check authentication
3057
- conceptcraft whoami
3066
+ ${cmd2} whoami
3058
3067
 
3059
3068
  # List presentations
3060
- conceptcraft list
3061
- conceptcraft list --format json
3069
+ ${cmd2} list
3070
+ ${cmd2} list --format json
3062
3071
 
3063
3072
  # Get presentation details
3064
- conceptcraft get <id-or-slug>
3073
+ ${cmd2} get <id-or-slug>
3065
3074
 
3066
3075
  # Export to ZIP
3067
- conceptcraft export <id-or-slug> -o presentation.zip
3076
+ ${cmd2} export <id-or-slug> -o presentation.zip
3068
3077
 
3069
3078
  # Import presentation
3070
- conceptcraft import ./presentation.zip
3079
+ ${cmd2} import ./presentation.zip
3071
3080
 
3072
3081
  # Manage branding
3073
- conceptcraft branding list
3074
- conceptcraft branding extract https://company.com
3082
+ ${cmd2} branding list
3083
+ ${cmd2} branding extract https://company.com
3075
3084
 
3076
3085
  # Install/manage this skill
3077
- conceptcraft skill install
3078
- conceptcraft skill show
3086
+ ${cmd2} skill install
3087
+ ${cmd2} skill show
3079
3088
  \`\`\`
3080
3089
 
3081
3090
  ## Examples
@@ -3084,7 +3093,7 @@ conceptcraft skill show
3084
3093
 
3085
3094
  \`\`\`bash
3086
3095
  # Read the relevant files and create presentation
3087
- cat src/lib/auth.ts src/lib/session.ts | conceptcraft create "Authentication System" \\
3096
+ cat src/lib/auth.ts src/lib/session.ts | ${cmd2} create "Authentication System" \\
3088
3097
  --slides 8 --tone educational --audience "New developers" \\
3089
3098
  --goal train
3090
3099
  \`\`\`
@@ -3092,7 +3101,7 @@ cat src/lib/auth.ts src/lib/session.ts | conceptcraft create "Authentication Sys
3092
3101
  ### Technical Documentation with Diagrams
3093
3102
 
3094
3103
  \`\`\`bash
3095
- conceptcraft create "API Reference" \\
3104
+ ${cmd2} create "API Reference" \\
3096
3105
  --file ./docs/api.md \\
3097
3106
  --file ./diagrams/architecture.png \\
3098
3107
  --mode best --amount detailed \\
@@ -3102,14 +3111,14 @@ conceptcraft create "API Reference" \\
3102
3111
  ### Quick Project Overview
3103
3112
 
3104
3113
  \`\`\`bash
3105
- cat README.md package.json | conceptcraft create "Project Introduction" \\
3114
+ cat README.md package.json | ${cmd2} create "Project Introduction" \\
3106
3115
  -m instant --slides 5
3107
3116
  \`\`\`
3108
3117
 
3109
3118
  ### Sales Deck from Existing Presentation
3110
3119
 
3111
3120
  \`\`\`bash
3112
- conceptcraft create "Product Demo" \\
3121
+ ${cmd2} create "Product Demo" \\
3113
3122
  --file ./existing-deck.pptx \\
3114
3123
  --goal persuade \\
3115
3124
  --audience "Enterprise buyers" \\
@@ -3119,7 +3128,7 @@ conceptcraft create "Product Demo" \\
3119
3128
  ### Research Presentation
3120
3129
 
3121
3130
  \`\`\`bash
3122
- conceptcraft create "Market Analysis" \\
3131
+ ${cmd2} create "Market Analysis" \\
3123
3132
  --file ./research.pdf \\
3124
3133
  --sources https://report.com/industry.pdf \\
3125
3134
  --tone formal --audience "Executive team" \\
@@ -3136,12 +3145,12 @@ Successful creation returns:
3136
3145
  Slides: 8
3137
3146
  Generated in: 45s \xB7 12,500 tokens
3138
3147
 
3139
- Open: https://conceptcraft.ai/en/view/presentations/auth-system-v1-abc123
3148
+ Open: ${url}/en/view/presentations/auth-system-v1-abc123
3140
3149
  \`\`\`
3141
3150
 
3142
3151
  For scripting, use JSON output:
3143
3152
  \`\`\`bash
3144
- URL=$(conceptcraft create "Demo" --context "..." -o json | jq -r '.viewUrl')
3153
+ URL=$(${cmd2} create "Demo" --context "..." -o json | jq -r '.viewUrl')
3145
3154
  \`\`\`
3146
3155
 
3147
3156
  ## Best Practices
@@ -3163,15 +3172,16 @@ URL=$(conceptcraft create "Demo" --context "..." -o json | jq -r '.viewUrl')
3163
3172
 
3164
3173
  \`\`\`bash
3165
3174
  # Check if authenticated
3166
- conceptcraft whoami
3175
+ ${cmd2} whoami
3167
3176
 
3168
3177
  # Verify API key
3169
- mindframes config show
3178
+ ${cmd2} config show
3170
3179
 
3171
3180
  # Debug mode
3172
- conceptcraft create "Test" --context "test" --debug
3181
+ ${cmd2} create "Test" --context "test" --debug
3173
3182
  \`\`\`
3174
3183
  `;
3184
+ }
3175
3185
  var EDITORS = [
3176
3186
  { name: "Claude Code", dir: ".claude" },
3177
3187
  { name: "Cursor", dir: ".cursor" },
@@ -3180,29 +3190,30 @@ var EDITORS = [
3180
3190
  { name: "Windsurf", dir: ".windsurf" },
3181
3191
  { name: "Agent", dir: ".agent" }
3182
3192
  ];
3183
- var skillCommand = new Command14("skill").description("Manage ConceptCraft skill for AI coding assistants").addHelpText(
3193
+ var skillCommand = new Command14("skill").description(`Manage ${brand.displayName} skill for AI coding assistants`).addHelpText(
3184
3194
  "after",
3185
3195
  `
3186
3196
  ${chalk12.bold("Examples:")}
3187
3197
  ${chalk12.gray("# Install skill for all detected editors")}
3188
- $ conceptcraft skill install
3198
+ $ ${brand.name} skill install
3189
3199
 
3190
3200
  ${chalk12.gray("# Install to specific directory")}
3191
- $ conceptcraft skill install --dir ~/.claude
3201
+ $ ${brand.name} skill install --dir ~/.claude
3192
3202
 
3193
3203
  ${chalk12.gray("# Show skill content")}
3194
- $ conceptcraft skill show
3204
+ $ ${brand.name} skill show
3195
3205
  `
3196
3206
  );
3197
- skillCommand.command("install").description("Install the ConceptCraft skill for AI coding assistants").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 (options) => {
3207
+ skillCommand.command("install").description(`Install the ${brand.displayName} skill for AI coding assistants`).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 (options) => {
3198
3208
  const installed = [];
3199
3209
  const skipped = [];
3200
3210
  const errors = [];
3201
3211
  const baseDir = options.local ? process.cwd() : homedir();
3212
+ const skillContent = generateSkillContent(brand);
3202
3213
  if (options.dir) {
3203
- const skillPath = join(options.dir, "skills", "conceptcraft");
3214
+ const skillPath = join(options.dir, "skills", brand.name);
3204
3215
  try {
3205
- installSkill(skillPath, options.force);
3216
+ installSkill(skillPath, skillContent, options.force);
3206
3217
  installed.push(options.dir);
3207
3218
  } catch (err) {
3208
3219
  errors.push(`${options.dir}: ${err instanceof Error ? err.message : String(err)}`);
@@ -3210,7 +3221,7 @@ skillCommand.command("install").description("Install the ConceptCraft skill for
3210
3221
  } else {
3211
3222
  for (const editor of EDITORS) {
3212
3223
  const editorDir = join(baseDir, editor.dir);
3213
- const skillPath = join(editorDir, "skills", "conceptcraft");
3224
+ const skillPath = join(editorDir, "skills", brand.name);
3214
3225
  const skillFile = join(skillPath, "SKILL.md");
3215
3226
  if (!existsSync2(editorDir)) {
3216
3227
  continue;
@@ -3220,7 +3231,7 @@ skillCommand.command("install").description("Install the ConceptCraft skill for
3220
3231
  continue;
3221
3232
  }
3222
3233
  try {
3223
- installSkill(skillPath, options.force);
3234
+ installSkill(skillPath, skillContent, options.force);
3224
3235
  installed.push(editor.name);
3225
3236
  } catch (err) {
3226
3237
  errors.push(`${editor.name}: ${err instanceof Error ? err.message : String(err)}`);
@@ -3253,14 +3264,14 @@ skillCommand.command("install").description("Install the ConceptCraft skill for
3253
3264
  console.log();
3254
3265
  });
3255
3266
  skillCommand.command("show").description("Display the skill content").action(() => {
3256
- console.log(SKILL_CONTENT);
3267
+ console.log(generateSkillContent(brand));
3257
3268
  });
3258
- skillCommand.command("uninstall").description("Remove the ConceptCraft skill from AI coding assistants").option("-g, --global", "Uninstall globally (from home directory)", true).option("-l, --local", "Uninstall locally (from current directory)").action(async (options) => {
3269
+ skillCommand.command("uninstall").description(`Remove the ${brand.displayName} skill from AI coding assistants`).option("-g, --global", "Uninstall globally (from home directory)", true).option("-l, --local", "Uninstall locally (from current directory)").action(async (options) => {
3259
3270
  const { rmSync } = await import("fs");
3260
3271
  const removed = [];
3261
3272
  const baseDir = options.local ? process.cwd() : homedir();
3262
3273
  for (const editor of EDITORS) {
3263
- const skillPath = join(baseDir, editor.dir, "skills", "conceptcraft");
3274
+ const skillPath = join(baseDir, editor.dir, "skills", brand.name);
3264
3275
  if (existsSync2(skillPath)) {
3265
3276
  try {
3266
3277
  rmSync(skillPath, { recursive: true });
@@ -3278,14 +3289,14 @@ skillCommand.command("uninstall").description("Remove the ConceptCraft skill fro
3278
3289
  }
3279
3290
  console.log();
3280
3291
  });
3281
- function installSkill(skillPath, force) {
3292
+ function installSkill(skillPath, content, force) {
3282
3293
  const skillFile = join(skillPath, "SKILL.md");
3283
3294
  mkdirSync(skillPath, { recursive: true });
3284
- writeFileSync(skillFile, SKILL_CONTENT, "utf-8");
3295
+ writeFileSync(skillFile, content, "utf-8");
3285
3296
  }
3286
3297
 
3287
3298
  // src/index.ts
3288
- var VERSION = "0.1.3";
3299
+ var VERSION = "0.1.4";
3289
3300
  var program = new Command15();
3290
3301
  var cmdName = brand.commands[0];
3291
3302
  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({