tailar 0.2.2 → 0.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.
Files changed (55) hide show
  1. package/README.md +35 -0
  2. package/README.npm.md +35 -0
  3. package/assets/favicon.ico +0 -0
  4. package/dist/commands/add.d.ts.map +1 -1
  5. package/dist/commands/add.js +40 -16
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +96 -58
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/list.d.ts.map +1 -1
  11. package/dist/commands/list.js +3 -3
  12. package/dist/commands/list.js.map +1 -1
  13. package/dist/commands/playground.d.ts +9 -0
  14. package/dist/commands/playground.d.ts.map +1 -0
  15. package/dist/commands/playground.js +159 -0
  16. package/dist/commands/playground.js.map +1 -0
  17. package/dist/commands/sync.d.ts +9 -0
  18. package/dist/commands/sync.d.ts.map +1 -0
  19. package/dist/commands/sync.js +59 -0
  20. package/dist/commands/sync.js.map +1 -0
  21. package/dist/index.js +14 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/installers/files.d.ts +3 -3
  24. package/dist/installers/files.d.ts.map +1 -1
  25. package/dist/installers/files.js +17 -11
  26. package/dist/installers/files.js.map +1 -1
  27. package/dist/installers/install-feature.d.ts +10 -0
  28. package/dist/installers/install-feature.d.ts.map +1 -1
  29. package/dist/installers/install-feature.js +29 -3
  30. package/dist/installers/install-feature.js.map +1 -1
  31. package/dist/installers/post-install.d.ts +4 -1
  32. package/dist/installers/post-install.d.ts.map +1 -1
  33. package/dist/installers/post-install.js +7 -3
  34. package/dist/installers/post-install.js.map +1 -1
  35. package/dist/registry/loader.d.ts +4 -0
  36. package/dist/registry/loader.d.ts.map +1 -1
  37. package/dist/registry/loader.js +28 -8
  38. package/dist/registry/loader.js.map +1 -1
  39. package/dist/registry/local-mode.d.ts +30 -0
  40. package/dist/registry/local-mode.d.ts.map +1 -0
  41. package/dist/registry/local-mode.js +81 -0
  42. package/dist/registry/local-mode.js.map +1 -0
  43. package/dist/utils/clack-wizard.d.ts +6 -0
  44. package/dist/utils/clack-wizard.d.ts.map +1 -1
  45. package/dist/utils/clack-wizard.js +50 -81
  46. package/dist/utils/clack-wizard.js.map +1 -1
  47. package/dist/utils/init-flags.d.ts +27 -0
  48. package/dist/utils/init-flags.d.ts.map +1 -0
  49. package/dist/utils/init-flags.js +102 -0
  50. package/dist/utils/init-flags.js.map +1 -0
  51. package/dist/utils/local-options.d.ts +7 -0
  52. package/dist/utils/local-options.d.ts.map +1 -0
  53. package/dist/utils/local-options.js +10 -0
  54. package/dist/utils/local-options.js.map +1 -0
  55. package/package.json +3 -1
package/README.md CHANGED
@@ -53,8 +53,21 @@ Initialize Tailar in your Next.js project.
53
53
  ```bash
54
54
  tailar init # Interactive setup
55
55
  tailar init -y # Skip all prompts
56
+ tailar init my-app -y --modules auth --db postgres --email resend --auth organization-based
56
57
  ```
57
58
 
59
+ **Options:**
60
+
61
+ | Option | Description | Default |
62
+ | --- | --- | --- |
63
+ | `-y, --yes` | Skip prompts. In an empty directory this scaffolds without the wizard | `false` |
64
+ | `[project]` / `--name` | Directory name for a new app | `my-app` when non-interactive |
65
+ | `--modules <list>` | `database,email,auth,payments` | none |
66
+ | `--db <provider>` | `postgres`, `mysql`, or `mongodb` | `postgres` when database is included |
67
+ | `--email <provider>` | `resend`, `postmark`, or `sendgrid` | `resend` when email is included |
68
+ | `--auth <structure>` | `user-based` or `organization-based` | `user-based` when auth is included |
69
+ | `--skip-install` | Skip npm install and post-install commands | `false` |
70
+
58
71
  **What it does:**
