@endlessblink/like-i-said-v2
Version:
Task Management & Memory for Claude - Track tasks, remember context, and maintain continuity across sessions with 27 powerful tools. Works with Claude Desktop and Claude Code.
75 lines (67 loc) • 2.17 kB
Markdown
# Installation Flow - Visual Comparison
## Method 1: Local Installation via NPX
```
User runs: npx -p @endlessblink/like-i-said-v2@latest like-i-said-v2 install
↓
NPX downloads package to cache (~/.npm/_npx/)
↓
Runs: cli.js install
↓
Copies files to current directory:
• mcp-server-wrapper.js
• server-markdown.js
• package.json
• Creates memories/ directory
• Creates tasks/ directory
↓
Configures IDEs with LOCAL PATH:
{
"command": "node",
"args": ["/current/dir/mcp-server-wrapper.js"]
}
↓
✅ Result: Local installation with local files
```
## Method 2: Claude MCP Add Command
```
User runs: claude mcp add like-i-said-memory-v2 -- npx -p @endlessblink/like-i-said-v2@latest like-i-said-v2
↓
Claude adds configuration:
{
"command": "npx",
"args": ["-y", "-p", "@endlessblink/like-i-said-v2@latest", "like-i-said-v2"]
}
↓
NO files created locally
↓
When Claude starts:
↓
Runs: npx -y -p @endlessblink/like-i-said-v2@latest like-i-said-v2
↓
NPX downloads to cache (if needed)
↓
Runs cli.js from cache
↓
cli.js detects non-TTY → starts MCP server
↓
✅ Result: No local files, runs from NPX cache
```
## Key Differences
| Aspect | Local Installation | Claude MCP Add |
|--------|-------------------|----------------|
| **Command** | `npx ... install` | `claude mcp add ...` |
| **Local Files** | ✅ Created | ❌ None |
| **Config Type** | Local path | NPX command |
| **Storage Location** | Current directory | NPX cache |
| **Memory/Task Location** | `./memories`, `./tasks` | `~/memories`, `~/tasks` |
| **Best For** | Dashboard, development | Quick setup, no clutter |
## Implementation Logic in cli.js
```javascript
if (context.isNpxInstall && !fs.existsSync(localServerPath)) {
// No local files → Use NPX command
config = { command: 'npx', args: ['-y', '-p', '@endlessblink/like-i-said-v2@latest', 'like-i-said-v2'] }
} else if (fs.existsSync(localServerPath)) {
// Local files exist → Use local path
config = { command: 'node', args: [localServerPath] }
}
```