flingit 0.0.5 → 0.0.7

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 (35) hide show
  1. package/README.md +18 -21
  2. package/dist/cli/commands/logs.d.ts.map +1 -1
  3. package/dist/cli/commands/logs.js +7 -2
  4. package/dist/cli/commands/logs.js.map +1 -1
  5. package/dist/cli/commands/onboard.d.ts +11 -3
  6. package/dist/cli/commands/onboard.d.ts.map +1 -1
  7. package/dist/cli/commands/onboard.js +148 -51
  8. package/dist/cli/commands/onboard.js.map +1 -1
  9. package/dist/cli/commands/tun.d.ts +13 -0
  10. package/dist/cli/commands/tun.d.ts.map +1 -0
  11. package/dist/cli/commands/tun.js +188 -0
  12. package/dist/cli/commands/tun.js.map +1 -0
  13. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  14. package/dist/cli/deploy/bundler.js +1 -0
  15. package/dist/cli/deploy/bundler.js.map +1 -1
  16. package/dist/cli/index.js +2 -0
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli/loaders/register-wasm.d.ts +12 -0
  19. package/dist/cli/loaders/register-wasm.d.ts.map +1 -0
  20. package/dist/cli/loaders/register-wasm.js +19 -0
  21. package/dist/cli/loaders/register-wasm.js.map +1 -0
  22. package/dist/cli/loaders/wasm-hooks.d.ts +54 -0
  23. package/dist/cli/loaders/wasm-hooks.d.ts.map +1 -0
  24. package/dist/cli/loaders/wasm-hooks.js +56 -0
  25. package/dist/cli/loaders/wasm-hooks.js.map +1 -0
  26. package/dist/cli/utils/onboarding-io-impl.d.ts +12 -0
  27. package/dist/cli/utils/onboarding-io-impl.d.ts.map +1 -0
  28. package/dist/cli/utils/onboarding-io-impl.js +85 -0
  29. package/dist/cli/utils/onboarding-io-impl.js.map +1 -0
  30. package/dist/cli/utils/onboarding-io.d.ts +60 -0
  31. package/dist/cli/utils/onboarding-io.d.ts.map +1 -0
  32. package/dist/cli/utils/onboarding-io.js +9 -0
  33. package/dist/cli/utils/onboarding-io.js.map +1 -0
  34. package/package.json +2 -1
  35. package/templates/default/skills/fling/SKILL.md +15 -0
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## What is Fling?
8
8
 
9
- Fling lets you build personal software tools by describing what you want. You open a terminal, type `fling`, and start talking to Claude. That's it.
9
+ Fling is the fastest way from Claude Code to deployed software.
10
10
 
11
11
  > "I want a podcast feed that picks randomly between Hard Fork and The Daily each day, and gives me one episode per day."
12
12
 
@@ -24,26 +24,9 @@ That's it. This creates a project at `~/fling`, sets up the environment, and ope
24
24
 
25
25
  Requires Node.js 22 or later.
26
26
 
27
- ### Global Install (Optional)
28
-
29
- If you prefer a global command:
30
-
31
- ```bash
32
- npm install -g flingit
33
- fling
34
- ```
35
-
36
- ### Returning to Your Project
37
-
38
- ```bash
39
- npx flingit
40
- ```
41
-
42
- Opens Claude Code in your existing project. Continue where you left off.
43
-
44
27
  ## How It Works
45
28
 
46
- Fling provides four primitives that Claude uses to build your tools:
29
+ Fling provides four primitives (more to come) that Claude uses to build your tools:
47
30
 
48
31
  | Primitive | What it does |
49
32
  |-----------|--------------|
@@ -52,7 +35,7 @@ Fling provides four primitives that Claude uses to build your tools:
52
35
  | **Database** | Store and query data (SQLite) |
53
36
  | **Secrets** | Manage API keys and credentials |
54
37
 
55
- Everything works locally during development. When you're ready, `fling push` deploys to production.
38
+ Everything works locally during development. When you're ready, just tell Claude Code to deploys to production.
56
39
 
57
40
  ## Design Philosophy
58
41
 
@@ -60,10 +43,20 @@ Everything works locally during development. When you're ready, `fling push` dep
60
43
 
61
44
  2. **Standard tools over custom abstractions** — Hono for HTTP, SQLite for data, standard cron syntax. Claude already knows these.
