@take-out/cli 0.0.47 → 0.0.51

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.
@@ -16,15 +16,14 @@ import {
16
16
  const UPSTREAM_REPO = "tamagui/takeout2", UPSTREAM_REMOTE = "takeout-upstream", TAKEOUT_FILE = ".takeout";
17
17
  function getSyncPrompt() {
18
18
  try {
19
- let packageRoot = dirname(fileURLToPath(import.meta.url));
20
- for (; packageRoot !== parse(packageRoot).root; ) {
21
- const pkgPath = join(packageRoot, "package.json");
22
- if (existsSync(pkgPath) && JSON.parse(readFileSync(pkgPath, "utf-8")).name === "@take-out/cli")
23
- break;
24
- packageRoot = dirname(packageRoot);
19
+ let monorepoRoot = dirname(fileURLToPath(import.meta.url));
20
+ for (; monorepoRoot !== parse(monorepoRoot).root; ) {
21
+ const promptPath = join(monorepoRoot, "packages", "docs", "sync-prompt.md");
22
+ if (existsSync(promptPath))
23
+ return readFileSync(promptPath, "utf-8");
24
+ monorepoRoot = dirname(monorepoRoot);
25
25
  }
26
- const promptPath = join(packageRoot, "docs", "sync-prompt.md");
27
- return readFileSync(promptPath, "utf-8");
26
+ throw new Error("Could not find sync-prompt.md in packages/docs");
28
27
  } catch (error) {
29
28
  throw new Error(
30
29
  `Could not load sync prompt: ${error instanceof Error ? error.message : "Unknown error"}`
@@ -68,32 +67,52 @@ const syncCommand = defineCommand({
68
67
  name: "sync",
69
68
  description: "Sync your fork with the latest Takeout repository"
70
69
  },
71
- async run() {
72
- showStep("Takeout Repository Sync"), console.info(), showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info();
73
- const hasClaudeCode = checkToolAvailable("claude"), hasCursor = checkToolAvailable("cursor-agent"), hasAider = checkToolAvailable("aider"), options = [];
74
- hasClaudeCode && options.push({
75
- value: "claude-code",
76
- label: "Claude Code (recommended)",
77
- hint: "Run sync automatically with Claude Code CLI"
78
- }), hasCursor && options.push({
79
- value: "cursor",
80
- label: "Cursor Agent",
81
- hint: "Run sync automatically with Cursor CLI"
82
- }), hasAider && options.push({
83
- value: "aider",
84
- label: "Aider",
85
- hint: "Run sync automatically with Aider CLI"
86
- }), options.push({
87
- value: "show-prompt",
88
- label: "Show prompt (copy & paste manually)",
89
- hint: "Display the full prompt to use with any LLM"
90
- });
91
- const choice = await promptSelect("How would you like to sync?", options);
92
- if (choice === "cancel") {
93
- console.info(), showInfo("Sync cancelled");
94
- return;
70
+ args: {
71
+ auto: {
72
+ type: "boolean",
73
+ description: "Auto-run with claude-code without prompts (for non-TTY environments)",
74
+ default: !1
75
+ },
76
+ print: {
77
+ type: "boolean",
78
+ description: "Print the sync prompt and exit",
79
+ default: !1
80
+ }
81
+ },
82
+ async run({ args }) {
83
+ const isAuto = args.auto, isPrint = args.print;
84
+ showStep("Takeout Repository Sync"), console.info(), !isAuto && !isPrint && (showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info());
85
+ const hasClaudeCode = checkToolAvailable("claude"), hasCursor = checkToolAvailable("cursor-agent"), hasAider = checkToolAvailable("aider");
86
+ let choice;
87
+ if (isAuto)
88
+ hasClaudeCode || (showError("--auto requires claude CLI to be installed"), process.exit(1)), choice = "claude-code";
89
+ else if (isPrint)
90
+ choice = "show-prompt";
91
+ else {
92
+ const options = [];
93
+ if (hasClaudeCode && options.push({
94
+ value: "claude-code",
95
+ label: "Claude Code (recommended)",
96
+ hint: "Run sync automatically with Claude Code CLI"
97
+ }), hasCursor && options.push({
98
+ value: "cursor",
99
+ label: "Cursor Agent",
100
+ hint: "Run sync automatically with Cursor CLI"
101
+ }), hasAider && options.push({
102
+ value: "aider",
103
+ label: "Aider",
104
+ hint: "Run sync automatically with Aider CLI"
105
+ }), options.push({
106
+ value: "show-prompt",
107
+ label: "Show prompt (copy & paste manually)",
108
+ hint: "Display the full prompt to use with any LLM"
109
+ }), choice = await promptSelect("How would you like to sync?", options), choice === "cancel") {
110
+ console.info(), showInfo("Sync cancelled");
111
+ return;
112
+ }
113
+ console.info();
95
114
  }
96
- if (console.info(), console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
115
+ if (console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
97
116
  showError("Failed to fetch upstream repository");
98
117
  return;
99
118
  }
@@ -108,11 +127,11 @@ const syncCommand = defineCommand({
108
127
  if (choice === "show-prompt")
109
128
  console.info(pc.dim("=".repeat(80))), console.info(prompt), console.info(pc.dim("=".repeat(80))), console.info(), showInfo("Copy the prompt above and paste it into your preferred LLM"), console.info(), console.info(pc.gray("Recommended LLMs:")), console.info(pc.gray(" \u2022 Claude Code (best for complex instructions)")), console.info(pc.gray(" \u2022 ChatGPT")), console.info(pc.gray(" \u2022 Cursor")), console.info(pc.gray(" \u2022 Aider")), console.info();
110
129
  else if (choice === "claude-code") {
111
- if (showInfo("Starting Claude Code with sync prompt..."), console.info(), console.info(
130
+ if (showInfo("Starting Claude Code with sync prompt..."), console.info(), !isAuto && (console.info(
112
131
  pc.dim(
113
132
  "Note: Claude Code will run in headless mode and make changes automatically."
114
133
  )
115
- ), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info(), !await confirmContinue("Continue with Claude Code?", !0)) {
134
+ ), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info(), !await confirmContinue("Continue with Claude Code?", !0))) {
116
135
  showInfo("Sync cancelled");
117
136
  return;
118
137
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/commands/sync.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -11,14 +11,13 @@ const UPSTREAM_REPO = "tamagui/takeout2",
11
11
  TAKEOUT_FILE = ".takeout";
12
12
  function getSyncPrompt() {
13
13
  try {
14
- let packageRoot = dirname(fileURLToPath(import.meta.url));
15
- for (; packageRoot !== parse(packageRoot).root;) {
16
- const pkgPath = join(packageRoot, "package.json");
17
- if (existsSync(pkgPath) && JSON.parse(readFileSync(pkgPath, "utf-8")).name === "@take-out/cli") break;
18
- packageRoot = dirname(packageRoot);
14
+ let monorepoRoot = dirname(fileURLToPath(import.meta.url));
15
+ for (; monorepoRoot !== parse(monorepoRoot).root;) {
16
+ const promptPath = join(monorepoRoot, "packages", "docs", "sync-prompt.md");
17
+ if (existsSync(promptPath)) return readFileSync(promptPath, "utf-8");
18
+ monorepoRoot = dirname(monorepoRoot);
19
19
  }
20
- const promptPath = join(packageRoot, "docs", "sync-prompt.md");
21
- return readFileSync(promptPath, "utf-8");
20
+ throw new Error("Could not find sync-prompt.md in packages/docs");
22
21
  } catch (error) {
23
22
  throw new Error(`Could not load sync prompt: ${error instanceof Error ? error.message : "Unknown error"}`);
24
23
  }
@@ -68,35 +67,53 @@ const syncCommand = defineCommand({
68
67
  name: "sync",
69
68
  description: "Sync your fork with the latest Takeout repository"
70
69
  },
71
- async run() {
72
- showStep("Takeout Repository Sync"), console.info(), showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info();
70
+ args: {
71
+ auto: {
72
+ type: "boolean",
73
+ description: "Auto-run with claude-code without prompts (for non-TTY environments)",
74
+ default: !1
75
+ },
76
+ print: {
77
+ type: "boolean",
78
+ description: "Print the sync prompt and exit",
79
+ default: !1
80
+ }
81
+ },
82
+ async run({
83
+ args
84
+ }) {
85
+ const isAuto = args.auto,
86
+ isPrint = args.print;
87
+ showStep("Takeout Repository Sync"), console.info(), !isAuto && !isPrint && (showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info());
73
88
  const hasClaudeCode = checkToolAvailable("claude"),
74
89
  hasCursor = checkToolAvailable("cursor-agent"),
75
- hasAider = checkToolAvailable("aider"),
76
- options = [];
77
- hasClaudeCode && options.push({
78
- value: "claude-code",
79
- label: "Claude Code (recommended)",
80
- hint: "Run sync automatically with Claude Code CLI"
81
- }), hasCursor && options.push({
82
- value: "cursor",
83
- label: "Cursor Agent",
84
- hint: "Run sync automatically with Cursor CLI"
85
- }), hasAider && options.push({
86
- value: "aider",
87
- label: "Aider",
88
- hint: "Run sync automatically with Aider CLI"
89
- }), options.push({
90
- value: "show-prompt",
91
- label: "Show prompt (copy & paste manually)",
92
- hint: "Display the full prompt to use with any LLM"
93
- });
94
- const choice = await promptSelect("How would you like to sync?", options);
95
- if (choice === "cancel") {
96
- console.info(), showInfo("Sync cancelled");
97
- return;
90
+ hasAider = checkToolAvailable("aider");
91
+ let choice;
92
+ if (isAuto) hasClaudeCode || (showError("--auto requires claude CLI to be installed"), process.exit(1)), choice = "claude-code";else if (isPrint) choice = "show-prompt";else {
93
+ const options = [];
94
+ if (hasClaudeCode && options.push({
95
+ value: "claude-code",
96
+ label: "Claude Code (recommended)",
97
+ hint: "Run sync automatically with Claude Code CLI"
98
+ }), hasCursor && options.push({
99
+ value: "cursor",
100
+ label: "Cursor Agent",
101
+ hint: "Run sync automatically with Cursor CLI"
102
+ }), hasAider && options.push({
103
+ value: "aider",
104
+ label: "Aider",
105
+ hint: "Run sync automatically with Aider CLI"
106
+ }), options.push({
107
+ value: "show-prompt",
108
+ label: "Show prompt (copy & paste manually)",
109
+ hint: "Display the full prompt to use with any LLM"
110
+ }), choice = await promptSelect("How would you like to sync?", options), choice === "cancel") {
111
+ console.info(), showInfo("Sync cancelled");
112
+ return;
113
+ }
114
+ console.info();
98
115
  }
99
- if (console.info(), console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
116
+ if (console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
100
117
  showError("Failed to fetch upstream repository");
101
118
  return;
102
119
  }
@@ -109,7 +126,7 @@ const syncCommand = defineCommand({
109
126
  try {
110
127
  const prompt = getSyncPrompt();
111
128
  if (choice === "show-prompt") console.info(pc.dim("=".repeat(80))), console.info(prompt), console.info(pc.dim("=".repeat(80))), console.info(), showInfo("Copy the prompt above and paste it into your preferred LLM"), console.info(), console.info(pc.gray("Recommended LLMs:")), console.info(pc.gray(" \u2022 Claude Code (best for complex instructions)")), console.info(pc.gray(" \u2022 ChatGPT")), console.info(pc.gray(" \u2022 Cursor")), console.info(pc.gray(" \u2022 Aider")), console.info();else if (choice === "claude-code") {
112
- if (showInfo("Starting Claude Code with sync prompt..."), console.info(), console.info(pc.dim("Note: Claude Code will run in headless mode and make changes automatically.")), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info(), !(await confirmContinue("Continue with Claude Code?", !0))) {
129
+ if (showInfo("Starting Claude Code with sync prompt..."), console.info(), !isAuto && (console.info(pc.dim("Note: Claude Code will run in headless mode and make changes automatically.")), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info(), !(await confirmContinue("Continue with Claude Code?", !0)))) {
113
130
  showInfo("Sync cancelled");
114
131
  return;
115
132
  }
@@ -1 +1 @@
1
- {"version":3,"names":["execSync","spawn","spawnSync","existsSync","mkdtempSync","readFileSync","writeFileSync","tmpdir","dirname","join","parse","fileURLToPath","defineCommand","pc","confirmContinue","promptSelect","showError","showInfo","showStep","showSuccess","UPSTREAM_REPO","UPSTREAM_REMOTE","TAKEOUT_FILE","getSyncPrompt","packageRoot","import","meta","url","root","pkgPath","JSON","name","promptPath","error","Error","message","checkToolAvailable","command","checkCmd","process","platform","status","ensureUpstreamRemote","encoding","includes","stdio","getUpstreamHeadSha","trim","writeTakeoutConfig","sha","configPath","cwd","date","Date","toISOString","split","content","syncCommand","description","run","console","info","gray","hasClaudeCode","hasCursor","hasAider","options","push","value","label","hint","choice","dim","upstreamSha","slice","prompt","repeat","tempDir","promptFile","claude","stdin","write","end","on","code","cursor"],"sources":["../../../src/commands/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["execSync","spawn","spawnSync","existsSync","mkdtempSync","readFileSync","writeFileSync","tmpdir","dirname","join","parse","fileURLToPath","defineCommand","pc","confirmContinue","promptSelect","showError","showInfo","showStep","showSuccess","UPSTREAM_REPO","UPSTREAM_REMOTE","TAKEOUT_FILE","getSyncPrompt","monorepoRoot","import","meta","url","root","promptPath","Error","error","message","checkToolAvailable","command","checkCmd","process","platform","status","ensureUpstreamRemote","encoding","includes","stdio","getUpstreamHeadSha","trim","writeTakeoutConfig","sha","configPath","cwd","date","Date","toISOString","split","content","syncCommand","name","description","args","auto","type","default","print","run","isAuto","isPrint","console","info","gray","hasClaudeCode","hasCursor","hasAider","choice","exit","options","push","value","label","hint","dim","upstreamSha","slice","prompt","repeat","tempDir","promptFile","claude","stdin","write","end","on","code","cursor"],"sources":["../../../src/commands/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,16 +14,12 @@ var UPSTREAM_REPO = "tamagui/takeout2",
14
14
  TAKEOUT_FILE = ".takeout";
15
15
  function getSyncPrompt() {
16
16
  try {
17
- for (var currentDir = dirname(fileURLToPath(import.meta.url)), packageRoot = currentDir; packageRoot !== parse(packageRoot).root;) {
18
- var pkgPath = join(packageRoot, "package.json");
19
- if (existsSync(pkgPath)) {
20
- var pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
21
- if (pkg.name === "@take-out/cli") break;
22
- }
23
- packageRoot = dirname(packageRoot);
17
+ for (var currentDir = dirname(fileURLToPath(import.meta.url)), monorepoRoot = currentDir; monorepoRoot !== parse(monorepoRoot).root;) {
18
+ var promptPath = join(monorepoRoot, "packages", "docs", "sync-prompt.md");
19
+ if (existsSync(promptPath)) return readFileSync(promptPath, "utf-8");
20
+ monorepoRoot = dirname(monorepoRoot);
24
21
  }
25
- var promptPath = join(packageRoot, "docs", "sync-prompt.md");
26
- return readFileSync(promptPath, "utf-8");
22
+ throw new Error("Could not find sync-prompt.md in packages/docs");
27
23
  } catch (error) {
28
24
  throw new Error(`Could not load sync prompt: ${_instanceof(error, Error) ? error.message : "Unknown error"}`);
29
25
  }
@@ -76,35 +72,54 @@ var syncCommand = defineCommand({
76
72
  name: "sync",
77
73
  description: "Sync your fork with the latest Takeout repository"
78
74
  },
79
- async run() {
80
- showStep("Takeout Repository Sync"), console.info(), showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info();
75
+ args: {
76
+ auto: {
77
+ type: "boolean",
78
+ description: "Auto-run with claude-code without prompts (for non-TTY environments)",
79
+ default: !1
80
+ },
81
+ print: {
82
+ type: "boolean",
83
+ description: "Print the sync prompt and exit",
84
+ default: !1
85
+ }
86
+ },
87
+ async run(param) {
88
+ var {
89
+ args
90
+ } = param,
91
+ isAuto = args.auto,
92
+ isPrint = args.print;
93
+ showStep("Takeout Repository Sync"), console.info(), !isAuto && !isPrint && (showInfo("Takeout sync uses AI to intelligently merge upstream changes"), console.info(), console.info(pc.gray("How it works:")), console.info(pc.gray(" \u2022 Analyzes commits from upstream Takeout repository")), console.info(pc.gray(" \u2022 Determines which changes are relevant to your fork")), console.info(pc.gray(" \u2022 Applies changes while preserving your customizations")), console.info(pc.gray(" \u2022 Handles package ejection automatically")), console.info(pc.gray(" \u2022 Asks for your input when decisions are needed")), console.info());
81
94
  var hasClaudeCode = checkToolAvailable("claude"),
82
95
  hasCursor = checkToolAvailable("cursor-agent"),
83
96
  hasAider = checkToolAvailable("aider"),
84
- options = [];
85
- hasClaudeCode && options.push({
86
- value: "claude-code",
87
- label: "Claude Code (recommended)",
88
- hint: "Run sync automatically with Claude Code CLI"
89
- }), hasCursor && options.push({
90
- value: "cursor",
91
- label: "Cursor Agent",
92
- hint: "Run sync automatically with Cursor CLI"
93
- }), hasAider && options.push({
94
- value: "aider",
95
- label: "Aider",
96
- hint: "Run sync automatically with Aider CLI"
97
- }), options.push({
98
- value: "show-prompt",
99
- label: "Show prompt (copy & paste manually)",
100
- hint: "Display the full prompt to use with any LLM"
101
- });
102
- var choice = await promptSelect("How would you like to sync?", options);
103
- if (choice === "cancel") {
104
- console.info(), showInfo("Sync cancelled");
105
- return;
97
+ choice;
98
+ if (isAuto) hasClaudeCode || (showError("--auto requires claude CLI to be installed"), process.exit(1)), choice = "claude-code";else if (isPrint) choice = "show-prompt";else {
99
+ var options = [];
100
+ if (hasClaudeCode && options.push({
101
+ value: "claude-code",
102
+ label: "Claude Code (recommended)",
103
+ hint: "Run sync automatically with Claude Code CLI"
104
+ }), hasCursor && options.push({
105
+ value: "cursor",
106
+ label: "Cursor Agent",
107
+ hint: "Run sync automatically with Cursor CLI"
108
+ }), hasAider && options.push({
109
+ value: "aider",
110
+ label: "Aider",
111
+ hint: "Run sync automatically with Aider CLI"
112
+ }), options.push({
113
+ value: "show-prompt",
114
+ label: "Show prompt (copy & paste manually)",
115
+ hint: "Display the full prompt to use with any LLM"
116
+ }), choice = await promptSelect("How would you like to sync?", options), choice === "cancel") {
117
+ console.info(), showInfo("Sync cancelled");
118
+ return;
119
+ }
120
+ console.info();
106
121
  }
107
- if (console.info(), console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
122
+ if (console.info(pc.dim("Fetching upstream repository...")), !ensureUpstreamRemote()) {
108
123
  showError("Failed to fetch upstream repository");
109
124
  return;
110
125
  }
@@ -118,11 +133,13 @@ var syncCommand = defineCommand({
118
133
  var prompt = getSyncPrompt();
119
134
  if (choice === "show-prompt") console.info(pc.dim("=".repeat(80))), console.info(prompt), console.info(pc.dim("=".repeat(80))), console.info(), showInfo("Copy the prompt above and paste it into your preferred LLM"), console.info(), console.info(pc.gray("Recommended LLMs:")), console.info(pc.gray(" \u2022 Claude Code (best for complex instructions)")), console.info(pc.gray(" \u2022 ChatGPT")), console.info(pc.gray(" \u2022 Cursor")), console.info(pc.gray(" \u2022 Aider")), console.info();else if (choice === "claude-code") {
120
135
  var _claude_stdin, _claude_stdin1;
121
- showInfo("Starting Claude Code with sync prompt..."), console.info(), console.info(pc.dim("Note: Claude Code will run in headless mode and make changes automatically.")), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info();
122
- var shouldContinue = await confirmContinue("Continue with Claude Code?", !0);
123
- if (!shouldContinue) {
124
- showInfo("Sync cancelled");
125
- return;
136
+ if (showInfo("Starting Claude Code with sync prompt..."), console.info(), !isAuto) {
137
+ console.info(pc.dim("Note: Claude Code will run in headless mode and make changes automatically.")), console.info(pc.dim("You will be asked to confirm important decisions.")), console.info();
138
+ var shouldContinue = await confirmContinue("Continue with Claude Code?", !0);
139
+ if (!shouldContinue) {
140
+ showInfo("Sync cancelled");
141
+ return;
142
+ }
126
143
  }
127
144
  var tempDir = mkdtempSync(join(tmpdir(), "takeout-sync-")),
128
145
  promptFile = join(tempDir, "prompt.md");
@@ -1 +1 @@
1
- {"version":3,"names":["execSync","spawn","spawnSync","existsSync","mkdtempSync","readFileSync","writeFileSync","tmpdir","dirname","join","parse","fileURLToPath","defineCommand","pc","confirmContinue","promptSelect","showError","showInfo","showStep","showSuccess","_instanceof","left","right","Symbol","hasInstance","UPSTREAM_REPO","UPSTREAM_REMOTE","TAKEOUT_FILE","getSyncPrompt","currentDir","import","meta","url","packageRoot","root","pkgPath","pkg","JSON","name","promptPath","error","Error","message","checkToolAvailable","command","checkCmd","process","platform","result","status","ensureUpstreamRemote","remotes","encoding","includes","stdio","getUpstreamHeadSha","sha","trim","writeTakeoutConfig","configPath","cwd","date","Date","toISOString","split","content","syncCommand","description","run","console","info","gray","hasClaudeCode","hasCursor","hasAider","options","push","value","label","hint","choice","dim","upstreamSha","slice","prompt","repeat","_claude_stdin","_claude_stdin1","shouldContinue","tempDir","promptFile","claude","stdin","write","end","on","code","_cursor_stdin","_cursor_stdin1","shouldContinue1","cursor"],"sources":["../../../src/commands/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["execSync","spawn","spawnSync","existsSync","mkdtempSync","readFileSync","writeFileSync","tmpdir","dirname","join","parse","fileURLToPath","defineCommand","pc","confirmContinue","promptSelect","showError","showInfo","showStep","showSuccess","_instanceof","left","right","Symbol","hasInstance","UPSTREAM_REPO","UPSTREAM_REMOTE","TAKEOUT_FILE","getSyncPrompt","currentDir","import","meta","url","monorepoRoot","root","promptPath","Error","error","message","checkToolAvailable","command","checkCmd","process","platform","result","status","ensureUpstreamRemote","remotes","encoding","includes","stdio","getUpstreamHeadSha","sha","trim","writeTakeoutConfig","configPath","cwd","date","Date","toISOString","split","content","syncCommand","name","description","args","auto","type","default","print","run","param","isAuto","isPrint","console","info","gray","hasClaudeCode","hasCursor","hasAider","choice","exit","options","push","value","label","hint","dim","upstreamSha","slice","prompt","repeat","_claude_stdin","_claude_stdin1","shouldContinue","tempDir","promptFile","claude","stdin","write","end","on","code","_cursor_stdin","_cursor_stdin1","shouldContinue1","cursor"],"sources":["../../../src/commands/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/cli",
3
- "version": "0.0.47",
3
+ "version": "0.0.51",
4
4
  "description": "CLI tools for Takeout starter kit - interactive onboarding and project setup",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "scripts": {
42
42
  "build": "tamagui-build",
43
- "watch": "tamagui-build --watch",
43
+ "watch": "SKIP_INITIAL_BUILD=1 tamagui-build --watch",
44
44
  "typecheck": "tko run typecheck",
45
45
  "lint": "oxlint src",
46
46
  "lint:fix": "oxfmt src && oxlint --fix --fix-suggestions src",
@@ -50,8 +50,8 @@
50
50
  },
51
51
  "dependencies": {
52
52
  "@clack/prompts": "^0.8.2",
53
- "@take-out/docs": "0.0.47",
54
- "@take-out/scripts": "0.0.47",
53
+ "@take-out/docs": "0.0.51",
54
+ "@take-out/scripts": "0.0.51",
55
55
  "citty": "^0.1.6",
56
56
  "picocolors": "^1.1.1"
57
57
  },
@@ -64,7 +64,7 @@
64
64
  }
65
65
  },
66
66
  "devDependencies": {
67
- "@tamagui/build": "^2.0.0-1768983999155",
67
+ "@tamagui/build": "^2.0.0-1769189735283",
68
68
  "@types/node": "24.0.3",
69
69
  "bun-types": "latest",
70
70
  "oxfmt": "^0.16.0",
@@ -453,22 +453,25 @@ const skillsCommand = defineCommand({
453
453
  let unchanged = 0
454
454
 
455
455
  for (const doc of docs) {
456
- const baseName = toSkillName(doc.name)
457
- const skillName = `${SKILL_PREFIX}${baseName}`
458
- const skillDir = join(skillsDir, skillName)
459
- const skillFile = join(skillDir, 'SKILL.md')
460
-
461
456
  // read doc content
462
457
  const content = readFileSync(doc.path, 'utf-8')
463
458
  const hasFrontmatter = hasSkillFrontmatter(content)
464
459
 
465
- // ensure skill directory exists
466
- if (!existsSync(skillDir)) {
467
- mkdirSync(skillDir, { recursive: true })
468
- }
469
-
470
460
  if (hasFrontmatter) {
471
- // doc has frontmatter - symlink it directly
461
+ // extract skill name from frontmatter
462
+ const nameMatch = content.match(/^---\s*\nname:\s*([^\n]+)/m)
463
+ if (!nameMatch) continue
464
+
465
+ const skillName = nameMatch[1].trim()
466
+ const skillDir = join(skillsDir, skillName)
467
+ const skillFile = join(skillDir, 'SKILL.md')
468
+
469
+ // ensure skill directory exists
470
+ if (!existsSync(skillDir)) {
471
+ mkdirSync(skillDir, { recursive: true })
472
+ }
473
+
474
+ // symlink it directly
472
475
  const relativePath = relative(skillDir, doc.path)
473
476
 
474
477
  // check if symlink already exists and points to same target
@@ -499,6 +502,16 @@ const skillsCommand = defineCommand({
499
502
  )
500
503
  } else {
501
504
  // doc lacks frontmatter - generate skill file with frontmatter
505
+ const baseName = toSkillName(doc.name)
506
+ const skillName = `${SKILL_PREFIX}${baseName}`
507
+ const skillDir = join(skillsDir, skillName)
508
+ const skillFile = join(skillDir, 'SKILL.md')
509
+
510
+ // ensure skill directory exists
511
+ if (!existsSync(skillDir)) {
512
+ mkdirSync(skillDir, { recursive: true })
513
+ }
514
+
502
515
  const { title, description } = extractDocMeta(content)
503
516
  const skillDescription = description
504
517
  ? `${title}. ${description}`.slice(0, 1024)