feat(cli): add foundation - package setup and entry point
Add @paseo/cli package with: - Package structure with npm workspace integration - bin/paseo entry point using tsx - Commander.js setup with --version and --help - Placeholder subcommands: agent, daemon, permit, worktree, provider
This commit is contained in:
Generated
+43
-1
@@ -14,7 +14,8 @@
|
|||||||
"packages/app",
|
"packages/app",
|
||||||
"packages/relay",
|
"packages/relay",
|
||||||
"packages/website",
|
"packages/website",
|
||||||
"packages/desktop"
|
"packages/desktop",
|
||||||
|
"packages/cli"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@anthropic-ai/claude-agent-sdk": "^0.2.11"
|
"@anthropic-ai/claude-agent-sdk": "^0.2.11"
|
||||||
@@ -6698,6 +6699,10 @@
|
|||||||
"resolved": "packages/app",
|
"resolved": "packages/app",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@paseo/cli": {
|
||||||
|
"resolved": "packages/cli",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
"node_modules/@paseo/desktop": {
|
"node_modules/@paseo/desktop": {
|
||||||
"resolved": "packages/desktop",
|
"resolved": "packages/desktop",
|
||||||
"link": true
|
"link": true
|
||||||
@@ -26344,6 +26349,43 @@
|
|||||||
"url": "https://github.com/sponsors/colinhacks"
|
"url": "https://github.com/sponsors/colinhacks"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"packages/cli": {
|
||||||
|
"name": "@paseo/cli",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@paseo/server": "*",
|
||||||
|
"chalk": "^5.3.0",
|
||||||
|
"commander": "^12.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"paseo": "bin/paseo"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"tsx": "^4.6.0",
|
||||||
|
"typescript": "^5.2.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages/cli/node_modules/chalk": {
|
||||||
|
"version": "5.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
|
||||||
|
"integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "^12.17.0 || ^14.13 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages/cli/node_modules/commander": {
|
||||||
|
"version": "12.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
|
||||||
|
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"packages/desktop": {
|
"packages/desktop": {
|
||||||
"name": "@paseo/desktop",
|
"name": "@paseo/desktop",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
|||||||
+2
-1
@@ -7,7 +7,8 @@
|
|||||||
"packages/app",
|
"packages/app",
|
||||||
"packages/relay",
|
"packages/relay",
|
||||||
"packages/website",
|
"packages/website",
|
||||||
"packages/desktop"
|
"packages/desktop",
|
||||||
|
"packages/cli"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "./scripts/dev.sh",
|
"dev": "./scripts/dev.sh",
|
||||||
|
|||||||
Executable
+2
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env npx tsx
|
||||||
|
import '../src/index.js'
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"name": "@paseo/cli",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Paseo CLI - control your AI coding agents from the command line",
|
||||||
|
"type": "module",
|
||||||
|
"bin": {
|
||||||
|
"paseo": "./bin/paseo"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"typecheck": "tsc --noEmit"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@paseo/server": "*",
|
||||||
|
"commander": "^12.0.0",
|
||||||
|
"chalk": "^5.3.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^5.2.2",
|
||||||
|
"tsx": "^4.6.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
import { Command } from 'commander'
|
||||||
|
|
||||||
|
const VERSION = '0.1.0'
|
||||||
|
|
||||||
|
export function createCli(): Command {
|
||||||
|
const program = new Command()
|
||||||
|
|
||||||
|
program
|
||||||
|
.name('paseo')
|
||||||
|
.description('Paseo CLI - control your AI coding agents from the command line')
|
||||||
|
.version(VERSION, '-v, --version', 'output the version number')
|
||||||
|
|
||||||
|
// Placeholder subcommands for Phase 1
|
||||||
|
program
|
||||||
|
.command('agent')
|
||||||
|
.description('Manage agents')
|
||||||
|
.action(() => {
|
||||||
|
console.log('agent command (not yet implemented)')
|
||||||
|
})
|
||||||
|
|
||||||
|
program
|
||||||
|
.command('daemon')
|
||||||
|
.description('Manage the Paseo daemon')
|
||||||
|
.action(() => {
|
||||||
|
console.log('daemon command (not yet implemented)')
|
||||||
|
})
|
||||||
|
|
||||||
|
program
|
||||||
|
.command('permit')
|
||||||
|
.description('Manage permission requests')
|
||||||
|
.action(() => {
|
||||||
|
console.log('permit command (not yet implemented)')
|
||||||
|
})
|
||||||
|
|
||||||
|
program
|
||||||
|
.command('worktree')
|
||||||
|
.description('Manage git worktrees')
|
||||||
|
.action(() => {
|
||||||
|
console.log('worktree command (not yet implemented)')
|
||||||
|
})
|
||||||
|
|
||||||
|
program
|
||||||
|
.command('provider')
|
||||||
|
.description('Manage agent providers')
|
||||||
|
.action(() => {
|
||||||
|
console.log('provider command (not yet implemented)')
|
||||||
|
})
|
||||||
|
|
||||||
|
return program
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
import { createCli } from './cli.js'
|
||||||
|
|
||||||
|
const program = createCli()
|
||||||
|
program.parse()
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig.base.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "NodeNext",
|
||||||
|
"moduleResolution": "NodeNext",
|
||||||
|
"outDir": "./dist",
|
||||||
|
"rootDir": "./src",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"sourceMap": true,
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"noUnusedParameters": true,
|
||||||
|
"noFallthroughCasesInSwitch": true
|
||||||
|
},
|
||||||
|
"include": ["src/**/*"],
|
||||||
|
"exclude": ["node_modules", "dist", "src/**/*.test.ts"]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user