ralph-starter 0.0.1 → 0.1.1-beta.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/README.md +707 -17
- package/dist/auth/browser.d.ts +10 -0
- package/dist/auth/browser.d.ts.map +1 -0
- package/dist/auth/browser.js +56 -0
- package/dist/auth/browser.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +5 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth-server.d.ts +20 -0
- package/dist/auth/oauth-server.d.ts.map +1 -0
- package/dist/auth/oauth-server.js +168 -0
- package/dist/auth/oauth-server.js.map +1 -0
- package/dist/auth/pkce.d.ts +46 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +57 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/providers/base.d.ts +52 -0
- package/dist/auth/providers/base.d.ts.map +1 -0
- package/dist/auth/providers/base.js +70 -0
- package/dist/auth/providers/base.js.map +1 -0
- package/dist/auth/providers/index.d.ts +23 -0
- package/dist/auth/providers/index.d.ts.map +1 -0
- package/dist/auth/providers/index.js +39 -0
- package/dist/auth/providers/index.js.map +1 -0
- package/dist/auth/providers/linear.d.ts +37 -0
- package/dist/auth/providers/linear.d.ts.map +1 -0
- package/dist/auth/providers/linear.js +46 -0
- package/dist/auth/providers/linear.js.map +1 -0
- package/dist/auth/providers/notion.d.ts +36 -0
- package/dist/auth/providers/notion.d.ts.map +1 -0
- package/dist/auth/providers/notion.js +75 -0
- package/dist/auth/providers/notion.js.map +1 -0
- package/dist/auth/providers/todoist.d.ts +29 -0
- package/dist/auth/providers/todoist.d.ts.map +1 -0
- package/dist/auth/providers/todoist.js +40 -0
- package/dist/auth/providers/todoist.js.map +1 -0
- package/dist/automation/git.d.ts +15 -0
- package/dist/automation/git.d.ts.map +1 -0
- package/dist/automation/git.js +73 -0
- package/dist/automation/git.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +192 -19
- package/dist/cli.js.map +1 -0
- package/dist/commands/auth.d.ts +14 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +243 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check.d.ts +12 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +124 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/config.d.ts +13 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +376 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/init.d.ts +31 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +353 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/integrations.d.ts +17 -0
- package/dist/commands/integrations.d.ts.map +1 -0
- package/dist/commands/integrations.js +193 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/plan.d.ts +5 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +80 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/run.d.ts +26 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +351 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scaffold.d.ts +9 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/scaffold.js +128 -0
- package/dist/commands/scaffold.js.map +1 -0
- package/dist/commands/setup.d.ts +12 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +27 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skill.d.ts +6 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +151 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/source.d.ts +17 -0
- package/dist/commands/source.d.ts.map +1 -0
- package/dist/commands/source.js +173 -0
- package/dist/commands/source.js.map +1 -0
- package/dist/config/manager.d.ts +70 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +227 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -2
- package/dist/index.js.map +1 -0
- package/dist/integrations/_template/auth.d.ts +29 -0
- package/dist/integrations/_template/auth.d.ts.map +1 -0
- package/dist/integrations/_template/auth.js +42 -0
- package/dist/integrations/_template/auth.js.map +1 -0
- package/dist/integrations/_template/index.d.ts +8 -0
- package/dist/integrations/_template/index.d.ts.map +1 -0
- package/dist/integrations/_template/index.js +8 -0
- package/dist/integrations/_template/index.js.map +1 -0
- package/dist/integrations/_template/source.d.ts +34 -0
- package/dist/integrations/_template/source.d.ts.map +1 -0
- package/dist/integrations/_template/source.js +124 -0
- package/dist/integrations/_template/source.js.map +1 -0
- package/dist/integrations/base.d.ts +158 -0
- package/dist/integrations/base.d.ts.map +1 -0
- package/dist/integrations/base.js +109 -0
- package/dist/integrations/base.js.map +1 -0
- package/dist/integrations/github/index.d.ts +8 -0
- package/dist/integrations/github/index.d.ts.map +1 -0
- package/dist/integrations/github/index.js +8 -0
- package/dist/integrations/github/index.js.map +1 -0
- package/dist/integrations/github/source.d.ts +26 -0
- package/dist/integrations/github/source.d.ts.map +1 -0
- package/dist/integrations/github/source.js +190 -0
- package/dist/integrations/github/source.js.map +1 -0
- package/dist/integrations/index.d.ts +37 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +71 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/linear/auth.d.ts +37 -0
- package/dist/integrations/linear/auth.d.ts.map +1 -0
- package/dist/integrations/linear/auth.js +45 -0
- package/dist/integrations/linear/auth.js.map +1 -0
- package/dist/integrations/linear/index.d.ts +9 -0
- package/dist/integrations/linear/index.d.ts.map +1 -0
- package/dist/integrations/linear/index.js +9 -0
- package/dist/integrations/linear/index.js.map +1 -0
- package/dist/integrations/linear/source.d.ts +26 -0
- package/dist/integrations/linear/source.d.ts.map +1 -0
- package/dist/integrations/linear/source.js +248 -0
- package/dist/integrations/linear/source.js.map +1 -0
- package/dist/integrations/notion/index.d.ts +8 -0
- package/dist/integrations/notion/index.d.ts.map +1 -0
- package/dist/integrations/notion/index.js +8 -0
- package/dist/integrations/notion/index.js.map +1 -0
- package/dist/integrations/notion/source.d.ts +53 -0
- package/dist/integrations/notion/source.d.ts.map +1 -0
- package/dist/integrations/notion/source.js +463 -0
- package/dist/integrations/notion/source.js.map +1 -0
- package/dist/llm/api.d.ts +29 -0
- package/dist/llm/api.d.ts.map +1 -0
- package/dist/llm/api.js +152 -0
- package/dist/llm/api.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/providers.d.ts +24 -0
- package/dist/llm/providers.d.ts.map +1 -0
- package/dist/llm/providers.js +51 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/loop/__tests__/agents.test.d.ts +2 -0
- package/dist/loop/__tests__/agents.test.d.ts.map +1 -0
- package/dist/loop/__tests__/agents.test.js +183 -0
- package/dist/loop/__tests__/agents.test.js.map +1 -0
- package/dist/loop/__tests__/circuit-breaker.test.d.ts +2 -0
- package/dist/loop/__tests__/circuit-breaker.test.d.ts.map +1 -0
- package/dist/loop/__tests__/circuit-breaker.test.js +161 -0
- package/dist/loop/__tests__/circuit-breaker.test.js.map +1 -0
- package/dist/loop/__tests__/cost-tracker.test.d.ts +2 -0
- package/dist/loop/__tests__/cost-tracker.test.d.ts.map +1 -0
- package/dist/loop/__tests__/cost-tracker.test.js +200 -0
- package/dist/loop/__tests__/cost-tracker.test.js.map +1 -0
- package/dist/loop/__tests__/rate-limiter.test.d.ts +2 -0
- package/dist/loop/__tests__/rate-limiter.test.d.ts.map +1 -0
- package/dist/loop/__tests__/rate-limiter.test.js +198 -0
- package/dist/loop/__tests__/rate-limiter.test.js.map +1 -0
- package/dist/loop/__tests__/validation.test.d.ts +2 -0
- package/dist/loop/__tests__/validation.test.d.ts.map +1 -0
- package/dist/loop/__tests__/validation.test.js +234 -0
- package/dist/loop/__tests__/validation.test.js.map +1 -0
- package/dist/loop/agents.d.ts +26 -0
- package/dist/loop/agents.d.ts.map +1 -0
- package/dist/loop/agents.js +188 -0
- package/dist/loop/agents.js.map +1 -0
- package/dist/loop/circuit-breaker.d.ts +61 -0
- package/dist/loop/circuit-breaker.d.ts.map +1 -0
- package/dist/loop/circuit-breaker.js +143 -0
- package/dist/loop/circuit-breaker.js.map +1 -0
- package/dist/loop/cost-tracker.d.ts +90 -0
- package/dist/loop/cost-tracker.d.ts.map +1 -0
- package/dist/loop/cost-tracker.js +229 -0
- package/dist/loop/cost-tracker.js.map +1 -0
- package/dist/loop/estimator.d.ts +20 -0
- package/dist/loop/estimator.d.ts.map +1 -0
- package/dist/loop/estimator.js +123 -0
- package/dist/loop/estimator.js.map +1 -0
- package/dist/loop/executor.d.ts +44 -0
- package/dist/loop/executor.d.ts.map +1 -0
- package/dist/loop/executor.js +646 -0
- package/dist/loop/executor.js.map +1 -0
- package/dist/loop/progress.d.ts +34 -0
- package/dist/loop/progress.d.ts.map +1 -0
- package/dist/loop/progress.js +186 -0
- package/dist/loop/progress.js.map +1 -0
- package/dist/loop/rate-limiter.d.ts +71 -0
- package/dist/loop/rate-limiter.d.ts.map +1 -0
- package/dist/loop/rate-limiter.js +151 -0
- package/dist/loop/rate-limiter.js.map +1 -0
- package/dist/loop/semantic-analyzer.d.ts +33 -0
- package/dist/loop/semantic-analyzer.d.ts.map +1 -0
- package/dist/loop/semantic-analyzer.js +153 -0
- package/dist/loop/semantic-analyzer.js.map +1 -0
- package/dist/loop/skills.d.ts +29 -0
- package/dist/loop/skills.d.ts.map +1 -0
- package/dist/loop/skills.js +174 -0
- package/dist/loop/skills.js.map +1 -0
- package/dist/loop/step-detector.d.ts +17 -0
- package/dist/loop/step-detector.d.ts.map +1 -0
- package/dist/loop/step-detector.js +280 -0
- package/dist/loop/step-detector.js.map +1 -0
- package/dist/loop/task-counter.d.ts +41 -0
- package/dist/loop/task-counter.d.ts.map +1 -0
- package/dist/loop/task-counter.js +99 -0
- package/dist/loop/task-counter.js.map +1 -0
- package/dist/loop/validation.d.ts +28 -0
- package/dist/loop/validation.d.ts.map +1 -0
- package/dist/loop/validation.js +138 -0
- package/dist/loop/validation.js.map +1 -0
- package/dist/mcp/core/init.d.ts +15 -0
- package/dist/mcp/core/init.d.ts.map +1 -0
- package/dist/mcp/core/init.js +272 -0
- package/dist/mcp/core/init.js.map +1 -0
- package/dist/mcp/core/plan.d.ts +15 -0
- package/dist/mcp/core/plan.d.ts.map +1 -0
- package/dist/mcp/core/plan.js +90 -0
- package/dist/mcp/core/plan.js.map +1 -0
- package/dist/mcp/core/run.d.ts +26 -0
- package/dist/mcp/core/run.d.ts.map +1 -0
- package/dist/mcp/core/run.js +114 -0
- package/dist/mcp/core/run.js.map +1 -0
- package/dist/mcp/prompts.d.ts +10 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +163 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +16 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +114 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +73 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +15 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +316 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/presets/index.d.ts +36 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +236 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/setup/agent-detector.d.ts +57 -0
- package/dist/setup/agent-detector.d.ts.map +1 -0
- package/dist/setup/agent-detector.js +170 -0
- package/dist/setup/agent-detector.js.map +1 -0
- package/dist/setup/index.d.ts +7 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +7 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/llm-tester.d.ts +33 -0
- package/dist/setup/llm-tester.d.ts.map +1 -0
- package/dist/setup/llm-tester.js +105 -0
- package/dist/setup/llm-tester.js.map +1 -0
- package/dist/setup/wizard.d.ts +19 -0
- package/dist/setup/wizard.d.ts.map +1 -0
- package/dist/setup/wizard.js +313 -0
- package/dist/setup/wizard.js.map +1 -0
- package/dist/sources/__tests__/file.test.d.ts +2 -0
- package/dist/sources/__tests__/file.test.d.ts.map +1 -0
- package/dist/sources/__tests__/file.test.js +126 -0
- package/dist/sources/__tests__/file.test.js.map +1 -0
- package/dist/sources/__tests__/github.test.d.ts +2 -0
- package/dist/sources/__tests__/github.test.d.ts.map +1 -0
- package/dist/sources/__tests__/github.test.js +157 -0
- package/dist/sources/__tests__/github.test.js.map +1 -0
- package/dist/sources/base.d.ts +72 -0
- package/dist/sources/base.d.ts.map +1 -0
- package/dist/sources/base.js +127 -0
- package/dist/sources/base.js.map +1 -0
- package/dist/sources/builtin/file.d.ts +21 -0
- package/dist/sources/builtin/file.d.ts.map +1 -0
- package/dist/sources/builtin/file.js +129 -0
- package/dist/sources/builtin/file.js.map +1 -0
- package/dist/sources/builtin/github-scraper.d.ts +65 -0
- package/dist/sources/builtin/github-scraper.d.ts.map +1 -0
- package/dist/sources/builtin/github-scraper.js +324 -0
- package/dist/sources/builtin/github-scraper.js.map +1 -0
- package/dist/sources/builtin/pdf.d.ts +24 -0
- package/dist/sources/builtin/pdf.d.ts.map +1 -0
- package/dist/sources/builtin/pdf.js +174 -0
- package/dist/sources/builtin/pdf.js.map +1 -0
- package/dist/sources/builtin/url.d.ts +47 -0
- package/dist/sources/builtin/url.d.ts.map +1 -0
- package/dist/sources/builtin/url.js +429 -0
- package/dist/sources/builtin/url.js.map +1 -0
- package/dist/sources/config.d.ts +72 -0
- package/dist/sources/config.d.ts.map +1 -0
- package/dist/sources/config.js +215 -0
- package/dist/sources/config.js.map +1 -0
- package/dist/sources/index.d.ts +47 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +210 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/integrations/github.d.ts +24 -0
- package/dist/sources/integrations/github.d.ts.map +1 -0
- package/dist/sources/integrations/github.js +193 -0
- package/dist/sources/integrations/github.js.map +1 -0
- package/dist/sources/integrations/linear.d.ts +18 -0
- package/dist/sources/integrations/linear.d.ts.map +1 -0
- package/dist/sources/integrations/linear.js +197 -0
- package/dist/sources/integrations/linear.js.map +1 -0
- package/dist/sources/integrations/notion.d.ts +39 -0
- package/dist/sources/integrations/notion.d.ts.map +1 -0
- package/dist/sources/integrations/notion.js +343 -0
- package/dist/sources/integrations/notion.js.map +1 -0
- package/dist/sources/integrations/todoist.d.ts +18 -0
- package/dist/sources/integrations/todoist.d.ts.map +1 -0
- package/dist/sources/integrations/todoist.js +154 -0
- package/dist/sources/integrations/todoist.js.map +1 -0
- package/dist/sources/types.d.ts +106 -0
- package/dist/sources/types.d.ts.map +1 -0
- package/dist/sources/types.js +9 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/progress-renderer.d.ts +54 -0
- package/dist/ui/progress-renderer.d.ts.map +1 -0
- package/dist/ui/progress-renderer.js +118 -0
- package/dist/ui/progress-renderer.js.map +1 -0
- package/dist/ui/shimmer.d.ts +16 -0
- package/dist/ui/shimmer.d.ts.map +1 -0
- package/dist/ui/shimmer.js +31 -0
- package/dist/ui/shimmer.js.map +1 -0
- package/dist/wizard/ascii-art.d.ts +93 -0
- package/dist/wizard/ascii-art.d.ts.map +1 -0
- package/dist/wizard/ascii-art.js +378 -0
- package/dist/wizard/ascii-art.js.map +1 -0
- package/dist/wizard/idea-prompts.d.ts +18 -0
- package/dist/wizard/idea-prompts.d.ts.map +1 -0
- package/dist/wizard/idea-prompts.js +154 -0
- package/dist/wizard/idea-prompts.js.map +1 -0
- package/dist/wizard/idea-ui.d.ts +34 -0
- package/dist/wizard/idea-ui.d.ts.map +1 -0
- package/dist/wizard/idea-ui.js +225 -0
- package/dist/wizard/idea-ui.js.map +1 -0
- package/dist/wizard/ideas.d.ts +27 -0
- package/dist/wizard/ideas.d.ts.map +1 -0
- package/dist/wizard/ideas.js +511 -0
- package/dist/wizard/ideas.js.map +1 -0
- package/dist/wizard/index.d.ts +11 -0
- package/dist/wizard/index.d.ts.map +1 -0
- package/dist/wizard/index.js +472 -0
- package/dist/wizard/index.js.map +1 -0
- package/dist/wizard/llm.d.ts +14 -0
- package/dist/wizard/llm.d.ts.map +1 -0
- package/dist/wizard/llm.js +420 -0
- package/dist/wizard/llm.js.map +1 -0
- package/dist/wizard/prompts.d.ts +75 -0
- package/dist/wizard/prompts.d.ts.map +1 -0
- package/dist/wizard/prompts.js +455 -0
- package/dist/wizard/prompts.js.map +1 -0
- package/dist/wizard/spec-generator.d.ts +14 -0
- package/dist/wizard/spec-generator.d.ts.map +1 -0
- package/dist/wizard/spec-generator.js +200 -0
- package/dist/wizard/spec-generator.js.map +1 -0
- package/dist/wizard/types.d.ts +53 -0
- package/dist/wizard/types.d.ts.map +1 -0
- package/dist/wizard/types.js +10 -0
- package/dist/wizard/types.js.map +1 -0
- package/dist/wizard/ui.d.ts +57 -0
- package/dist/wizard/ui.d.ts.map +1 -0
- package/dist/wizard/ui.js +211 -0
- package/dist/wizard/ui.js.map +1 -0
- package/package.json +59 -8
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
/**
|
|
3
|
+
* Ralph Wiggum ASCII art for terminal display
|
|
4
|
+
*/
|
|
5
|
+
// ASCII text banner for ralph-starter
|
|
6
|
+
export const RALPH_STARTER_BANNER = `
|
|
7
|
+
${chalk.cyan('██████ █████ ██ ██████ ██ ██')}
|
|
8
|
+
${chalk.cyan('██ ██ ██ ██ ██ ██ ██ ██ ██')}
|
|
9
|
+
${chalk.cyan('██████ ███████ ██ ██████ ███████')}
|
|
10
|
+
${chalk.cyan('██ ██ ██ ██ ██ ██ ██ ██')}
|
|
11
|
+
${chalk.cyan('██ ██ ██ ██ ███████ ██ ██ ██')}
|
|
12
|
+
|
|
13
|
+
${chalk.yellow('███████ ████████ █████ ██████ ████████ ███████ ██████')}
|
|
14
|
+
${chalk.yellow('██ ██ ██ ██ ██ ██ ██ ██ ██ ██')}
|
|
15
|
+
${chalk.yellow('███████ ██ ███████ ██████ ██ █████ ██████')}
|
|
16
|
+
${chalk.yellow(' ██ ██ ██ ██ ██ ██ ██ ██ ██ ██')}
|
|
17
|
+
${chalk.yellow('███████ ██ ██ ██ ██ ██ ██ ███████ ██ ██')}
|
|
18
|
+
`;
|
|
19
|
+
// Full Ralph Wiggum ASCII art - detailed version for welcome screen
|
|
20
|
+
export const RALPH_FULL = chalk.yellow(`
|
|
21
|
+
ˆ 5
|
|
22
|
+
|
|
23
|
+
ÀÀ À ŸÀv Àv ÀÀv
|
|
24
|
+
À FÀÀ ÀÀÀ ÀÀÀv ÀÀ ÀÀÀ
|
|
25
|
+
w ÀÀ ÀÀv ÀÀÀ ÀÀêÀÀ vÀÀ vÀÀÀ À
|
|
26
|
+
Àv vÀÀÀ ÎÀÀ ÀÀÀÀ ÀÀêêÀÀ ÀÀÀ ÀÀÀ vÀ
|
|
27
|
+
X ÀÀ ÀÀÀÀÀ ÀÀÀ ÀÀÀÀ ÀÀêêêRÀ vÀÀÀ vÀÀÀ ÀÀ
|
|
28
|
+
ÆÆ ÀÀ ÀÀÀÀv ÀÀÀ ÀÀêÀÀ ÀÀÀÀÀÀÀÀ vÀÐÀÀ vÀÀÀ~ ÀÀ
|
|
29
|
+
ò ÆÆ ÀÀ ÀÀ: vÀÀÀÀŽÀÀÀÀÀêêÀÀÀÀÀŽvvüÀÀÀÀÀÀêêÀÀ ÀÀÀÀ— ÀÀ‚
|
|
30
|
+
ÆÆÆÆ ƒÀÀÀ– ÀÀÀêêêêêÀÀÀ ÀÀÀêŽÀÀ ÀŽÀÀ vÀÀv
|
|
31
|
+
vÀÀÀ ÆÆÆÆÆÆÆÆÆ ÀÀêêêêÀÀv ÆÆÆÆÆÆÆÆÆ vÀÀêÀÀ ÀÀêÀÀ 3ÀÀ\` ì
|
|
32
|
+
ÀÀÀ ÆÆÆÆÆÆÆÆÆÆÆ ÀÀêêÐÀÀ ÆÆÆÆÆÆÆÆÆÆÆ µÀÀêÀ" ÀêXÀÀ ÀÀÀ Æ
|
|
33
|
+
ÀÀÀ ÆÆÆÆÆ ÆÆÆÆÆ vÀêêÐÀ ÆÆÆÆÆ ÆÆÆÆÆ ÀÀêÀÀ vÀêÐHÀ ÀÀÀ Æ
|
|
34
|
+
ÀÀÀ ÆÆÆÆÆ ÆÆÆÆÆ vÀêêÐÀ ÆÆÆÆÆÆÆÆÆÆÆÆÆ vÀêKÀÀÀÀêêÐÀÀvßÀgÀv ÆÆ
|
|
35
|
+
ÀŽÀ ÆÆÆÆÆÆÆÆÆÆÆÆ ÀÀÀêêÀv ÆÆÆÆÆÆÆÆÆÆÆÆ ÀÀêêêêêêêêÐXÀÀÀÀêÀÀ Æ
|
|
36
|
+
ÀÀÀÀ ÆÆÆÆÆÆ¥ ÀÀêêÀÀf ÆÆÆÆÆÆÆÆ ÀÀgêêêêêêêêêêêêêêêÀÀ ÆÆ
|
|
37
|
+
ÀÀÐÀÀ% ÀÀÀÀ ÀêêêÀÀÀÀ ÀÀÀgêêêêêêêêêêêÀÀÀÀÀÀÀ ÆÆ
|
|
38
|
+
ÀÐêÀÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀÀêêêêÐÀÀÀÀÀÀÀÀÀÀÀÀÀKêêêêêêêêêêêŽÀÀ3
|
|
39
|
+
vÀÐêêêêRÀÀÀÀ ÀÀÀvÀÀêêêêêêêêêÐÀÀÀÀÀKêêÐÀÀÀÀÐêêêêêêêRÀ •ÀÀÀÀÀ
|
|
40
|
+
ÀÀÀêêêêêêêêêÀÀÀ IÀêêêêêêêêêêêêêêêêêêXÀvvÀÀXêêêêêêRÀvÀÀÐ vÀÀ
|
|
41
|
+
ÀÀÀÐêÀÀÀÀÀÀÀRêêÀÀÀÀÀÀÀÀÀêêêêêêêêêêêêêÀÀÀÀÀÀv ÀÀêêêêêêÐÀÀÀ† ÀÀ
|
|
42
|
+
vÀÀÀÀÀv vÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀv ÀêêêêêêêgÀÀÀÀÀÀÀÀ
|
|
43
|
+
ÀÀÀÀÀÀ ÙÀÀÀ ÖÀêêêêêêêgÀ vÀÀ*
|
|
44
|
+
ÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀ êÀÀÀÀêêêêêêêgÀ
|
|
45
|
+
ÀêêêÐXXÐÐXXÐêêêêêêêêêêêêêêêêêêêêêêêêêÀÀÀ
|
|
46
|
+
ÀêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêKÀÀÀv
|
|
47
|
+
ÀêêêêêêêêêêêêêêêÀÀÀÀÀÀœÐêêêêêêêêÀÀÀÀÀÀ
|
|
48
|
+
ÀêêêêêêêêêêêêêÀÀÀÀKÀÀÀÀÀÀÀÀÀÀÀÀÀÀÀv ³³³
|
|
49
|
+
³³³³© ÀêêêêêêêêêêМÀÀv ³³³³';³
|
|
50
|
+
³³'³ h ÀÐêêêêêêêêêÀÀÀ ³³³³³³³³³³³³³³³³³³³¹‚˜˜‚³³³
|
|
51
|
+
³³;˜ˆ³´ ÀÀêêêêêêÐÀÀÀ´ ³³³³³³'˜˜˜˜˜˜˜˜˜˜˜˜˜˜'–³³³
|
|
52
|
+
³‚ˆˆˆ'³³ vÀÀKêêêÀÀÀv ¤³³˜ ³³³˜˜˜˜˜˜˜˜˜'³³³³
|
|
53
|
+
[³³³³³³³³I7 ÀÀÀÀÀÀG Ì ³³³˜˜'²³³³³¹
|
|
54
|
+
³ 1ÀÀ ³³³³³
|
|
55
|
+
|
|
56
|
+
`);
|
|
57
|
+
// Welcome Ralph (head only) - shown at startup
|
|
58
|
+
export const RALPH_WELCOME = `
|
|
59
|
+
${chalk.yellow(' ╭──────────────╮')}
|
|
60
|
+
${chalk.yellow(' ╱')}${chalk.yellow(' ┌─┐ ┌─┐')}${chalk.yellow(' ╲')}
|
|
61
|
+
${chalk.yellow(' │')}${chalk.cyan(' ◉')}${chalk.yellow(' ')}${chalk.cyan('◉')}${chalk.yellow(' │')}
|
|
62
|
+
${chalk.yellow(' │')}${chalk.yellow(' ◡')}${chalk.yellow(' │')}
|
|
63
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╰───╯')}${chalk.yellow(' │')}
|
|
64
|
+
${chalk.yellow(' ╲')}${chalk.blue(' ▄▄▄▄▄')}${chalk.yellow(' ╱')}
|
|
65
|
+
${chalk.blue(' ▀▀▀▀▀▀▀')}
|
|
66
|
+
`;
|
|
67
|
+
// Simpler welcome for smaller terminals
|
|
68
|
+
export const RALPH_WELCOME_SMALL = `
|
|
69
|
+
${chalk.yellow(' ╭─────────╮')}
|
|
70
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│')}
|
|
71
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('│')}
|
|
72
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}
|
|
73
|
+
`;
|
|
74
|
+
// Working Ralph (waving) - shown during processing
|
|
75
|
+
export const RALPH_WORKING = `
|
|
76
|
+
${chalk.yellow(' ╭──────────────╮')}
|
|
77
|
+
${chalk.yellow(' ╱')}${chalk.yellow(' ┌─┐ ┌─┐')}${chalk.yellow(' ╲')} ${chalk.yellow('o')}
|
|
78
|
+
${chalk.yellow(' │')}${chalk.cyan(' ◉')}${chalk.yellow(' ')}${chalk.cyan('◉')}${chalk.yellow(' │')} ${chalk.yellow('/')}
|
|
79
|
+
${chalk.yellow(' │')}${chalk.yellow(' ◡')}${chalk.yellow(' │')}${chalk.yellow('╱')}
|
|
80
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╰───╯')}${chalk.yellow(' ├──')}${chalk.gray('┐')}
|
|
81
|
+
${chalk.yellow(' ╲')}${chalk.blue(' ▄▄▄▄▄')}${chalk.yellow(' ╱')} ${chalk.gray('│')}
|
|
82
|
+
${chalk.blue(' ▀▀▀▀▀▀▀')} ${chalk.gray('│')}
|
|
83
|
+
${chalk.gray(' │ │')} ${chalk.gray('│')}
|
|
84
|
+
${chalk.gray(' ═╧═╧═')}
|
|
85
|
+
`;
|
|
86
|
+
// Working Ralph small version
|
|
87
|
+
export const RALPH_WORKING_SMALL = `
|
|
88
|
+
${chalk.yellow(' ╭─────────╮')} ${chalk.yellow('o')}
|
|
89
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│')}${chalk.yellow('/')}
|
|
90
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('├─')}
|
|
91
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}
|
|
92
|
+
`;
|
|
93
|
+
// Success Ralph (happy)
|
|
94
|
+
export const RALPH_SUCCESS = `
|
|
95
|
+
${chalk.yellow(' ╭──────────────╮')}
|
|
96
|
+
${chalk.yellow(' ╱')}${chalk.yellow(' ┌─┐ ┌─┐')}${chalk.yellow(' ╲')}
|
|
97
|
+
${chalk.yellow(' │')}${chalk.green(' ★')}${chalk.yellow(' ')}${chalk.green('★')}${chalk.yellow(' │')}
|
|
98
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╰‿╯')}${chalk.yellow(' │')}
|
|
99
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╰───╯')}${chalk.yellow(' │')}
|
|
100
|
+
${chalk.yellow(' ╲')}${chalk.blue(' ▄▄▄▄▄')}${chalk.yellow(' ╱')}
|
|
101
|
+
${chalk.blue(' ▀▀▀▀▀▀▀')}
|
|
102
|
+
`;
|
|
103
|
+
// Error Ralph (sad)
|
|
104
|
+
export const RALPH_ERROR = `
|
|
105
|
+
${chalk.yellow(' ╭──────────────╮')}
|
|
106
|
+
${chalk.yellow(' ╱')}${chalk.yellow(' ┌─┐ ┌─┐')}${chalk.yellow(' ╲')}
|
|
107
|
+
${chalk.yellow(' │')}${chalk.red(' ◉')}${chalk.yellow(' ')}${chalk.red('◉')}${chalk.yellow(' │')}
|
|
108
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╭─╮')}${chalk.yellow(' │')}
|
|
109
|
+
${chalk.yellow(' │')}${chalk.yellow(' ╰───╯')}${chalk.yellow(' │')}
|
|
110
|
+
${chalk.yellow(' ╲')}${chalk.blue(' ▄▄▄▄▄')}${chalk.yellow(' ╱')}
|
|
111
|
+
${chalk.blue(' ▀▀▀▀▀▀▀')}
|
|
112
|
+
`;
|
|
113
|
+
// Thinking Ralph (dots animate)
|
|
114
|
+
export function getRalphThinking(frame) {
|
|
115
|
+
const dots = ['. ', '.. ', '...', ' '][frame % 4];
|
|
116
|
+
return `
|
|
117
|
+
${chalk.yellow(' ╭─────────╮')} ${chalk.dim(dots)}
|
|
118
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│')}
|
|
119
|
+
${chalk.yellow(' │')} ${chalk.yellow('───')} ${chalk.yellow('│')}
|
|
120
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
// Loading animation frames
|
|
124
|
+
export const RALPH_LOADING_FRAMES = [
|
|
125
|
+
// Frame 1 - hand down
|
|
126
|
+
`${chalk.yellow(' ╭─────────╮')}
|
|
127
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│')}
|
|
128
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('│')}
|
|
129
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}`,
|
|
130
|
+
// Frame 2 - hand up
|
|
131
|
+
`${chalk.yellow(' ╭─────────╮')} ${chalk.yellow('o')}
|
|
132
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│/')}
|
|
133
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('│')}
|
|
134
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}`,
|
|
135
|
+
// Frame 3 - hand wave
|
|
136
|
+
`${chalk.yellow(' ╭─────────╮')} ${chalk.yellow('o')}
|
|
137
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│─')}
|
|
138
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('│')}
|
|
139
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}`,
|
|
140
|
+
// Frame 4 - hand up again
|
|
141
|
+
`${chalk.yellow(' ╭─────────╮')} ${chalk.yellow('o')}
|
|
142
|
+
${chalk.yellow(' │')} ${chalk.cyan('◉')} ${chalk.cyan('◉')} ${chalk.yellow('│/')}
|
|
143
|
+
${chalk.yellow(' │')} ${chalk.yellow('‿‿‿')} ${chalk.yellow('│')}
|
|
144
|
+
${chalk.yellow(' ╰')}${chalk.blue('─▄▄▄▄─')}${chalk.yellow('╯')}`,
|
|
145
|
+
];
|
|
146
|
+
/**
|
|
147
|
+
* Get a loading frame for animation
|
|
148
|
+
*/
|
|
149
|
+
export function getRalphLoadingFrame(frame) {
|
|
150
|
+
return RALPH_LOADING_FRAMES[frame % RALPH_LOADING_FRAMES.length];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Print Ralph with a message
|
|
154
|
+
*/
|
|
155
|
+
export function printRalphWithMessage(art, message) {
|
|
156
|
+
const lines = art.split('\n').filter((l) => l);
|
|
157
|
+
const messageLines = message.split('\n');
|
|
158
|
+
console.log();
|
|
159
|
+
lines.forEach((line, i) => {
|
|
160
|
+
const msg = messageLines[i] || '';
|
|
161
|
+
console.log(` ${line} ${msg}`);
|
|
162
|
+
});
|
|
163
|
+
console.log();
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Show the full welcome with banner and Ralph
|
|
167
|
+
*/
|
|
168
|
+
export function showFullWelcome() {
|
|
169
|
+
console.log(RALPH_STARTER_BANNER);
|
|
170
|
+
console.log(RALPH_FULL);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Ralph quotes for fun
|
|
174
|
+
*/
|
|
175
|
+
export const RALPH_QUOTES = [
|
|
176
|
+
"Hi, I'm helping!",
|
|
177
|
+
"Me fail English? That's unpossible!",
|
|
178
|
+
"I'm learnding!",
|
|
179
|
+
"My cat's breath smells like cat food.",
|
|
180
|
+
'I bent my wookiee.',
|
|
181
|
+
"I'm a unitard!",
|
|
182
|
+
'When I grow up, I want to be a principal or a caterpillar.',
|
|
183
|
+
'I found a moon rock in my nose!',
|
|
184
|
+
];
|
|
185
|
+
export function getRandomRalphQuote() {
|
|
186
|
+
return RALPH_QUOTES[Math.floor(Math.random() * RALPH_QUOTES.length)];
|
|
187
|
+
}
|
|
188
|
+
// ═══════════════════════════════════════════════════════════════
|
|
189
|
+
// GRADIENT LOADING ANIMATION - Cool gradient fill on Ralph
|
|
190
|
+
// ═══════════════════════════════════════════════════════════════
|
|
191
|
+
// Custom gradient presets
|
|
192
|
+
const _GRADIENT_PRESETS = [
|
|
193
|
+
['#FF6B6B', '#4ECDC4'], // Coral to Teal
|
|
194
|
+
['#A770EF', '#CF8BF3', '#FDB99B'], // Purple to peach
|
|
195
|
+
['#00C9FF', '#92FE9D'], // Blue to green
|
|
196
|
+
['#FC466B', '#3F5EFB'], // Pink to blue
|
|
197
|
+
['#f953c6', '#b91d73'], // Pink gradient
|
|
198
|
+
['#4776E6', '#8E54E9'], // Blue to purple
|
|
199
|
+
['#00d2ff', '#3a7bd5'], // Light blue
|
|
200
|
+
['#f79d00', '#64f38c'], // Orange to green
|
|
201
|
+
];
|
|
202
|
+
// Spinner frames (dots style like Claude CLI)
|
|
203
|
+
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
204
|
+
// Shimmer colors for the pulse effect
|
|
205
|
+
const SHIMMER_COLORS = [
|
|
206
|
+
'#6B7280', // gray-500
|
|
207
|
+
'#9CA3AF', // gray-400
|
|
208
|
+
'#D1D5DB', // gray-300
|
|
209
|
+
'#F3F4F6', // gray-100
|
|
210
|
+
'#FFFFFF', // white (peak)
|
|
211
|
+
'#F3F4F6', // gray-100
|
|
212
|
+
'#D1D5DB', // gray-300
|
|
213
|
+
'#9CA3AF', // gray-400
|
|
214
|
+
'#6B7280', // gray-500
|
|
215
|
+
];
|
|
216
|
+
/**
|
|
217
|
+
* Modern loading display with shimmer text animation
|
|
218
|
+
* Similar to Claude CLI / Cursor style
|
|
219
|
+
* Uses single-line updates with carriage return for better terminal compatibility
|
|
220
|
+
*/
|
|
221
|
+
export class RalphAnimator {
|
|
222
|
+
frame = 0;
|
|
223
|
+
interval = null;
|
|
224
|
+
startTime = Date.now();
|
|
225
|
+
currentMessage = '';
|
|
226
|
+
outputLines = [];
|
|
227
|
+
maxOutputLines = 3;
|
|
228
|
+
shimmerOffset = 0;
|
|
229
|
+
/**
|
|
230
|
+
* Start the loading animation
|
|
231
|
+
*/
|
|
232
|
+
start(message = 'Thinking...') {
|
|
233
|
+
this.currentMessage = message;
|
|
234
|
+
this.startTime = Date.now();
|
|
235
|
+
this.frame = 0;
|
|
236
|
+
this.shimmerOffset = 0;
|
|
237
|
+
this.outputLines = [];
|
|
238
|
+
// Hide cursor
|
|
239
|
+
process.stdout.write('\x1B[?25l');
|
|
240
|
+
// Initial render
|
|
241
|
+
this.render();
|
|
242
|
+
// Main animation loop
|
|
243
|
+
this.interval = setInterval(() => {
|
|
244
|
+
this.frame++;
|
|
245
|
+
// Shimmer moves across text (cycle through message length + some buffer)
|
|
246
|
+
const textLen = this.currentMessage.length + 10;
|
|
247
|
+
this.shimmerOffset = (this.shimmerOffset + 1) % textLen;
|
|
248
|
+
this.render();
|
|
249
|
+
}, 80);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Stop the animation
|
|
253
|
+
*/
|
|
254
|
+
stop(finalMessage) {
|
|
255
|
+
if (this.interval) {
|
|
256
|
+
clearInterval(this.interval);
|
|
257
|
+
this.interval = null;
|
|
258
|
+
}
|
|
259
|
+
// Clear the current line
|
|
260
|
+
process.stdout.write('\r\x1B[K');
|
|
261
|
+
// Show cursor
|
|
262
|
+
process.stdout.write('\x1B[?25h');
|
|
263
|
+
if (finalMessage) {
|
|
264
|
+
console.log(finalMessage);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Add output line (from streaming) - silently collected, not displayed
|
|
269
|
+
*/
|
|
270
|
+
addOutput(line) {
|
|
271
|
+
const cleaned = line.trim();
|
|
272
|
+
if (cleaned && cleaned.length > 5) {
|
|
273
|
+
this.outputLines.push(cleaned);
|
|
274
|
+
if (this.outputLines.length > this.maxOutputLines) {
|
|
275
|
+
this.outputLines.shift();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Update the current message
|
|
281
|
+
*/
|
|
282
|
+
updateMessage(message) {
|
|
283
|
+
this.currentMessage = message;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Render single-line status with carriage return (more compatible)
|
|
287
|
+
*/
|
|
288
|
+
render() {
|
|
289
|
+
const spinner = SPINNER_FRAMES[this.frame % SPINNER_FRAMES.length];
|
|
290
|
+
const elapsed = Math.floor((Date.now() - this.startTime) / 1000);
|
|
291
|
+
const timeStr = elapsed > 0 ? ` ${elapsed}s` : '';
|
|
292
|
+
// Apply shimmer effect to message
|
|
293
|
+
const shimmerText = this.applyShimmer(this.currentMessage);
|
|
294
|
+
// Build single line output
|
|
295
|
+
const line = ` ${chalk.cyan(spinner)} ${shimmerText}${chalk.dim(timeStr)}`;
|
|
296
|
+
// Clear line and write new content using carriage return
|
|
297
|
+
// \r moves cursor to start of line, \x1B[K clears to end of line
|
|
298
|
+
process.stdout.write(`\r\x1B[K${line}`);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Apply shimmer/pulse effect - a bright spot moves across the text
|
|
302
|
+
*/
|
|
303
|
+
applyShimmer(text) {
|
|
304
|
+
const chars = [...text];
|
|
305
|
+
const shimmerWidth = 5; // Width of the bright spot
|
|
306
|
+
const shimmerCenter = this.shimmerOffset;
|
|
307
|
+
let result = '';
|
|
308
|
+
for (let i = 0; i < chars.length; i++) {
|
|
309
|
+
const distance = Math.abs(i - shimmerCenter);
|
|
310
|
+
if (distance < shimmerWidth) {
|
|
311
|
+
// Near the shimmer - use brighter color
|
|
312
|
+
const intensity = 1 - distance / shimmerWidth;
|
|
313
|
+
const colorIndex = Math.floor(intensity * (SHIMMER_COLORS.length - 1));
|
|
314
|
+
result += chalk.hex(SHIMMER_COLORS[colorIndex])(chars[i]);
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
// Base color - dim
|
|
318
|
+
result += chalk.gray(chars[i]);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return result;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Create a progress bar string
|
|
326
|
+
*/
|
|
327
|
+
export function createProgressBar(progress, width = 20) {
|
|
328
|
+
const filled = Math.round(progress * width);
|
|
329
|
+
const empty = Math.max(0, width - filled);
|
|
330
|
+
return (chalk.cyan('[') +
|
|
331
|
+
chalk.cyan('━').repeat(filled) +
|
|
332
|
+
chalk.dim('─').repeat(empty) +
|
|
333
|
+
chalk.cyan(']') +
|
|
334
|
+
` ${Math.round(progress * 100)}%`);
|
|
335
|
+
}
|
|
336
|
+
// Keep these for backwards compatibility but they're not really used now
|
|
337
|
+
export const RALPH_WALK_FRAMES = [''];
|
|
338
|
+
export const RALPH_WALK_WITH_HAND = [''];
|
|
339
|
+
export function showWalkingRalph(_message, _elapsed) { }
|
|
340
|
+
/**
|
|
341
|
+
* Compact banner - Simple header without large ASCII text
|
|
342
|
+
* Just shows Ralph head + text description
|
|
343
|
+
*/
|
|
344
|
+
export function showCompactBanner() {
|
|
345
|
+
console.log();
|
|
346
|
+
console.log(RALPH_WELCOME_SMALL);
|
|
347
|
+
console.log(chalk.cyan.bold(' ralph-starter'));
|
|
348
|
+
console.log(chalk.dim(' AI-powered project generator'));
|
|
349
|
+
console.log();
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Mini header - Just text, no art
|
|
353
|
+
*/
|
|
354
|
+
export function showMiniHeader() {
|
|
355
|
+
console.log();
|
|
356
|
+
console.log(chalk.cyan.bold(' ralph-starter'));
|
|
357
|
+
console.log(chalk.dim(' AI-powered project generator'));
|
|
358
|
+
console.log();
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Show success with Ralph
|
|
362
|
+
*/
|
|
363
|
+
export function showRalphSuccess(message) {
|
|
364
|
+
console.log();
|
|
365
|
+
console.log(RALPH_WELCOME_SMALL);
|
|
366
|
+
console.log(chalk.green.bold(` ${message}`));
|
|
367
|
+
console.log();
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Show error with Ralph
|
|
371
|
+
*/
|
|
372
|
+
export function showRalphError(message) {
|
|
373
|
+
console.log();
|
|
374
|
+
console.log(RALPH_ERROR);
|
|
375
|
+
console.log(chalk.red.bold(` ${message}`));
|
|
376
|
+
console.log();
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=ascii-art.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-art.js","sourceRoot":"","sources":["../../src/wizard/ascii-art.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get brainstorm prompt with randomness seed
|
|
3
|
+
*/
|
|
4
|
+
export declare function getBrainstormPrompt(): string;
|
|
5
|
+
export declare const BRAINSTORM_PROMPT: string;
|
|
6
|
+
/**
|
|
7
|
+
* Prompt for trend-based ideas (2025-2026 tech trends)
|
|
8
|
+
*/
|
|
9
|
+
export declare const TREND_PROMPT = "You are a tech trends analyst helping developers find relevant project ideas.\n\nGenerate 5 project ideas based on current 2025-2026 technology trends:\n- AI/LLM integrations and tooling (agents, RAG, fine-tuning pipelines)\n- Local-first and privacy-focused apps (CRDTs, offline-first, E2E encryption)\n- Developer productivity tools (code analysis, automation, workflows)\n- Sustainable/green tech applications (carbon tracking, optimization)\n- Accessibility and inclusive design (screen readers, voice interfaces)\n\nCRITICAL: Include a MIX of difficulties - at least 2 should be \"challenging\"\n\nReturn ONLY valid JSON (no markdown, no explanation) in this exact format:\n{\n \"ideas\": [\n {\n \"title\": \"Project Title\",\n \"description\": \"One compelling sentence about what it does and why it's relevant now\",\n \"projectType\": \"web|api|cli|mobile|library|automation\",\n \"difficulty\": \"easy|moderate|challenging\",\n \"reasons\": [\"Why this trend matters\", \"What makes it timely\"]\n }\n ]\n}\n\nGuidelines:\n- Connect ideas to specific current trends with DEPTH (not surface-level)\n- For \"challenging\" projects: think multi-agent systems, real-time sync, complex pipelines\n- Include ideas that would make impressive portfolio pieces or open-source contributions\n- Focus on practical applications that solve HARD problems\n- Explain why NOW is the right time to build this\n- AVOID trivial wrappers or simple CRUD apps - those aren't trendy, they're boring";
|
|
10
|
+
/**
|
|
11
|
+
* Prompt for skill-based personalized ideas
|
|
12
|
+
*/
|
|
13
|
+
export declare const SKILL_PROMPT = "You are a career advisor helping a developer leverage their skills.\n\nThe developer has these skills/interests: {SKILLS}\n\nGenerate 5 project ideas that:\n- Build on their existing skills\n- Help them learn adjacent technologies\n- Could potentially become portfolio pieces or side projects\n\nReturn ONLY valid JSON (no markdown, no explanation) in this exact format:\n{\n \"ideas\": [\n {\n \"title\": \"Project Title\",\n \"description\": \"One sentence about what it does and how it uses their skills\",\n \"projectType\": \"web|api|cli|mobile|library|automation\",\n \"difficulty\": \"easy|moderate|challenging\",\n \"reasons\": [\"How it leverages their skills\", \"What new skills they'll learn\"]\n }\n ]\n}\n\nGuidelines:\n- Match at least some of their existing skills\n- Introduce one new concept per idea\n- Consider portfolio value\n- Balance challenge with achievability";
|
|
14
|
+
/**
|
|
15
|
+
* Prompt for problem-solving ideas
|
|
16
|
+
*/
|
|
17
|
+
export declare const PROBLEM_PROMPT = "You are a problem-solving consultant helping a developer address a pain point.\n\nThe developer described this problem or frustration: \"{PROBLEM}\"\n\nGenerate 5 project ideas that could solve or alleviate this problem.\nThink creatively about different approaches - tools, automations, apps.\n\nReturn ONLY valid JSON (no markdown, no explanation) in this exact format:\n{\n \"ideas\": [\n {\n \"title\": \"Project Title\",\n \"description\": \"One sentence about how it solves the problem\",\n \"projectType\": \"web|api|cli|mobile|library|automation\",\n \"difficulty\": \"easy|moderate|challenging\",\n \"reasons\": [\"How it addresses the pain point\", \"Why this approach works\"]\n }\n ]\n}\n\nGuidelines:\n- Focus on the root cause, not just symptoms\n- Offer different levels of solutions (quick fix vs comprehensive)\n- Consider automation and tooling first\n- Make solutions practical and buildable";
|
|
18
|
+
//# sourceMappingURL=idea-prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idea-prompts.d.ts","sourceRoot":"","sources":["../../src/wizard/idea-prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuD5C;AAGD,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY,m/CA8B0D,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,YAAY,45BA0Bc,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,cAAc,o7BAwBc,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// LLM prompts for idea brainstorming
|
|
2
|
+
/**
|
|
3
|
+
* Get brainstorm prompt with randomness seed
|
|
4
|
+
*/
|
|
5
|
+
export function getBrainstormPrompt() {
|
|
6
|
+
const seed = Math.floor(Math.random() * 10000);
|
|
7
|
+
const themes = [
|
|
8
|
+
'productivity and time management',
|
|
9
|
+
'creative tools for artists and writers',
|
|
10
|
+
'health and wellness tracking',
|
|
11
|
+
'learning and education',
|
|
12
|
+
'finance and budgeting',
|
|
13
|
+
'home automation and IoT',
|
|
14
|
+
'social good and community',
|
|
15
|
+
'gaming and entertainment',
|
|
16
|
+
'data visualization',
|
|
17
|
+
'developer tools and workflows',
|
|
18
|
+
];
|
|
19
|
+
const randomTheme = themes[Math.floor(Math.random() * themes.length)];
|
|
20
|
+
return `You are a creative product consultant helping someone discover what to build.
|
|
21
|
+
|
|
22
|
+
IMPORTANT: Be creative and generate UNIQUE ideas. Random seed: ${seed}
|
|
23
|
+
Focus especially on: ${randomTheme}
|
|
24
|
+
|
|
25
|
+
Generate 5 diverse project ideas that a developer could build with AI assistance.
|
|
26
|
+
Mix different project types (web apps, CLI tools, APIs, automations).
|
|
27
|
+
|
|
28
|
+
CRITICAL: Include a MIX of difficulties:
|
|
29
|
+
- 1-2 easy projects (simple scripts, basic CRUD)
|
|
30
|
+
- 2-3 moderate projects (full-stack apps, integrations)
|
|
31
|
+
- 1-2 challenging projects (real-time systems, complex algorithms, distributed systems)
|
|
32
|
+
|
|
33
|
+
Return ONLY valid JSON (no markdown, no explanation) in this exact format:
|
|
34
|
+
{
|
|
35
|
+
"ideas": [
|
|
36
|
+
{
|
|
37
|
+
"title": "Project Title",
|
|
38
|
+
"description": "One compelling sentence about what it does and why it's useful",
|
|
39
|
+
"projectType": "web|api|cli|mobile|library|automation",
|
|
40
|
+
"difficulty": "easy|moderate|challenging",
|
|
41
|
+
"reasons": ["Why this is a good project", "What makes it interesting"]
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
Guidelines:
|
|
47
|
+
- Be CREATIVE - don't repeat common ideas like "todo app" or "weather app"
|
|
48
|
+
- AVOID trivial projects - no simple converters, basic calculators, or hello world variations
|
|
49
|
+
- Include at least ONE challenging project that would impress in a portfolio:
|
|
50
|
+
* Real-time collaboration features
|
|
51
|
+
* Complex state machines or workflows
|
|
52
|
+
* Data processing pipelines
|
|
53
|
+
* Browser extensions with advanced features
|
|
54
|
+
* Dev tools that solve real pain points
|
|
55
|
+
* Systems with multiple integrations
|
|
56
|
+
- For "challenging" difficulty: think projects that require architectural decisions, handle edge cases, have performance considerations
|
|
57
|
+
- Focus on real problems developers and users face daily
|
|
58
|
+
- Each idea should be completable as an MVP with focused effort`;
|
|
59
|
+
}
|
|
60
|
+
// Keep for backwards compatibility
|
|
61
|
+
export const BRAINSTORM_PROMPT = getBrainstormPrompt();
|
|
62
|
+
/**
|
|
63
|
+
* Prompt for trend-based ideas (2025-2026 tech trends)
|
|
64
|
+
*/
|
|
65
|
+
export const TREND_PROMPT = `You are a tech trends analyst helping developers find relevant project ideas.
|
|
66
|
+
|
|
67
|
+
Generate 5 project ideas based on current 2025-2026 technology trends:
|
|
68
|
+
- AI/LLM integrations and tooling (agents, RAG, fine-tuning pipelines)
|
|
69
|
+
- Local-first and privacy-focused apps (CRDTs, offline-first, E2E encryption)
|
|
70
|
+
- Developer productivity tools (code analysis, automation, workflows)
|
|
71
|
+
- Sustainable/green tech applications (carbon tracking, optimization)
|
|
72
|
+
- Accessibility and inclusive design (screen readers, voice interfaces)
|
|
73
|
+
|
|
74
|
+
CRITICAL: Include a MIX of difficulties - at least 2 should be "challenging"
|
|
75
|
+
|
|
76
|
+
Return ONLY valid JSON (no markdown, no explanation) in this exact format:
|
|
77
|
+
{
|
|
78
|
+
"ideas": [
|
|
79
|
+
{
|
|
80
|
+
"title": "Project Title",
|
|
81
|
+
"description": "One compelling sentence about what it does and why it's relevant now",
|
|
82
|
+
"projectType": "web|api|cli|mobile|library|automation",
|
|
83
|
+
"difficulty": "easy|moderate|challenging",
|
|
84
|
+
"reasons": ["Why this trend matters", "What makes it timely"]
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
Guidelines:
|
|
90
|
+
- Connect ideas to specific current trends with DEPTH (not surface-level)
|
|
91
|
+
- For "challenging" projects: think multi-agent systems, real-time sync, complex pipelines
|
|
92
|
+
- Include ideas that would make impressive portfolio pieces or open-source contributions
|
|
93
|
+
- Focus on practical applications that solve HARD problems
|
|
94
|
+
- Explain why NOW is the right time to build this
|
|
95
|
+
- AVOID trivial wrappers or simple CRUD apps - those aren't trendy, they're boring`;
|
|
96
|
+
/**
|
|
97
|
+
* Prompt for skill-based personalized ideas
|
|
98
|
+
*/
|
|
99
|
+
export const SKILL_PROMPT = `You are a career advisor helping a developer leverage their skills.
|
|
100
|
+
|
|
101
|
+
The developer has these skills/interests: {SKILLS}
|
|
102
|
+
|
|
103
|
+
Generate 5 project ideas that:
|
|
104
|
+
- Build on their existing skills
|
|
105
|
+
- Help them learn adjacent technologies
|
|
106
|
+
- Could potentially become portfolio pieces or side projects
|
|
107
|
+
|
|
108
|
+
Return ONLY valid JSON (no markdown, no explanation) in this exact format:
|
|
109
|
+
{
|
|
110
|
+
"ideas": [
|
|
111
|
+
{
|
|
112
|
+
"title": "Project Title",
|
|
113
|
+
"description": "One sentence about what it does and how it uses their skills",
|
|
114
|
+
"projectType": "web|api|cli|mobile|library|automation",
|
|
115
|
+
"difficulty": "easy|moderate|challenging",
|
|
116
|
+
"reasons": ["How it leverages their skills", "What new skills they'll learn"]
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
Guidelines:
|
|
122
|
+
- Match at least some of their existing skills
|
|
123
|
+
- Introduce one new concept per idea
|
|
124
|
+
- Consider portfolio value
|
|
125
|
+
- Balance challenge with achievability`;
|
|
126
|
+
/**
|
|
127
|
+
* Prompt for problem-solving ideas
|
|
128
|
+
*/
|
|
129
|
+
export const PROBLEM_PROMPT = `You are a problem-solving consultant helping a developer address a pain point.
|
|
130
|
+
|
|
131
|
+
The developer described this problem or frustration: "{PROBLEM}"
|
|
132
|
+
|
|
133
|
+
Generate 5 project ideas that could solve or alleviate this problem.
|
|
134
|
+
Think creatively about different approaches - tools, automations, apps.
|
|
135
|
+
|
|
136
|
+
Return ONLY valid JSON (no markdown, no explanation) in this exact format:
|
|
137
|
+
{
|
|
138
|
+
"ideas": [
|
|
139
|
+
{
|
|
140
|
+
"title": "Project Title",
|
|
141
|
+
"description": "One sentence about how it solves the problem",
|
|
142
|
+
"projectType": "web|api|cli|mobile|library|automation",
|
|
143
|
+
"difficulty": "easy|moderate|challenging",
|
|
144
|
+
"reasons": ["How it addresses the pain point", "Why this approach works"]
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
Guidelines:
|
|
150
|
+
- Focus on the root cause, not just symptoms
|
|
151
|
+
- Offer different levels of solutions (quick fix vs comprehensive)
|
|
152
|
+
- Consider automation and tooling first
|
|
153
|
+
- Make solutions practical and buildable`;
|
|
154
|
+
//# sourceMappingURL=idea-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idea-prompts.js","sourceRoot":"","sources":["../../src/wizard/idea-prompts.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG;QACb,kCAAkC;QAClC,wCAAwC;QACxC,8BAA8B;QAC9B,wBAAwB;QACxB,uBAAuB;QACvB,yBAAyB;QACzB,2BAA2B;QAC3B,0BAA0B;QAC1B,oBAAoB;QACpB,+BAA+B;KAChC,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,OAAO;;iEAEwD,IAAI;uBAC9C,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAmC8B,CAAC;AACjE,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,EAAE,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA8BuD,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;uCA0BW,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;yCAwBW,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { IdeaContext, IdeaDiscoveryMethod, IdeaSuggestion } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Display the idea mode welcome banner
|
|
4
|
+
*/
|
|
5
|
+
export declare function showIdeaWelcome(): void;
|
|
6
|
+
/**
|
|
7
|
+
* Ask how the user wants to discover ideas
|
|
8
|
+
*/
|
|
9
|
+
export declare function askDiscoveryMethod(): Promise<IdeaDiscoveryMethod>;
|
|
10
|
+
/**
|
|
11
|
+
* Ask for user's skills for skill-based suggestions
|
|
12
|
+
*/
|
|
13
|
+
export declare function askUserSkills(): Promise<string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Ask for the problem the user wants to solve
|
|
16
|
+
*/
|
|
17
|
+
export declare function askUserProblem(): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Display brainstorm results
|
|
20
|
+
*/
|
|
21
|
+
export declare function showBrainstormResults(ideas: IdeaSuggestion[]): void;
|
|
22
|
+
/**
|
|
23
|
+
* Ask user to select an idea
|
|
24
|
+
*/
|
|
25
|
+
export declare function selectIdea(ideas: IdeaSuggestion[]): Promise<IdeaSuggestion | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Build context from user preferences
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildIdeaContext(): Promise<IdeaContext>;
|
|
30
|
+
/**
|
|
31
|
+
* Show loading message for idea generation
|
|
32
|
+
*/
|
|
33
|
+
export declare function showIdeaLoading(method: IdeaDiscoveryMethod): string;
|
|
34
|
+
//# sourceMappingURL=idea-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idea-ui.d.ts","sourceRoot":"","sources":["../../src/wizard/idea-ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAoCnF;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAetC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CA4BvE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAqCvD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CActD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CA2BnE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkCxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAW7D;AAiBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAQnE"}
|