59
72
 
60
73
  - If no Next.js project exists, offers to initialize one with shadcn/ui, then installs **shared** + **i18n** and any modules you pick (same defaults as in-place init)
@@ -107,6 +120,26 @@ tailar add hero-section
107
120
  tailar add emails --provider resend -y
108
121
  ```
109
122
 
123
+ ### `sync`
124
+
125
+ Recopy one registry entry into the current project. It overwrites that entry's files, leaves `.env` alone, and runs the package manager only when `package.json` changed.
126
+
127
+ ```bash
128
+ tailar sync auth
129
+ tailar sync app-sidebar --variant org-based
130
+ ```
131
+
132
+ ### `playground`
133
+
134
+ Create a long-lived local app once. Later feature edits use `sync` instead of running `init` again.
135
+
136
+ ```bash
137
+ tailar playground
138
+ cd playground
139
+ docker compose up -d
140
+ npm run dev
141
+ ```
142
+
110
143
  ## 💡 How It Works
111
144
 
112
145
  1. **Initialize**: `tailar init` sets up your project
@@ -129,6 +162,8 @@ Run `tailar list` to see everything that's available.
129
162
  | `-y, --yes` | Skip all confirmation prompts |
130
163
  | `--provider <name>` | Specify a provider (for features with multiple options) |
131
164
  | `--variant <name>` | Specify a variant (for features with different implementations) |
165
+ | `--skip-install` | Skip npm install and post-install commands |
166
+ | `--local` | Read the registry from a local components checkout |
132
167
 
133
168
  ## 🐛 Troubleshooting
134
169
 
package/README.npm.md CHANGED
@@ -53,8 +53,21 @@ Initialize Tailar in your Next.js project.
53
53
  ```bash
54
54
  tailar init # Interactive setup
55
55
  tailar init -y # Skip all prompts
56
+ tailar init my-app -y --modules auth --db postgres --email resend --auth organization-based
56
57
  ```
57
58
 
59
+ **Options:**
60
+
61
+ | Option | Description | Default |
62
+ | --- | --- | --- |
63
+ | `-y, --yes` | Skip prompts. In an empty directory this scaffolds without the wizard | `false` |
64
+ | `[project]` / `--name` | Directory name for a new app | `my-app` when non-interactive |
65
+ | `--modules <list>` | `database,email,auth,payments` | none |
66
+ | `--db <provider>` | `postgres`, `mysql`, or `mongodb` | `postgres` when database is included |
67
+ | `--email <provider>` | `resend`, `postmark`, or `sendgrid` | `resend` when email is included |
68
+ | `--auth <structure>` | `user-based` or `organization-based` | `user-based` when auth is included |
69
+ | `--skip-install` | Skip npm install and post-install commands | `false` |
70
+
58
71
  **What it does:**
59
72
 
60
73
  - If no Next.js project exists, offers to initialize one with shadcn/ui, then installs **shared** + **i18n** and any modules you pick (same defaults as in-place init)
@@ -107,6 +120,26 @@ tailar add hero-section
107
120
  tailar add emails --provider resend -y
108
121
  ```
109
122
 
123
+ ### `sync`
124
+
125
+ Recopy one registry entry into the current project. It overwrites that entry's files, leaves `.env` alone, and runs the package manager only when `package.json` changed.
126
+
127
+ ```bash
128
+ tailar sync auth
129
+ tailar sync app-sidebar --variant org-based
130
+ ```
131
+
132
+ ### `playground`
133
+
134
+ Create a long-lived local app once. Later feature edits use `sync` instead of running `init` again.
135
+
136
+ ```bash
137
+ tailar playground
138
+ cd playground
139
+ docker compose up -d
140
+ npm run dev
141
+ ```
142
+
110
143
  ## 💡 How It Works