62
45
 
63
- 3. **Local-first development** — Everything works locally. Deployment is an optimization.
46
+ 3. **Local-first development** — Everything works and can be tested locally.
64
47
 
65
48
  4. **Fail fast** — Missing secrets throw. Invalid syntax throws. Obvious errors help Claude debug.
66
49
 
50
+ ## Running Fling From Source
51
+
52
+ To run fling from this repo, just do
53
+
54
+ ```bash
55
+ npm run cli
56
+ ```
57
+
58
+ That's the equivalent of running `npx flingit`. It will also do the onboarding flow and create a Fling project, but the `flingit` dependency there will point to your local package instead of the public package on NPM.
59
+
67
60
  ## Publishing
68
61
 
69
62
  The package is published to npm as `flingit`. The `prepublishOnly` script runs lint, typecheck, build, and tests automatically.
@@ -82,4 +75,8 @@ npm pack --dry-run
82
75
 
83
76
  - [ARCHITECTURE.md](./ARCHITECTURE.md) — How Fling works internally (CLI commands, runtime API, platform)
84
77
  - [API.md](./API.md) — Platform HTTP API reference
78
+ - [DEPLOYMENT.md](./DEPLOYMENT.md) — How the Fling platform deploys
79
+ - [SCRIPTS.md](./SCRIPTS.md) — All the scripts in this repo
80
+ - [CLI.md](./CLI.md) — All the commands provided by the CLI
81
+ - [SMOKE-TEST.md](./SMOKE-TEST.md) — What the smoke-test tests
85
82
  - [SPEC.md](./SPEC.md) — Original product specification
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BpC,eAAO,MAAM,WAAW,SAgKpB,CAAC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BpC,eAAO,MAAM,WAAW,SAkKpB,CAAC"}
@@ -23,6 +23,7 @@ export const logsCommand = new Command("logs")
23
23
  .option("-f, --follow", "Follow log output in real-time (local only)")
24
24
  .option("-n, --limit <count>", "Number of logs to show", "50")
25
25
  .option("--search <text>", "Full-text search in log messages (prod only)")
26
+ .option("--ray <id>", "Filter by Ray ID / invocation ID (prod only)")
26
27
  .addHelpText("after", `
27
28
  Environment:
28
29
  By default, shows logs from local SQLite database.
@@ -33,7 +34,7 @@ Duration format for --since:
33
34
 
34
35
  Feature availability:
35
36
  Local only: --cron (filter by cron job), --follow (real-time)
36
- Prod only: --search (full-text search)
37
+ Prod only: --search (full-text search), --ray (filter by invocation)
37
38
 
38
39
  Examples:
39
40
  fling logs Last 50 local logs
@@ -46,6 +47,7 @@ Examples:
46
47
  fling --prod logs Last 50 production logs
47
48
  fling --prod logs --search payment Search for "payment" in prod logs
48
49
  fling --prod logs -l error -s 2d Prod errors from last 2 days
50
+ fling --prod logs --ray abc12345 Logs from specific invocation
49
51
  `)
