Skip to content

Commit e4984c4

Browse files
authored
Adding prompt tool with first 9 prompts for onboarding (#233)
* Adding prompt tool with first 9 prompts for onboarding * Implement first-time user onboarding detection and message injection - Add OnboardingState interface to usageTracker - Implement shouldShowOnboarding() logic (triggers after 3-10 successful calls) - Add onboarding message injection to server.ts (before feedback prompts) - Track onboarding analytics: message_shown, message_accepted - Auto-detect onboarding acceptance when user calls get_prompts - Use Variant A: Welcome & Guidance message for first-time users - Complete analytics pipeline for cohort analysis and A/B testing * Fix onboarding analytics naming: rename 'accepted' to 'used prompts' for accuracy - Changed onboarding_message_accepted to user_asked_for_prompts - Renamed onboardingAccepted to onboardingUsedPrompts in state - Updated method names to be more accurate - User may call get_prompts for reasons other than responding to onboarding invitation * Remove redundant user_asked_for_prompts analytics event - get_prompts calls are already captured by standard tool call analytics - prompts_tool_* events provide specific action tracking - Simplified to just update state for onboarding flow control - Eliminates duplicate/redundant analytics data * Consolidate prompts analytics into standard server tool call tracking - Removed redundant prompts_tool_* events from prompts.ts - Added get_prompts parameters (action, category, prompt_id) to server_call_tool event - Added detailed prompt_retrieved event for specific prompt usage - Cleaner analytics with all prompts data in standard tool call events - Exported loadPromptsData function for server analytics use * Standardize analytics event naming with 'server_' prefix - Changed onboarding_message_shown -> server_onboarding_shown - Changed prompt_retrieved -> server_prompt_retrieved - Follows established naming convention: - package_* for npm/installation events - server_* for server-side operations - Consistent with server_call_tool, server_request_error patterns * Simplify process of starting onboarding * Update readme and FAQ with onboarding info * Update homepage * Update home page * Cleanup * More cleanup * Replace hard-coded user paths with neutral placeholders - Replace /Users/fiberta/ paths with ~/ placeholders - Add (replace with your path) instructions for clarity - Improve cross-platform compatibility in onboarding prompts - Addresses coderabbitai[bot] review feedback * Re-enable prompts data caching for better performance - Uncomment the cache check in loadPromptsData() - Improves performance by avoiding redundant file reads - Cache is properly cleared via clearCache() function when needed * Prompt polishing * Improve telemetry * One more adjustment for prompts
1 parent 9c40b47 commit e4984c4

File tree

12 files changed

+826
-288
lines changed

12 files changed

+826
-288
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ server.log
4040

4141
# Local planning/documentation directories
4242
plans/
43+
planning/
4344

4445
# Test output files
4546
test/test_output/

FAQ.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ This document provides answers to the most commonly asked questions about Claude
2222
- [How do I install Claude Desktop Commander?](#how-do-i-install-claude-desktop-commander)
2323
- [How do I update to the latest version?](#how-do-i-update-to-the-latest-version)
2424
- [Which operating systems does it support?](#which-operating-systems-does-it-support)
25+
- [How do I get started after installing Desktop Commander?](#how-do-i-get-started-after-installing-desktop-commander)
2526

2627
- [Features & Capabilities](#features--capabilities)
2728
- [What can I do with Claude Desktop Commander?](#what-can-i-do-with-claude-desktop-commander)
@@ -172,6 +173,24 @@ Claude Desktop Commander works with:
172173

173174
Work is in progress to improve WSL (Windows Subsystem for Linux) integration and add SSH support for remote servers.
174175

176+
### How do I get started after installing Desktop Commander?
177+
178+
After installation, Desktop Commander includes intelligent onboarding to help new users discover its capabilities:
179+
180+
**Automatic Onboarding:** When you're a new user (fewer than 10 successful commands), Claude will automatically offer helpful getting-started guidance and tutorials after you use Desktop Commander successfully.
181+
182+
**Manual Onboarding:** You can also request onboarding help at any time by simply asking Claude:
183+
- "Help me get started with Desktop Commander"
184+
- "Show me Desktop Commander examples"
185+
- "What can I do with Desktop Commander?"
186+
187+
**Starter Examples:** Claude will show you beginner-friendly tutorials like:
188+
- Organizing your Downloads folder
189+
- Analyzing CSV files
190+
- Setting up GitHub Actions
191+
- Exploring codebases
192+
- And more hands-on examples
193+
175194
## Features & Capabilities
176195

177196
### What can I do with Claude Desktop Commander?

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Work with code and text, run processes, and automate tasks, going far beyond oth
2222
## Table of Contents
2323
- [Features](#features)
2424
- [How to install](#how-to-install)
25+
- [Getting Started](#getting-started)
2526
- [Usage](#usage)
2627
- [Handling Long-Running Commands](#handling-long-running-commands)
2728
- [Work in Progress and TODOs](#roadmap)
@@ -378,6 +379,28 @@ Close and restart Claude Desktop to complete the removal.
378379
**Need help?**
379380
- Join our Discord community: https://discord.com/invite/kQ27sNnZr7
380381

382+
## Getting Started
383+
384+
Once Desktop Commander is installed and Claude Desktop is restarted, you're ready to supercharge your Claude experience!
385+
386+
### 🚀 New User Onboarding
387+
388+
Desktop Commander includes intelligent onboarding to help you discover what's possible:
389+
390+
**For New Users:** When you're just getting started (fewer than 10 successful commands), Claude will automatically offer helpful getting-started guidance and practical tutorials after you use Desktop Commander successfully.
391+
392+
**Request Help Anytime:** You can ask for onboarding assistance at any time by simply saying:
393+
- *"Help me get started with Desktop Commander"*
394+
- *"Show me Desktop Commander examples"*
395+
- *"What can I do with Desktop Commander?"*
396+
397+
Claude will then show you beginner-friendly tutorials and examples, including:
398+
- 📁 Organizing your Downloads folder automatically
399+
- 📊 Analyzing CSV/Excel files with Python
400+
- ⚙️ Setting up GitHub Actions CI/CD
401+
- 🔍 Exploring and understanding codebases
402+
- 🤖 Running interactive development environments
403+
381404
## Usage
382405

383406
The server provides a comprehensive set of tools organized into several categories:

docs/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1611,6 +1611,11 @@ <h4>Management Commands</h4>
16111611
</div>
16121612
<br />
16131613
<p style="margin-top: 10px; font-style: italic;">Remember to restart Claude after installation.</p>
1614+
1615+
<div style="background: #e8f4f8; padding: 20px; border-radius: 8px; margin: 20px 0; border-left: 4px solid var(--primary-color);">
1616+
<p style="margin: 0; color: #121212;"><strong>🚀 What's next?</strong> New to Desktop Commander? Simply ask Claude: <code style="background: #fff; padding: 2px 6px; border-radius: 4px; color: #333;">"What can I do with Desktop Commander?"</code> and you'll get guided tutorials and examples to discover what's possible!</p>
1617+
</div>
1618+
16141619
<br />
16151620
<div>
16161621
<h2>How to remove Desktop Commander</h2>

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"bump": "node scripts/sync-version.js --bump",
2828
"bump:minor": "node scripts/sync-version.js --bump --minor",
2929
"bump:major": "node scripts/sync-version.js --bump --major",
30-
"build": "tsc && shx cp setup-claude-server.js uninstall-claude-server.js track-installation.js dist/ && shx chmod +x dist/*.js",
30+
"build": "tsc && shx cp setup-claude-server.js uninstall-claude-server.js track-installation.js dist/ && shx chmod +x dist/*.js && shx mkdir -p dist/data && shx cp src/data/onboarding-prompts.json dist/data/",
3131
"watch": "tsc --watch",
3232
"start": "node dist/index.js",
3333
"start:debug": "node --inspect-brk=9229 dist/index.js",

src/data/onboarding-prompts.json

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
{
2+
"version": "1.0.0",
3+
"description": "Desktop Commander onboarding prompts for first-time users",
4+
"prompts": [
5+
{
6+
"id": "onb_001",
7+
"title": "Organize my Downloads folder",
8+
"description": "Clean up and organize your messy Downloads folder into relevant subfolders automatically.",
9+
"prompt": "Let's organize your Downloads folder! \n\nFirst, let me check what we're working with. I'll look at your Downloads folder to see how many files are there and what types.\n\nShould I start by analyzing your Downloads folder?",
10+
"categories": ["onboarding"],
11+
"secondaryTag": "Quick Start",
12+
"votes": 0,
13+
"gaClicks": 0,
14+
"icon": "FolderOpen",
15+
"author": "DC team",
16+
"verified": true
17+
},
18+
{
19+
"id": "onb_002",
20+
"title": "Set up GitHub Actions CI/CD",
21+
"description": "Set up GitHub Actions for your project to automatically run tests on every push with proper CI/CD workflow.",
22+
"prompt": "Let's set up GitHub Actions CI/CD for your project! 🚀\n\n**What's the path to your project folder?**\n\n*Try: `~/work/my-project` (replace with your path) or give me a different path.*\n\nI'll analyze your project type and set up automated testing and deployment in about 15 minutes!",
23+
"categories": ["onboarding"],
24+
"secondaryTag": "Build & Deploy",
25+
"votes": 0,
26+
"gaClicks": 0,
27+
"icon": "GitBranch",
28+
"author": "DC team",
29+
"verified": true
30+
},
31+
{
32+
"id": "onb_003",
33+
"title": "Create organized knowledge/documents folder",
34+
"description": "Set up a well-structured knowledge base or document organization system with templates and suggested categories.",
35+
"prompt": "Let's create an organized knowledge base! 📚\n\n**Where should I set it up?**\n\n*I suggest: `~/Documents/Knowledge-Base` (replace with your path) or give me a different location.*\n\nI'll create a clean folder structure with templates and organize any existing documents you have!",
36+
"categories": ["onboarding"],
37+
"secondaryTag": "Quick Start",
38+
"votes": 0,
39+
"gaClicks": 0,
40+
"icon": "BookOpen",
41+
"author": "DC team",
42+
"verified": true
43+
},
44+
{
45+
"id": "onb_004",
46+
"title": "Explain codebase or repository to me",
47+
"description": "Analyze and explain any codebase - local project or GitHub repository - including architecture, dependencies, and how it works.",
48+
"prompt": "I'll analyze and explain any codebase for you! 🔍\n\n**What should I analyze?**\n\n*Local project:* `~/work/my-project` (replace with your path)\n*GitHub repo:* `https://github.com/user/repo`\n\nI'll break down the architecture, dependencies, and how everything works together!",
49+
"categories": ["onboarding"],
50+
"secondaryTag": "Code Analysis",
51+
"votes": 0,
52+
"gaClicks": 0,
53+
"icon": "Code",
54+
"author": "DC team",
55+
"verified": true
56+
},
57+
{
58+
"id": "onb_005",
59+
"title": "Clean up unused code in my project",
60+
"description": "Scan your codebase to find unused imports, dead functions, and redundant code that can be safely removed.",
61+
"prompt": "Let's clean up unused code in your project! 🧹\n\n**What's your project folder path?**\n\n*Try: `~/work/my-project` (replace with your path)*\n\nI'll safely scan for dead code and unused imports, then show you exactly what can be removed before making any changes!",
62+
"categories": ["onboarding"],
63+
"secondaryTag": "Code Analysis",
64+
"votes": 0,
65+
"gaClicks": 0,
66+
"icon": "Trash2",
67+
"author": "DC team",
68+
"verified": true
69+
},
70+
{
71+
"id": "onb_006",
72+
"title": "Build shopping list app and deploy online",
73+
"description": "Create a simple shopping list web app from scratch and deploy it online - perfect for learning web development basics.",
74+
"prompt": "Let's build a simple shopping list web app and deploy it online! 🛒\n\n**Quick question:** Where should I create the project folder?\n\n*I suggest using `~/Downloads/shopping-app` for quick testing, or give me a different path if you prefer.*\n\nOnce I have the folder, I'll build a working app step-by-step and get it online in about 20 minutes!",
75+
"categories": ["onboarding"],
76+
"secondaryTag": "Build & Deploy",
77+
"votes": 0,
78+
"gaClicks": 0,
79+
"icon": "ShoppingCart",
80+
"author": "DC team",
81+
"verified": true
82+
},
83+
{
84+
"id": "onb_007",
85+
"title": "Analyze my data file",
86+
"description": "Upload or point to any data file (CSV, JSON, Excel, etc.) and get comprehensive analysis including patterns, insights, and summary reports.",
87+
"prompt": "I'll help you analyze your data file! \n\nWhat's the path to your data file? (e.g., `/Users/yourname/data.csv`)\n\nOnce you give me the path, I'll start by checking what type of file it is and show you a quick preview, then we can dive deeper step by step.",
88+
"categories": ["onboarding"],
89+
"secondaryTag": "Quick Start",
90+
"votes": 0,
91+
"gaClicks": 0,
92+
"icon": "BarChart3",
93+
"author": "DC team",
94+
"verified": true
95+
},
96+
{
97+
"id": "onb_008",
98+
"title": "Check system health and resources",
99+
"description": "Analyze your system's health, resource usage, running processes, and generate a comprehensive system status report.",
100+
"prompt": "Let me check your system health and resources!\n\nI'll start by looking at your CPU, memory, and disk usage, then check for any performance issues.\n\nShould I begin the system analysis?",
101+
"categories": ["onboarding"],
102+
"secondaryTag": "Quick Start",
103+
"votes": 0,
104+
"gaClicks": 0,
105+
"icon": "Activity",
106+
"author": "DC team",
107+
"verified": true
108+
},
109+
{
110+
"id": "onb_009",
111+
"title": "Find Patterns and Errors in Log Files",
112+
"description": "Analyze log files to identify errors, patterns, performance issues, and security concerns with detailed insights and recommendations.",
113+
"prompt": "I'll analyze your log files to find errors and patterns! 🔍\n\n**What log file should I analyze?**\n\n*Try: `/var/log/system.log` (macOS/Linux) or `~/app.log`, or I can search for logs on your system.*\n\nI'll find errors, performance issues, and suspicious patterns with actionable recommendations!",
114+
"categories": ["onboarding"],
115+
"secondaryTag": "Code Analysis",
116+
"votes": 0,
117+
"gaClicks": 0,
118+
"icon": "Search",
119+
"author": "DC team",
120+
"verified": true
121+
}
122+
]
123+
}

0 commit comments

Comments
 (0)