@przeprogramowani/10x-cli 1.3.1 → 1.4.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/dist/index.mjs CHANGED
@@ -2271,7 +2271,7 @@ var cac = (name = "") => new CAC(name);
2271
2271
  // package.json
2272
2272
  var package_default = {
2273
2273
  name: "@przeprogramowani/10x-cli",
2274
- version: "1.3.1",
2274
+ version: "1.4.0",
2275
2275
  description: "Open-source CLI for 10xDevs course content",
2276
2276
  repository: {
2277
2277
  type: "git",
@@ -4829,6 +4829,14 @@ async function resolveProfileOnly(flagOverride, projectRoot) {
4829
4829
  if (!profile) {
4830
4830
  throw new Error(`Unknown tool '${flagOverride}'. Supported: ${Object.keys(PROFILES).join(", ")}`);
4831
4831
  }
4832
+ const existing = readToolConfig();
4833
+ if (existing?.tool !== flagOverride) {
4834
+ saveToolConfig({ ...existing ?? {}, tool: flagOverride });
4835
+ if (process.stdout.isTTY) {
4836
+ process.stderr.write(`Default tool set to ${profile.displayName}.
4837
+ `);
4838
+ }
4839
+ }
4832
4840
  return profile;
4833
4841
  }
4834
4842
  const config = readToolConfig();
@@ -5274,13 +5282,14 @@ function formatModuleRow(m3, lessonCount) {
5274
5282
  return ` ${icon} ${label} — ${lessonCount} lesson${lessonCount === 1 ? "" : "s"} [${state}]`;
5275
5283
  }
5276
5284
  function renderModuleDetail(ctx, module) {
5285
+ const isLocked = module.effectiveState === "locked";
5277
5286
  if (ctx.json) {
5278
5287
  output(ctx, "", {
5279
5288
  module: module.module,
5280
5289
  title: module.title,
5281
5290
  state: module.effectiveState,
5282
5291
  releaseAt: module.releaseAt,
5283
- lessons: module.lessons.map((l2) => ({
5292
+ lessons: isLocked ? [] : module.lessons.map((l2) => ({
5284
5293
  lessonId: l2.lessonId,
5285
5294
  lesson: l2.lesson,
5286
5295
  title: l2.title,
@@ -5290,10 +5299,16 @@ function renderModuleDetail(ctx, module) {
5290
5299
  });
5291
5300
  return;
5292
5301
  }
5293
- const stateLabel = module.effectiveState === "unlocked" ? "unlocked" : `locked — unlocks ${formatReleaseAt(module.releaseAt)}`;
5302
+ const stateLabel = isLocked ? `locked — unlocks ${formatReleaseAt(module.releaseAt)}` : "unlocked";
5294
5303
  const lines = [];
5295
5304
  lines.push(`Module ${module.module}: ${module.title} [${stateLabel}]`);
5296
5305
  lines.push("");
5306
+ if (isLocked) {
5307
+ lines.push(` Lessons will be available after this module unlocks on ${formatReleaseAt(module.releaseAt)}.`);
5308
+ output(ctx, lines.join(`
5309
+ `), undefined);
5310
+ return;
5311
+ }
5297
5312
  if (module.lessons.length === 0) {
5298
5313
  lines.push(" (no lessons in this module)");
5299
5314
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@przeprogramowani/10x-cli",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "description": "Open-source CLI for 10xDevs course content",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: 10x-cli-setup
3
- description: ALWAYS invoke this skill when the user mentions 10x-cli, @przeprogramowani/10x-cli, the 10xDevs CLI, or the 10xDevs course environment in a setup context. This skill fetches the live README — Claude does not know 10x-cli's current install steps without it. Applies to: installing, updating, reconfiguring for different AI tools (Cursor, Copilot, Claude Code), permission/npm errors, authentication, and onboarding after 10xDevs enrollment. Excludes: developing 10x-cli source code, contributing to the repo, building similar CLIs, or general project setup.
3
+ description: "ALWAYS invoke this skill when the user mentions 10x-cli, @przeprogramowani/10x-cli, the 10xDevs CLI, or the 10xDevs course environment in a setup context. This skill fetches the live README — Claude does not know 10x-cli's current install steps without it. Applies to: installing, updating, reconfiguring for different AI tools (Cursor, Copilot, Claude Code), permission/npm errors, authentication, and onboarding after 10xDevs enrollment. Excludes: developing 10x-cli source code, contributing to the repo, building similar CLIs, or general project setup."
4
4
  ---
5
5
 
6
6
  # 10x-cli Setup