111
144
 
112
145
  1. **Initialize**: `tailar init` sets up your project
@@ -129,6 +162,8 @@ Run `tailar list` to see everything that's available.
129
162
  | `-y, --yes` | Skip all confirmation prompts |
130
163
  | `--provider <name>` | Specify a provider (for features with multiple options) |
131
164
  | `--variant <name>` | Specify a variant (for features with different implementations) |
165
+ | `--skip-install` | Skip npm install and post-install commands |
166
+ | `--local` | Read the registry from a local components checkout |
132
167
 
133
168
  ## 🐛 Troubleshooting
134
169
 
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,eAAO,MAAM,UAAU,SAuKnB,CAAC"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,eAAO,MAAM,UAAU,SA8KnB,CAAC"}
@@ -13,20 +13,23 @@ import { getEntry, getVariant, } from "../registry/query.js";
13
13
  import * as p from "@clack/prompts";
14
14
  import { confirm, runPrompts } from "../utils/prompts.js";
15
15
  import { installFiles } from "../installers/files.js";
16
+ import { installedVariantFor } from "../installers/install-feature.js";
16
17
  import { mergeDependencies, runInstall, collectDependencies, } from "../installers/dependencies.js";
17
18
  import { executePostInstallSteps } from "../installers/post-install.js";
18
19
  import { collectTemplateVariables, extractVariablesFromAnswers, mergeVariables, } from "../installers/templates.js";
19
20
  import { isAuthenticated, authenticate } from "../auth/flow.js";
20
21
  import { checkSubscription } from "../api/client.js";