50
52
  .action(async (options, command) => {
51
53
  const env = getTargetEnv(command);
@@ -204,6 +206,9 @@ async function queryDeployedLogs(options) {
204
206
  if (options.search) {
205
207
  params.set("search", options.search);
206
208
  }
209
+ if (options.ray) {
210
+ params.set("rayId", options.ray);
211
+ }
207
212
  if (options.limit) {
208
213
  params.set("limit", options.limit);
209
214
  }
@@ -254,7 +259,7 @@ function printDeployedLog(entry) {
254
259
  const timestamp = new Date(entry.timestamp).toISOString();
255
260
  let output = `${dim}${timestamp}${reset} ${color}${levelPadded}${reset} ${entry.message}`;
256
261
  if (entry.rayId) {
257
- output += ` ${dim}[ray:${entry.rayId.slice(0, 8)}]${reset}`;
262
+ output += ` ${dim}[ray:${entry.rayId}]${reset}`;
258
263
  }
259
264
  console.log(output);
260
265
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * fling onboard - Interactive onboarding for first-time users
3
3
  */
4
4
  import { Command } from "commander";
5
+ import type { OnboardingIO } from "../utils/onboarding-io.js";
5
6
  /**
6
7
  * Result from the onboarding flow.
7
8
  */
@@ -9,9 +10,18 @@ export interface OnboardingResult {
9
10
  authenticated: boolean;
10
11
  setupProject: boolean;
11
12
  }
13
+ /**
14
+ * Options for running onboarding (mostly for testing).
15
+ */
16
+ export interface OnboardingOptions {
17
+ apiUrl?: string;
18
+ configDir?: string;
19
+ flingHome?: string;
20
+ }
12
21
  export type CredentialResult = "authenticated" | "skipped" | "failed" | "cancelled";
13
22
  /**
14
23
  * Prompt the user to authenticate.
24
+ * This is the public API that creates its own context using defaults.
15
25
  */
16
26
  export declare function promptCredentials(options?: {
17
27
  message?: string;
@@ -22,8 +32,6 @@ export declare function promptCredentials(options?: {
22
32
  * This can be called programmatically (from launch.ts) or via the command.
23
33
  * Returns whether the user authenticated and whether to set up the default project.
24
34
  */
25
- export declare function runOnboarding(options?: {
26
- apiUrl?: string;
27
- }): Promise<OnboardingResult>;
35
+ export declare function runOnboarding(io?: OnboardingIO, options?: OnboardingOptions): Promise<OnboardingResult>;
28
36
  export declare const onboardCommand: Command;
29
37
  //# sourceMappingURL=onboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0ID,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsD5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuD5B;AAED,eAAO,MAAM,cAAc,SA0BvB,CAAC"}
1
+ {"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgOD,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAuEhB;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAG5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,EAAE,GAAE,YAAkC,EACtC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAiF3B;AAED,eAAO,MAAM,cAAc,SA0BvB,CAAC"}
@@ -2,15 +2,73 @@
2
2
  * fling onboard - Interactive onboarding for first-time users
3
3
  */
4
4
  import { Command } from "commander";
5
- import * as p from "@clack/prompts";
6
- import { setToken, isLoggedIn, clearToken, platformFetch, getApiUrl, setApiUrl, } from "../utils/config.js";
5
+ import { join } from "node:path";
6
+ import { homedir } from "node:os";
7
7
  import { normalizeInviteToken } from "../utils/token.js";
8
+ import { defaultOnboardingIO } from "../utils/onboarding-io-impl.js";
9
+ const DEFAULT_API_URL = "https://api.justdeployit.dev";
10
+ /**
11
+ * Create the onboarding context from options.
12
+ */
13
+ function createContext(io, options) {
14
+ const configDir = options?.configDir ?? join(homedir(), ".fling");
15
+ const tokenFile = join(configDir, "token");
16
+ const apiUrlFile = join(configDir, "api-url");
17
+ const flingHome = options?.flingHome ?? join(homedir(), "fling");
18
+ return {
19
+ io,
20
+ paths: { tokenFile, apiUrlFile, configDir, flingHome },
21
+ getApiUrl() {
22
+ const envUrl = process.env["FLING_API_URL"];
23
+ if (envUrl)
24
+ return envUrl;
25
+ if (options?.apiUrl)
26
+ return options.apiUrl;
27
+ const stored = io.file.read(apiUrlFile);
28
+ if (stored)
29
+ return stored;
30
+ return DEFAULT_API_URL;
31
+ },
32
+ };
33
+ }
34
+ /**
35
+ * Check if user is logged in (token file exists and is non-empty).
36
+ */
37
+ function isLoggedIn(ctx) {
38
+ const token = ctx.io.file.read(ctx.paths.tokenFile);
39
+ return token !== null && token.length > 0;
40
+ }
41
+ /**
42
+ * Save the auth token.
43
+ */
44
+ function setToken(ctx, token) {
45
+ if (!ctx.io.file.exists(ctx.paths.configDir)) {
46
+ ctx.io.file.mkdir(ctx.paths.configDir);
47
+ }
48
+ ctx.io.file.write(ctx.paths.tokenFile, token, 0o600);
49
+ }
50
+ /**
51
+ * Save the API URL override.
52
+ */
53
+ function setApiUrl(ctx, url) {
54
+ if (!ctx.io.file.exists(ctx.paths.configDir)) {
55
+ ctx.io.file.mkdir(ctx.paths.configDir);
56
+ }
57
+ ctx.io.file.write(ctx.paths.apiUrlFile, url);
58
+ }
59
+ /**
60
+ * Check if a directory is a Fling project root.
61
+ */
62
+ function isFlingProject(ctx, dir) {
63
+ return ctx.io.file.exists(join(dir, ".claude", "skills", "fling"));
64
+ }
8
65
  /**
9
66
  * Handle the API token login flow.
10
67
  * Returns true if authentication succeeded, or the symbol if cancelled.
11
68
  */
12
- async function handleApiTokenFlow() {
13
- const token = await p.password({
69
+ async function handleApiTokenFlow(ctx) {
70
+ const { io } = ctx;
71
+ const token = await io.user.password({
14
72
  message: "Paste your token",
15
73
  validate: (value) => {
16
74
  if (!value)
@@ -20,30 +78,31 @@ async function handleApiTokenFlow() {
20
78
  return undefined;
21
79
  },
22
80
  });
23
- if (p.isCancel(token))
81
+ if (io.user.isCancel(token))
24
82
  return token;
25
- // Store token temporarily
26
- setToken(token);
27
- // Verify token by calling /me
28
- const s = p.spinner();
83
+ // Verify token by calling /me (don't save until verification succeeds)
84
+ const s = io.user.spinner();
29
85
  s.start("Verifying token...");
30
86
  try {
31
- const response = await platformFetch("/me");
87
+ const apiUrl = ctx.getApiUrl();
88
+ const response = await io.network.fetch(`${apiUrl}/me`, {
89
+ headers: { Authorization: `Bearer ${token}` },
90
+ });
32
91
  const data = (await response.json());
33
92
  if (!response.ok) {
34
- clearToken();
35
93
  s.stop(`Login failed: ${data.error ?? "Invalid token"}`, 1);
36
94
  return false;
37
95
  }
96
+ // Only save token after successful verification
97
+ setToken(ctx, token);
38
98
  const project = data.projects?.[0];
39
99
  s.stop(`Logged in as ${data.user?.name} (${data.user?.email})`);
40
100
  if (project) {
41
- p.log.info(`Project: ${project.slug}\n URL: ${project.url}`);
101
+ io.user.log.info(`Project: ${project.slug}\n URL: ${project.url}`);
42
102
  }
43
103
  return true;
44
104
  }
45
105
  catch (error) {
46
- clearToken();
47
106
  s.stop(`Login failed: ${error instanceof Error ? error.message : "Network error"}`, 1);
48
107
  return false;
49
108
  }
@@ -52,8 +111,9 @@ async function handleApiTokenFlow() {
52
111
  * Handle the invite token registration flow.
53
112
  * Returns true if registration succeeded, or the symbol if cancelled.
54
113
  */
55
- async function handleInviteFlow() {
56
- const inviteTokenRaw = await p.text({
114
+ async function handleInviteFlow(ctx) {
115
+ const { io } = ctx;
116
+ const inviteTokenRaw = await io.user.text({
57
117
  message: "Paste your token",
58
118
  placeholder: "inv_...",
59
119
  validate: (value) => {
@@ -62,10 +122,10 @@ async function handleInviteFlow() {
62
122
  return undefined;
63
123
  },
64
124
  });
65
- if (p.isCancel(inviteTokenRaw))
125
+ if (io.user.isCancel(inviteTokenRaw))
66
126
  return inviteTokenRaw;
67
127
  const inviteToken = normalizeInviteToken(inviteTokenRaw);
68
- const email = await p.text({
128
+ const email = await io.user.text({
69
129
  message: "Email",
70
130
  validate: (value) => {
71
131
  if (!value)
@@ -73,9 +133,9 @@ async function handleInviteFlow() {
73
133
  return undefined;
74
134
  },
75
135
  });
76
- if (p.isCancel(email))
136
+ if (io.user.isCancel(email))
77
137
  return email;
78
- const name = await p.text({
138
+ const name = await io.user.text({
79
139
  message: "Name",
80
140
  validate: (value) => {
81
141
  if (!value)
@@ -83,13 +143,14 @@ async function handleInviteFlow() {
83
143
  return undefined;
84
144
  },
85
145
  });
86
- if (p.isCancel(name))
146
+ if (io.user.isCancel(name))
87
147
  return name;
88
148
  // Register via API
89
- const s = p.spinner();
149
+ const s = io.user.spinner();
90
150
  s.start("Registering...");
91
151
  try {
92
- const response = await fetch(`${getApiUrl()}/me`, {
152
+ const apiUrl = ctx.getApiUrl();
153
+ const response = await io.network.fetch(`${apiUrl}/me`, {
93
154
  method: "POST",
94
155
  headers: {
95
156
  Authorization: `Bearer ${inviteToken}`,
@@ -107,7 +168,7 @@ async function handleInviteFlow() {
107
168
  return false;
108
169
  }
109
170
  // Store the user token
110
- setToken(data.token);
171
+ setToken(ctx, data.token);
111
172
  s.stop(`Welcome to Fling, ${data.name}!`);
112
173
  return true;
113
174
  }
@@ -117,22 +178,27 @@ async function handleInviteFlow() {
117
178
  }
118
179
  }
119
180
  /**
120
- * Prompt the user to authenticate.
181
+ * Internal version of promptCredentials that uses context.
121
182
  */
122
- export async function promptCredentials(options) {
183
+ async function promptCredentialsInternal(ctx, options) {
184
+ const { io } = ctx;
123
185
  let step = "credential-choice";
124
186
  for (;;) {
125
187
  switch (step) {
126
188
  case "credential-choice": {
127
- const choice = await p.select({
189
+ const choice = await io.user.select({
128
190
  message: options?.message ?? "Would you like to connect your Fling account?",
129
191
  options: [
130
192
  { value: "invite", label: "I have an invite link/token" },
131
193
  { value: "api-token", label: "I have an API token" },
132
- { value: "skip", label: "Skip for now", hint: "local development only" },
194
+ {
195
+ value: "skip",
196
+ label: "Skip for now",
197
+ hint: "local development only",
198
+ },
133
199
  ],
134
200
  });
135
- if (p.isCancel(choice)) {
201
+ if (io.user.isCancel(choice)) {
136
202
  return "cancelled";
137
203
  }
138
204
  if (choice === "invite") {
@@ -147,8 +213,8 @@ export async function promptCredentials(options) {
147
213
  break;
148
214
  }
149
215
  case "api-token": {
150
- const result = await handleApiTokenFlow();
151
- if (p.isCancel(result)) {
216
+ const result = await handleApiTokenFlow(ctx);
217
+ if (io.user.isCancel(result)) {
152
218
  step = "credential-choice";
153
219
  }
154
220
  else if (!result) {
@@ -160,8 +226,8 @@ export async function promptCredentials(options) {
160
226
  break;
161
227
  }
162
228
  case "invite-flow": {
163
- const result = await handleInviteFlow();
164
- if (p.isCancel(result)) {
229
+ const result = await handleInviteFlow(ctx);
230
+ if (io.user.isCancel(result)) {
165
231
  step = "credential-choice";
166
232
  }
167
233
  else if (!result) {
@@ -175,53 +241,84 @@ export async function promptCredentials(options) {
175
241
  }
176
242
  }
177
243
  }
244
+ /**
245
+ * Prompt the user to authenticate.
246
+ * This is the public API that creates its own context using defaults.
247
+ */
248
+ export async function promptCredentials(options) {
249
+ const ctx = createContext(defaultOnboardingIO);
250
+ return promptCredentialsInternal(ctx, options);
251
+ }
178
252
  /**
179
253
  * Run the interactive onboarding flow.
180
254
  *
181
255
  * This can be called programmatically (from launch.ts) or via the command.
182
256
  * Returns whether the user authenticated and whether to set up the default project.
183
257
  */
184
- export async function runOnboarding(options) {
258
+ export async function runOnboarding(io = defaultOnboardingIO, options) {
259
+ const ctx = createContext(io, options);
185
260
  // Set API URL if provided
186
261
  if (options?.apiUrl) {
187
- setApiUrl(options.apiUrl);
262
+ setApiUrl(ctx, options.apiUrl);
188
263
  }
189
- p.intro("Welcome to Fling!");
264
+ io.user.intro("Welcome to Fling!");
190
265
  // Check if already logged in
191
- if (isLoggedIn()) {
192
- const replace = await p.confirm({
266
+ const wasLoggedIn = isLoggedIn(ctx);
267
+ if (wasLoggedIn) {
268
+ const replace = await io.user.confirm({
193
269
  message: "You're already logged in. Replace existing token?",
194
270
  initialValue: false,
195
271
  });
196
- if (p.isCancel(replace) || !replace) {
197
- p.outro("Keeping existing credentials.");
272
+ if (io.user.isCancel(replace) || !replace) {
273
+ io.user.outro("Keeping existing credentials.");
198
274
  return { authenticated: true, setupProject: true };
199
275
  }
200
- clearToken();
276
+ // Don't clear the old token yet - keep it until new auth succeeds.
277
+ // This way if new auth fails, the user still has their old credentials.
201
278
  }
202
- const credResult = await promptCredentials({ message: "How would you like to onboard?" });
279
+ const credResult = await promptCredentialsInternal(ctx, {
280
+ message: "How would you like to onboard?",
281
+ });
203
282
  if (credResult === "cancelled" || credResult === "failed") {
204
- p.cancel("Onboarding cancelled.");
283
+ io.user.cancel("Onboarding cancelled.");
205
284
  return { authenticated: false, setupProject: false };
206
285
  }
207
286
  if (credResult === "skipped") {
208
- p.log.info("No problem! You can still use Fling for local development.");
209
- p.log.message("To deploy later, run:\n" +
287
+ io.user.log.info("No problem! You can still use Fling for local development.");
288
+ io.user.log.message("To deploy later, run:\n" +
210
289
  " fling onboard - Interactive setup\n" +
211
290
  " fling login <token> - If you have an API token\n" +
212
291
  " fling register <inv> - If you have an invite link");
213
292
  }
214
293
  const authenticated = credResult === "authenticated";
215
- // Ask about project directory
216
- const setupProject = await p.confirm({
294
+ // Check if ~/fling already exists
295
+ const flingHome = ctx.paths.flingHome;
296
+ if (io.file.exists(flingHome)) {
297
+ if (isFlingProject(ctx, flingHome)) {
298
+ // ~/fling exists and is a Fling project - skip creation and launch Claude Code there
299
+ io.user.outro("Opening your existing Fling project at ~/fling");
300
+ return { authenticated, setupProject: true };
301
+ }
302
+ else {
303
+ // ~/fling exists but is not a Fling project - explain and finish
304
+ io.user.log.warn("~/fling exists but is not a Fling project.");
305
+ io.user.log.message("To create a Fling project elsewhere, run:\n" +
306
+ " mkdir ~/my-project && cd ~/my-project\n" +
307
+ " fling init");
308
+ io.user.outro("Onboarding complete.");
309
+ return { authenticated, setupProject: false };
310
+ }
311
+ }
312
+ // ~/fling doesn't exist - ask about project directory
313
+ const setupProject = await io.user.confirm({
217
314
  message: "Create your Fling project at ~/fling?",
218
315
  initialValue: true,
219
316
  });
220
- if (p.isCancel(setupProject)) {
221
- p.cancel("Onboarding cancelled.");
317
+ if (io.user.isCancel(setupProject)) {
318
+ io.user.cancel("Onboarding cancelled.");
222
319
  return { authenticated, setupProject: false };
223
320
  }
224
- p.outro("You're all set!");
321
+ io.user.outro("You're all set!");
225
322
  return { authenticated, setupProject };
226
323
  }
227
324
  export const onboardCommand = new Command("onboard")
@@ -245,7 +342,7 @@ Alternatives:
245
342
  Examples:
246
343
  fling onboard Start interactive setup
247
344
  `)
248
- .action(async (options) => {
249
- await runOnboarding(options.apiUrl ? { apiUrl: options.apiUrl } : undefined);
345
+ .action(async (opts) => {
346
+ await runOnboarding(defaultOnboardingIO, opts.apiUrl ? { apiUrl: opts.apiUrl } : undefined);
250
347
  });
251
348
  //# sourceMappingURL=onboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * fling tun - Expose local development server via Cloudflare Tunnel
3
+ *
4
+ * Uses cloudflared (Cloudflare's tunnel daemon) for high-performance,
5
+ * concurrent request handling. The platform provisions tunnel credentials
6
+ * and DNS records; the CLI runs cloudflared with the provided token.
7
+ *
8
+ * Usage:
9
+ * fling tun 3000 # Tunnel localhost:3000
10
+ */
11
+ import { Command } from "commander";
12
+ export declare const tunCommand: Command;
13
+ //# sourceMappingURL=tun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tun.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tun.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,UAAU,SAyFnB,CAAC"}