21
- export const addCommand = new Command("add")
22
+ import { getLocalRegistry } from "../registry/local-mode.js";
23
+ import { addLocalOptions } from "../utils/local-options.js";
24
+ export const addCommand = addLocalOptions(new Command("add")
22
25
  .description("Add a feature, block, or component")
23
26
  .argument("<name>", "Name of the feature, block, or component to add")
24
27
  .option("-y, --yes", "Skip prompts and use defaults")
25
28
  .option("--variant <variant>", "Specify variant")
26
29
  .option("--provider <provider>", "Specify provider")
27
30
  .option("--force", "Force reinstall even if already installed")
28
- .option("--verbose", "Show npm install output")
29
- .action(async (name, options) => {
31
+ .option("--skip-install", "Skip npm install and post-install shell commands")
32
+ .option("--verbose", "Show npm install output")).action(async (name, options) => {
30
33
  try {
31
34
  const projectPath = process.cwd();
32
35
  // Check if initialized
@@ -62,7 +65,7 @@ export const addCommand = new Command("add")
62
65
  const requiresSubscription = entry.requiresSubscription === true &&
63
66
  (entry.subscriptionTier || 0) > 0;
64
67
  // Always check subscription for paid components - no exceptions
65
- if (requiresSubscription) {
68
+ if (requiresSubscription && !getLocalRegistry()?.enabled) {
66
69
  // Check authentication first - this is mandatory for paid components
67
70
  if (!(await isAuthenticated())) {
68
71
  logger.info("Authentication required for this component.");
@@ -108,7 +111,13 @@ export const addCommand = new Command("add")
108
111
  // Install dependencies recursively and collect post-install steps
109
112
  for (const depName of missingDeps) {
110
113
  logger.info(`Installing dependency: ${depName}`);
111
- const result = await installEntry(depName, context, registry, options);
114
+ // Dependencies use their own defaults. The parent's --variant
115
+ // belongs to the entry being added, not to db/email/auth.
116
+ const result = await installEntry(depName, context, registry, {
117
+ ...options,
118
+ variant: undefined,
119
+ provider: undefined,
120
+ });
112
121
  allPostInstallSteps.push(...result.postInstallSteps);
113
122
  if (result.hasDependencies) {
114
123
  needsPackageInstall = true;
@@ -123,7 +132,7 @@ export const addCommand = new Command("add")
123
132
  needsPackageInstall = true;
124
133
  }
125
134
  // Run package manager install once if any dependencies were added
126
- if (needsPackageInstall) {
135
+ if (needsPackageInstall && !options.skipInstall) {
127
136
  logger.info("Installing packages...");
128
137
  const installSpinner = logger.spinner(`Running ${context.packageManager} install...`);
129
138
  await runInstall(context.root, context.packageManager, {
@@ -134,7 +143,7 @@ export const addCommand = new Command("add")
134
143
  // Execute all collected post-install steps together
135
144
  if (allPostInstallSteps.length > 0) {
136
145
  logger.info("Running post-install steps...");
137
- await executePostInstallSteps(context.root, allPostInstallSteps, context);
146
+ await executePostInstallSteps(context.root, allPostInstallSteps, context, { skipCommands: options.skipInstall });
138
147
  }
139
148
  logger.break();
140
149
  logger.success(`✨ ${entry.label} added successfully!`);
@@ -156,22 +165,37 @@ async function installEntry(name, context, registry, options) {
156
165
  }
157
166
  // Run prompts if any
158
167
  let answers = {};
159
- if (entry.questions && entry.questions.length > 0 && !options.yes) {
160
- logger.info("Configuration:");
161
- answers = await runPrompts(entry.questions, {
162
- skipPrompts: options.yes,
163
- defaults: {
164
- variant: options.variant,
165
- provider: options.provider,
166
- },
167
- });
168
+ if (entry.questions && entry.questions.length > 0) {
169
+ if (!options.yes) {
170
+ logger.info("Configuration:");
171
+ answers = await runPrompts(entry.questions, {
172
+ skipPrompts: false,
173
+ defaults: {
174
+ variant: options.variant,
175
+ provider: options.provider,
176
+ },
177
+ });
178
+ }
179
+ else {
180
+ for (const question of entry.questions) {
181
+ if (question.default !== undefined) {
182
+ answers[question.name] = question.default;
183
+ }
184
+ }
185
+ }
168
186
  }
169
187
  // Determine variant using registry's variantResolver (data-driven)
188
+ const rememberedVariant = !options.variant && !options.provider
189
+ ? installedVariantFor(context.config, name)
190
+ : undefined;
170
191
  let selectedVariant;
171
192
  if (options.variant) {
172
193
  // Explicit variant from command line
173
194
  selectedVariant = options.variant;
174
195
  }
196
+ else if (rememberedVariant) {
197
+ selectedVariant = rememberedVariant;
198
+ }
175
199
  else if (answers.variant) {
176
200
  // Direct variant answer from prompts
177
201
  selectedVariant = answers.variant;
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,eAAO,MAAM,WAAW,SAsSpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCpC,eAAO,MAAM,WAAW,SAwVpB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  import { Command } from "commander";
7
7
  import { logger } from "../utils/logger.js";
8
8
  import { validateProject, detectProjectStructure, isNextJsProject, } from "../utils/validation.js";
9
- import { detectPackageManager, } from "../utils/package-manager.js";
9
+ import { detectPackageManager } from "../utils/package-manager.js";
10
10
  import { readConfig, writeConfig, createInitialConfig, } from "../utils/config.js";
11
11
  import { loadRegistry } from "../registry/loader.js";
12
12
  import { getFeature } from "../registry/query.js";
@@ -15,46 +15,95 @@ import { mergeDependencies, runInstall, collectDependencies, } from "../installe
15
15
  import { executePostInstallSteps } from "../installers/post-install.js";
16
16
  import { isAuthenticated, authenticate } from "../auth/flow.js";
17
17
  import { checkSubscription } from "../api/client.js";
18
+ import { getLocalRegistry } from "../registry/local-mode.js";
18
19
  import { confirm } from "../utils/prompts.js";
20
+ import { addLocalOptions } from "../utils/local-options.js";
21
+ import { buildWizardStateFromFlags, isNonInteractiveInit, } from "../utils/init-flags.js";
19
22
  import { clackTextInput, runGenerationFromWizardConfig, runInitWizard, } from "../utils/clack-wizard.js";
20
- export const initCommand = new Command("init")
23
+ export const initCommand = addLocalOptions(new Command("init")
21
24
  .description("Initialize Tailar in your Next.js project")
25
+ .argument("[project]", "Directory name when scaffolding a new app")
22
26
  .option("-y, --yes", "Skip prompts and use defaults")
23
- .option("--verbose", "Show npm install output")
24
- .action(async (options) => {
27
+ .option("--name <project>", "Project name when scaffolding a new app")
28
+ .option("--modules <list>", "Comma-separated modules: database,email,auth,payments")
29
+ .option("--db <provider>", "Database provider: postgres, mysql, or mongodb")
30
+ .option("--email <provider>", "Email provider: resend, postmark, or sendgrid")
31
+ .option("--auth <structure>", "Auth structure: user-based or organization-based")
32
+ .option("--skip-install", "Skip npm install and post-install shell commands")
33
+ .option("--verbose", "Show npm install output")).action(async (projectArg, options) => {
25
34
  try {
26
35
  logger.header("🚀 Tailar Initialization");
27
36
  const projectPath = process.cwd();
28
37
  // Check if Next.js project exists
29
38
  let isNext = await isNextJsProject(projectPath);
30
39
  let actualProjectPath = projectPath;
31
- let shadcnCreatedProject = false;
32
- let detectedProjectName;
33
- let shadcnProjectName; // Project name used for shadcn init
34
40
  if (!isNext) {
35
- // Authenticate and verify purchase before the guided wizard (paid features).
36
- if (!(await isAuthenticated())) {
37
- logger.info("A Tailar purchase is required to use the CLI.");
38
- logger.break();
39
- await authenticate();
40
- logger.break();
41
+ const local = getLocalRegistry()?.enabled === true;
42
+ if (!local) {
43
+ // Authenticate and verify purchase before the guided wizard (paid features).
44
+ if (!(await isAuthenticated())) {
45
+ logger.info("A Tailar purchase is required to use the CLI.");
46
+ logger.break();
47
+ await authenticate();
48
+ logger.break();
49
+ }
50
+ const accessCheck = await checkSubscription("feature", "shared");
51
+ if (!accessCheck.accessible) {
52
+ logger.error(`Access denied: ${accessCheck.reason ?? "Active purchase required."}`);
53
+ logger.info("Visit https://tailar.dev/choose-plan to get access.");
54
+ process.exit(1);
55
+ }
41
56
  }
42
- const accessCheck = await checkSubscription("feature", "shared");
43
- if (!accessCheck.accessible) {
44
- logger.error(`Access denied: ${accessCheck.reason ?? "Active purchase required."}`);
45
- logger.info("Visit https://tailar.dev/choose-plan to get access.");
46
- process.exit(1);
57
+ const nonInteractive = isNonInteractiveInit({
58
+ yes: options.yes,
59
+ projectArg,
60
+ name: options.name,
61
+ modules: options.modules,
62
+ db: options.db,
63
+ email: options.email,
64
+ auth: options.auth,
65
+ });
66
+ let wizardState;
67
+ if (nonInteractive) {
68
+ try {
69
+ const built = buildWizardStateFromFlags({
70
+ projectName: options.name || projectArg,
71
+ modules: options.modules,
72
+ db: options.db,
73
+ email: options.email,
74
+ auth: options.auth,
75
+ });
76
+ for (const note of built.autoNotes) {
77
+ logger.info(note);
78
+ }
79
+ wizardState = built.state;
80
+ }
81
+ catch (error) {
82
+ logger.error(error instanceof Error ? error.message : String(error));
83
+ process.exit(1);
84
+ }
85
+ }
86
+ else {
87
+ wizardState = await runInitWizard();
47
88
  }
48
- const wizardState = await runInitWizard();
49
89
  if (!wizardState) {
50
90
  // Wizard handles its own messaging and cancellation.
51
91
  return;
52
92
  }
53
- const generationResult = await runGenerationFromWizardConfig(projectPath, wizardState, { verbose: options.verbose });
54
- // After generating a new project via the wizard, we are done.
55
- // Further Tailar initialization (features, registry, etc.) will be added later.
93
+ await runGenerationFromWizardConfig(projectPath, wizardState, {
94
+ verbose: options.verbose,
95
+ skipInstall: options.skipInstall,
96
+ });
56
97
  return;
57
98
  }
99
+ if (projectArg ||
100
+ options.name ||
101
+ options.modules ||
102
+ options.db ||
103
+ options.email ||
104
+ options.auth) {
105
+ logger.info("This directory is already a Next.js project. Initializing in place (scaffold flags apply only to a new app).");
106
+ }
58
107
  // Ensure we're in the correct directory
59
108
  if (actualProjectPath !== projectPath) {
60
109
  process.chdir(actualProjectPath);
@@ -67,24 +116,18 @@ export const initCommand = new Command("init")
67
116
  process.exit(1);
68
117
  }
69
118
  if (validation.warnings.length > 0) {
70
- // Filter out the "already initialized" warning if we just created the project
71
- const relevantWarnings = shadcnCreatedProject
72
- ? validation.warnings.filter((w) => !w.includes("already initialized"))
73
- : validation.warnings;
74
- if (relevantWarnings.length > 0) {
75
- relevantWarnings.forEach((warn) => logger.warn(warn));
76
- if (!options.yes) {
77
- const proceed = await confirm("Continue anyway?", false);
78
- if (!proceed) {
79
- logger.info("Initialization cancelled");
80
- process.exit(0);
81
- }
119
+ validation.warnings.forEach((warn) => logger.warn(warn));
120
+ if (!options.yes) {
121
+ const proceed = await confirm("Continue anyway?", false);
122
+ if (!proceed) {
123
+ logger.info("Initialization cancelled");
124
+ process.exit(0);
82
125
  }
83
126
  }
84
127
  }
85
- // Check if already initialized (only if we didn't just create the project)
128
+ // Check if already initialized
86
129
  const existingConfig = await readConfig(actualProjectPath);
87
- if (existingConfig && !shadcnCreatedProject && !options.yes) {
130
+ if (existingConfig && !options.yes) {
88
131
  const reinit = await confirm("Tailar is already initialized. Reinitialize?", false);
89
132
  if (!reinit) {
90
133
  logger.info("Initialization cancelled");
@@ -97,16 +140,11 @@ export const initCommand = new Command("init")
97
140
  // Detect package manager
98
141
  const packageManager = detectPackageManager(actualProjectPath);
99
142
  logger.success(`Package manager: ${packageManager}`);
100
- // Get project name (skip if shadcn created the project - use detected name)
101
- // Note: shadcnProjectName was already collected before shadcn init if shadcn created the project
102
- let projectName = detectedProjectName;
103
- if (!shadcnCreatedProject && !options.yes) {
143
+ // Get project name
144
+ let projectName;
145
+ if (!options.yes) {
104
146
  projectName = await clackTextInput("Project name (optional):", undefined);
105
147
  }
106
- else if (shadcnCreatedProject) {
107
- // Use the name we collected before running shadcn init
108
- projectName = shadcnProjectName;
109
- }
110
148
  // Create config
111
149
  const config = createInitialConfig({
112
150
  name: projectName,
@@ -139,8 +177,8 @@ export const initCommand = new Command("init")
139
177
  break;
140
178
  }
141
179
  }
142
- // Authenticate if needed for paid features
143
- if (needsAuth) {
180
+ // Authenticate if needed for paid features. Local mode skips this.
181
+ if (needsAuth && !getLocalRegistry()?.enabled) {
144
182
  if (!(await isAuthenticated())) {
145
183
  logger.info("Authentication required for default features.");
146
184
  logger.break();
@@ -157,7 +195,7 @@ export const initCommand = new Command("init")
157
195
  // Check subscription for this feature
158
196
  const requiresSubscription = feature.requiresSubscription === true &&
159
197
  (feature.subscriptionTier || 0) > 0;
160
- if (requiresSubscription) {
198
+ if (requiresSubscription && !getLocalRegistry()?.enabled) {
161
199
  logger.info(`Verifying subscription for ${feature.label}...`);
162
200
  const accessCheck = await checkSubscription("feature", featureName, feature);
163
201
  if (!accessCheck.accessible) {
@@ -187,7 +225,7 @@ export const initCommand = new Command("init")
187
225
  // Execute post-install steps
188
226
  if (feature.postInstall && feature.postInstall.length > 0) {
189
227
  logger.info("Running post-install steps...");
190
- await executePostInstallSteps(actualProjectPath, feature.postInstall, context);
228
+ await executePostInstallSteps(actualProjectPath, feature.postInstall, context, { skipCommands: options.skipInstall });
191
229
  }
192
230
  }
193
231
  // Merge dependencies
@@ -204,21 +242,21 @@ export const initCommand = new Command("init")
204
242
  await writeConfig(actualProjectPath, config);
205
243
  logger.success("Configuration saved");
206
244
  // Run package manager install
207
- logger.info("Installing dependencies...");
208
- const installSpinner = logger.spinner(`Running ${packageManager} install...`);
209
- await runInstall(actualProjectPath, packageManager, {
210
- silent: !options.verbose,
211
- });
212
- installSpinner.succeed("Dependencies installed");
245
+ if (!options.skipInstall) {
246
+ logger.info("Installing dependencies...");
247
+ const installSpinner = logger.spinner(`Running ${packageManager} install...`);
248
+ await runInstall(actualProjectPath, packageManager, {
249
+ silent: !options.verbose,
250
+ });
251
+ installSpinner.succeed("Dependencies installed");
252
+ }
213
253
  // Success message
214
254
  logger.break();
215
255
  logger.success("✨ Tailar initialized successfully!");
216
256
  logger.break();
217
257
  logger.info("Next steps:");
218
- // Show cd command if we have a project name (especially if created via shadcn)
219
- if (detectedProjectName || projectName) {
220
- const projectDir = detectedProjectName || projectName;
221
- logger.log(` • cd ${projectDir}`);
258
+ if (projectName) {
259
+ logger.log(` • cd ${projectName}`);
222
260
  }
223
261
  logger.log(" • Run `npx tailar list` to see available features");
224
262
  logger.log(" • Run `npx tailar add <feature>` to add features");
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,WAAW,SAqOpB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,WAAW,SAsOpB,CAAC"}
@@ -8,13 +8,13 @@ import chalk from "chalk";
8
8
  import { logger } from "../utils/logger.js";
9
9
  import { loadRegistry } from "../registry/loader.js";
10
10
  import { readConfig, getInstalledItems } from "../utils/config.js";
11
- export const listCommand = new Command("list")
11
+ import { addLocalOptions } from "../utils/local-options.js";
12
+ export const listCommand = addLocalOptions(new Command("list")
12
13
  .description("List all available features, blocks, and components")
13
14
  .option("--features", "List only features")
14
15
  .option("--blocks", "List only blocks")
15
16
  .option("--components", "List only components")
16
- .option("--installed", "List only installed items")
17
- .action(async (options) => {
17
+ .option("--installed", "List only installed items")).action(async (options) => {
18
18
  try {
19
19
  const projectPath = process.cwd();
20
20
  // Load registry