@trikhub/cli 0.14.0 → 0.16.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 +115 -3
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/create-agent.d.ts +7 -0
- package/dist/commands/create-agent.d.ts.map +1 -0
- package/dist/commands/create-agent.js +166 -0
- package/dist/commands/create-agent.js.map +1 -0
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +0 -7
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +42 -29
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +3 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +7 -21
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/templates/agent-python.d.ts +14 -0
- package/dist/templates/agent-python.d.ts.map +1 -0
- package/dist/templates/agent-python.js +185 -0
- package/dist/templates/agent-python.js.map +1 -0
- package/dist/templates/agent-typescript.d.ts +18 -0
- package/dist/templates/agent-typescript.d.ts.map +1 -0
- package/dist/templates/agent-typescript.js +209 -0
- package/dist/templates/agent-typescript.js.map +1 -0
- package/dist/templates/python.d.ts +13 -1
- package/dist/templates/python.d.ts.map +1 -1
- package/dist/templates/python.js +306 -2
- package/dist/templates/python.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -13,7 +13,11 @@ npm install -g @trikhub/cli
|
|
|
13
13
|
```bash
|
|
14
14
|
# Create a new trik
|
|
15
15
|
trik init ts # TypeScript
|
|
16
|
-
trik init py # Python
|
|
16
|
+
trik init py # Python
|
|
17
|
+
|
|
18
|
+
# Scaffold an agent that consumes triks
|
|
19
|
+
trik create-agent ts # TypeScript
|
|
20
|
+
trik create-agent py # Python
|
|
17
21
|
|
|
18
22
|
# Search for triks
|
|
19
23
|
trik search article
|
|
@@ -83,18 +87,108 @@ my-trik/
|
|
|
83
87
|
└── .gitignore
|
|
84
88
|
```
|
|
85
89
|
|
|
90
|
+
**Python:**
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
my-trik/
|
|
94
|
+
├── manifest.json
|
|
95
|
+
├── trikhub.json
|
|
96
|
+
├── pyproject.toml
|
|
97
|
+
├── src/
|
|
98
|
+
│ └── my_trik/
|
|
99
|
+
│ ├── __init__.py
|
|
100
|
+
│ ├── main.py
|
|
101
|
+
│ └── prompts/
|
|
102
|
+
│ └── system.md # System prompt (conversational mode)
|
|
103
|
+
├── README.md
|
|
104
|
+
└── .gitignore
|
|
105
|
+
```
|
|
106
|
+
|
|
86
107
|
#### Testing Your Trik
|
|
87
108
|
|
|
88
109
|
```bash
|
|
110
|
+
# TypeScript
|
|
89
111
|
cd my-trik
|
|
90
112
|
npm install
|
|
91
113
|
npm run build
|
|
92
114
|
trik lint . # Validate manifest and quality score
|
|
115
|
+
|
|
116
|
+
# Python
|
|
117
|
+
cd my-trik
|
|
118
|
+
python -m venv .venv && source .venv/bin/activate
|
|
119
|
+
pip install -e .
|
|
120
|
+
trik lint .
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### `trik create-agent <language>`
|
|
124
|
+
|
|
125
|
+
Scaffold a minimal agent project that can immediately consume triks. This is the counterpart to `trik init` — it creates the _consuming agent_, not a trik.
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Create a TypeScript agent
|
|
129
|
+
trik create-agent ts
|
|
130
|
+
|
|
131
|
+
# Create a Python agent
|
|
132
|
+
trik create-agent py
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The interactive wizard prompts for:
|
|
136
|
+
|
|
137
|
+
- **Project name** - lowercase, alphanumeric + dashes (e.g., `my-agent`)
|
|
138
|
+
- **LLM Provider** - OpenAI, Anthropic, or Google
|
|
139
|
+
- **Location** - Where to create the project
|
|
140
|
+
|
|
141
|
+
#### Generated Structure
|
|
142
|
+
|
|
143
|
+
**TypeScript:**
|
|
144
|
+
|
|
145
|
+
```text
|
|
146
|
+
my-agent/
|
|
147
|
+
├── package.json # Only the selected provider's LangChain pkg
|
|
148
|
+
├── tsconfig.json
|
|
149
|
+
├── .env.example # Single env var for selected provider
|
|
150
|
+
├── .gitignore
|
|
151
|
+
├── .trikhub/
|
|
152
|
+
│ └── config.json # Empty triks array
|
|
153
|
+
└── src/
|
|
154
|
+
├── agent.ts # TrikGateway + enhance() + createReactAgent
|
|
155
|
+
└── cli.ts # readline loop with processMessage()
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Python:**
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
my-agent/
|
|
162
|
+
├── pyproject.toml # Only the selected provider's langchain pkg
|
|
163
|
+
├── .env.example
|
|
164
|
+
├── .gitignore
|
|
165
|
+
├── .trikhub/
|
|
166
|
+
│ └── config.json
|
|
167
|
+
├── agent.py # TrikGateway + enhance() + create_react_agent
|
|
168
|
+
└── cli.py # asyncio CLI loop
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
#### Running Your Agent
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
cd my-agent
|
|
175
|
+
cp .env.example .env
|
|
176
|
+
# Add your API key to .env
|
|
177
|
+
|
|
178
|
+
# TypeScript
|
|
179
|
+
npm run dev
|
|
180
|
+
|
|
181
|
+
# Python
|
|
182
|
+
python -m venv .venv && source .venv/bin/activate
|
|
183
|
+
pip install -e .
|
|
184
|
+
python cli.py
|
|
93
185
|
```
|
|
94
186
|
|
|
187
|
+
Then install triks with `trik install @scope/trik-name` and restart the agent.
|
|
188
|
+
|
|
95
189
|
### `trik lint <path>`
|
|
96
190
|
|
|
97
|
-
Validate a trik's manifest and source files. Shows errors
|
|
191
|
+
Validate a trik's manifest and source files. Shows errors and warnings.
|
|
98
192
|
|
|
99
193
|
```bash
|
|
100
194
|
trik lint .
|
|
@@ -114,6 +208,12 @@ The quality score (0-100) evaluates:
|
|
|
114
208
|
- Tool log template coverage
|
|
115
209
|
- Log schema constraint safety
|
|
116
210
|
|
|
211
|
+
**TDPS linter rules:**
|
|
212
|
+
- `tdps-agent-safe-output` — outputSchema must use agent-safe types
|
|
213
|
+
- `tdps-constrained-log` — logSchema strings must be constrained
|
|
214
|
+
- `tdps-log-template` — logTemplate placeholders must match logSchema
|
|
215
|
+
- `tdps-output-template` — outputTemplate placeholders must match outputSchema
|
|
216
|
+
|
|
117
217
|
### `trik install <name>`
|
|
118
218
|
|
|
119
219
|
Install a trik from the registry.
|
|
@@ -227,7 +327,7 @@ trik publish --tag 1.2.0
|
|
|
227
327
|
|
|
228
328
|
- Logged in with `trik login`
|
|
229
329
|
- Git tag pushed to remote matching the manifest version
|
|
230
|
-
- `dist/` directory committed (
|
|
330
|
+
- `dist/` directory committed (TypeScript triks only; Python triks don't need a build step)
|
|
231
331
|
|
|
232
332
|
**Publishing flow:**
|
|
233
333
|
|
|
@@ -238,6 +338,7 @@ trik publish --tag 1.2.0
|
|
|
238
338
|
|
|
239
339
|
### Required Files
|
|
240
340
|
|
|
341
|
+
**TypeScript:**
|
|
241
342
|
```
|
|
242
343
|
your-trik/
|
|
243
344
|
├── manifest.json # v2 trik manifest (required)
|
|
@@ -247,6 +348,17 @@ your-trik/
|
|
|
247
348
|
└── agent.js # Compiled entry point (required)
|
|
248
349
|
```
|
|
249
350
|
|
|
351
|
+
**Python:**
|
|
352
|
+
```
|
|
353
|
+
your-trik/
|
|
354
|
+
├── manifest.json # v2 trik manifest (required)
|
|
355
|
+
├── trikhub.json # Registry metadata (required)
|
|
356
|
+
├── pyproject.toml # Python package definition (required)
|
|
357
|
+
└── src/
|
|
358
|
+
└── your_trik/
|
|
359
|
+
└── main.py # Entry point (required)
|
|
360
|
+
```
|
|
361
|
+
|
|
250
362
|
### Manifest Requirements
|
|
251
363
|
|
|
252
364
|
Your `manifest.json` must pass v2 validation:
|
package/dist/cli.js
CHANGED
|
@@ -17,6 +17,7 @@ import { unpublishCommand } from './commands/unpublish.js';
|
|
|
17
17
|
import { upgradeCommand, upgradeAllCommand } from './commands/upgrade.js';
|
|
18
18
|
import { syncCommand } from './commands/sync.js';
|
|
19
19
|
import { initCommand } from './commands/init.js';
|
|
20
|
+
import { createAgentCommand } from './commands/create-agent.js';
|
|
20
21
|
import { lintCommand } from './commands/lint.js';
|
|
21
22
|
import { mcpCommand } from './commands/mcp.js';
|
|
22
23
|
// Read version from package.json
|
|
@@ -124,6 +125,11 @@ program
|
|
|
124
125
|
.command('init <language>')
|
|
125
126
|
.description('Initialize a new trik project (ts or py)')
|
|
126
127
|
.action(initCommand);
|
|
128
|
+
// Create-agent command
|
|
129
|
+
program
|
|
130
|
+
.command('create-agent <language>')
|
|
131
|
+
.description('Scaffold a minimal agent project ready to consume triks')
|
|
132
|
+
.action(createAgentCommand);
|
|
127
133
|
// Lint command
|
|
128
134
|
program
|
|
129
135
|
.command('lint <path>')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-agent.d.ts","sourceRoot":"","sources":["../../src/commands/create-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwI3E"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* trik create-agent command
|
|
3
|
+
*
|
|
4
|
+
* Scaffolds a minimal agent project ready to consume triks.
|
|
5
|
+
*/
|
|
6
|
+
import { existsSync } from 'node:fs';
|
|
7
|
+
import { mkdir, writeFile } from 'node:fs/promises';
|
|
8
|
+
import { join, resolve } from 'node:path';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import ora from 'ora';
|
|
11
|
+
import { input, select } from '@inquirer/prompts';
|
|
12
|
+
import { generateAgentTypescriptProject } from '../templates/agent-typescript.js';
|
|
13
|
+
import { generateAgentPythonProject } from '../templates/agent-python.js';
|
|
14
|
+
/**
|
|
15
|
+
* Validate project name — same rules as trik init.
|
|
16
|
+
*/
|
|
17
|
+
function validateProjectName(name) {
|
|
18
|
+
if (name.length < 2 || name.length > 50) {
|
|
19
|
+
return 'Name must be 2-50 characters';
|
|
20
|
+
}
|
|
21
|
+
if (!/^[a-z]/.test(name)) {
|
|
22
|
+
return 'Name must start with a letter';
|
|
23
|
+
}
|
|
24
|
+
if (!/^[a-z][a-z0-9-]*$/.test(name)) {
|
|
25
|
+
return 'Name must be lowercase, alphanumeric + dashes only';
|
|
26
|
+
}
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse and normalize language argument.
|
|
31
|
+
*/
|
|
32
|
+
function parseLanguage(lang) {
|
|
33
|
+
const normalized = lang.toLowerCase();
|
|
34
|
+
if (normalized === 'ts' || normalized === 'typescript') {
|
|
35
|
+
return 'ts';
|
|
36
|
+
}
|
|
37
|
+
if (normalized === 'py' || normalized === 'python') {
|
|
38
|
+
return 'py';
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
export async function createAgentCommand(languageArg) {
|
|
43
|
+
const spinner = ora();
|
|
44
|
+
try {
|
|
45
|
+
// Validate language
|
|
46
|
+
const language = parseLanguage(languageArg);
|
|
47
|
+
if (!language) {
|
|
48
|
+
console.log(chalk.red(`Invalid language: ${languageArg}`));
|
|
49
|
+
console.log(chalk.dim('Supported languages: ts (TypeScript) or py (Python)'));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
console.log();
|
|
53
|
+
console.log(chalk.bold(' Create a new Agent'));
|
|
54
|
+
console.log();
|
|
55
|
+
// Interactive prompts
|
|
56
|
+
const name = await input({
|
|
57
|
+
message: 'Project name:',
|
|
58
|
+
default: 'my-agent',
|
|
59
|
+
validate: validateProjectName,
|
|
60
|
+
transformer: (value) => value.toLowerCase(),
|
|
61
|
+
});
|
|
62
|
+
const provider = await select({
|
|
63
|
+
message: 'LLM Provider:',
|
|
64
|
+
choices: [
|
|
65
|
+
{ value: 'openai', name: 'OpenAI (gpt-4o-mini)' },
|
|
66
|
+
{ value: 'anthropic', name: 'Anthropic (claude-sonnet)' },
|
|
67
|
+
{ value: 'google', name: 'Google (gemini-2.0-flash)' },
|
|
68
|
+
],
|
|
69
|
+
default: 'openai',
|
|
70
|
+
});
|
|
71
|
+
// Path selection
|
|
72
|
+
const pathChoice = await select({
|
|
73
|
+
message: 'Where to create the project?',
|
|
74
|
+
choices: [
|
|
75
|
+
{ value: 'current', name: `Current folder (./${name})` },
|
|
76
|
+
{ value: 'other', name: 'Other location...' },
|
|
77
|
+
],
|
|
78
|
+
});
|
|
79
|
+
let targetDir;
|
|
80
|
+
if (pathChoice === 'current') {
|
|
81
|
+
targetDir = resolve(process.cwd(), name);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
const customPath = await input({
|
|
85
|
+
message: 'Enter path:',
|
|
86
|
+
default: `./${name}`,
|
|
87
|
+
});
|
|
88
|
+
targetDir = resolve(process.cwd(), customPath);
|
|
89
|
+
}
|
|
90
|
+
// Check if directory exists
|
|
91
|
+
if (existsSync(targetDir)) {
|
|
92
|
+
console.log();
|
|
93
|
+
console.log(chalk.red(`Directory already exists: ${targetDir}`));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
console.log();
|
|
97
|
+
spinner.start('Creating agent project...');
|
|
98
|
+
// Build config
|
|
99
|
+
const config = { name, provider };
|
|
100
|
+
// Generate project files
|
|
101
|
+
const files = language === 'ts'
|
|
102
|
+
? generateAgentTypescriptProject(config)
|
|
103
|
+
: generateAgentPythonProject(config);
|
|
104
|
+
// Create target directory and write all files
|
|
105
|
+
await mkdir(targetDir, { recursive: true });
|
|
106
|
+
for (const [relativePath, content] of Object.entries(files)) {
|
|
107
|
+
const filePath = join(targetDir, relativePath);
|
|
108
|
+
const fileDir = join(filePath, '..');
|
|
109
|
+
await mkdir(fileDir, { recursive: true });
|
|
110
|
+
await writeFile(filePath, content, 'utf-8');
|
|
111
|
+
}
|
|
112
|
+
spinner.succeed('Agent project created');
|
|
113
|
+
// Install dependencies (TypeScript only)
|
|
114
|
+
let packageManager = 'npm';
|
|
115
|
+
if (language === 'ts') {
|
|
116
|
+
const { execSync } = await import('node:child_process');
|
|
117
|
+
try {
|
|
118
|
+
execSync('pnpm --version', { stdio: 'ignore' });
|
|
119
|
+
packageManager = 'pnpm';
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// pnpm not available, use npm
|
|
123
|
+
}
|
|
124
|
+
spinner.start(`Installing dependencies with ${packageManager}...`);
|
|
125
|
+
try {
|
|
126
|
+
execSync(`${packageManager} install`, { cwd: targetDir, stdio: 'ignore' });
|
|
127
|
+
spinner.succeed('Dependencies installed');
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
spinner.warn(`Failed to install dependencies. Run \`${packageManager} install\` manually.`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Show success message
|
|
134
|
+
console.log();
|
|
135
|
+
console.log(chalk.green.bold(' Your agent is ready!'));
|
|
136
|
+
console.log();
|
|
137
|
+
console.log(chalk.dim(' Next steps:'));
|
|
138
|
+
console.log(` cd ${name}`);
|
|
139
|
+
console.log(' cp .env.example .env');
|
|
140
|
+
console.log(' # Add your API key to .env');
|
|
141
|
+
if (language === 'py') {
|
|
142
|
+
console.log(' python -m venv .venv && source .venv/bin/activate');
|
|
143
|
+
console.log(' pip install -e .');
|
|
144
|
+
console.log(' python cli.py');
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log(` ${packageManager === 'pnpm' ? 'pnpm' : 'npm run'} dev`);
|
|
148
|
+
}
|
|
149
|
+
console.log();
|
|
150
|
+
console.log(chalk.dim(' Install triks:'));
|
|
151
|
+
console.log(' trik install @scope/trik-name');
|
|
152
|
+
console.log();
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
spinner.fail('Failed to create agent project');
|
|
156
|
+
if (error instanceof Error) {
|
|
157
|
+
// Handle user cancellation gracefully
|
|
158
|
+
if (error.message.includes('User force closed')) {
|
|
159
|
+
process.exit(0);
|
|
160
|
+
}
|
|
161
|
+
console.error(chalk.red(error.message));
|
|
162
|
+
}
|
|
163
|
+
process.exit(1);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=create-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-agent.js","sourceRoot":"","sources":["../../src/commands/create-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Hf"}
|
package/dist/commands/info.js
CHANGED
|
@@ -7,7 +7,6 @@ import { readFileSync, existsSync } from 'node:fs';
|
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import chalk from 'chalk';
|
|
9
9
|
import ora from 'ora';
|
|
10
|
-
import { validateManifest } from '@trikhub/manifest';
|
|
11
10
|
import { parseTrikName } from '../types.js';
|
|
12
11
|
import { registry } from '../lib/registry.js';
|
|
13
12
|
import { isTrikInstalled, getInstalledTrik, getTrikPath } from '../lib/storage.js';
|
|
@@ -58,12 +57,6 @@ export async function infoCommand(trikInput, options) {
|
|
|
58
57
|
const toolNames = Object.keys(manifestData.tools);
|
|
59
58
|
console.log(` Tools: ${toolNames.join(', ')}`);
|
|
60
59
|
}
|
|
61
|
-
const validation = validateManifest(manifestData);
|
|
62
|
-
if (validation.qualityScore !== undefined) {
|
|
63
|
-
const score = validation.qualityScore;
|
|
64
|
-
const color = score >= 80 ? chalk.green : score >= 50 ? chalk.yellow : chalk.red;
|
|
65
|
-
console.log(` Quality: ${color(`${score}/100`)}`);
|
|
66
|
-
}
|
|
67
60
|
console.log();
|
|
68
61
|
}
|
|
69
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6DH,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsPpE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -11,6 +11,7 @@ import ora from 'ora';
|
|
|
11
11
|
import { input, select, confirm } from '@inquirer/prompts';
|
|
12
12
|
import { loadDefaults, saveDefaults } from '../lib/storage.js';
|
|
13
13
|
import { generateTypescriptProject } from '../templates/typescript.js';
|
|
14
|
+
import { generatePythonProject } from '../templates/python.js';
|
|
14
15
|
const CATEGORIES = [
|
|
15
16
|
{ value: 'utilities', label: 'Utilities' },
|
|
16
17
|
{ value: 'productivity', label: 'Productivity' },
|
|
@@ -201,14 +202,10 @@ export async function initCommand(languageArg) {
|
|
|
201
202
|
domainTags,
|
|
202
203
|
toolNames,
|
|
203
204
|
};
|
|
204
|
-
// Only TypeScript is supported for now
|
|
205
|
-
if (language === 'py') {
|
|
206
|
-
spinner.stop();
|
|
207
|
-
console.log(chalk.yellow('\n Python trik init is not yet supported. Use TypeScript for now.\n'));
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
205
|
// Generate project files
|
|
211
|
-
const files =
|
|
206
|
+
const files = language === 'ts'
|
|
207
|
+
? generateTypescriptProject(config)
|
|
208
|
+
: generatePythonProject(config);
|
|
212
209
|
// Create target directory and write all files
|
|
213
210
|
await mkdir(targetDir, { recursive: true });
|
|
214
211
|
for (const [relativePath, content] of Object.entries(files)) {
|
|
@@ -218,23 +215,25 @@ export async function initCommand(languageArg) {
|
|
|
218
215
|
await writeFile(filePath, content, 'utf-8');
|
|
219
216
|
}
|
|
220
217
|
spinner.succeed('Trik created');
|
|
221
|
-
// Install dependencies
|
|
222
|
-
const { execSync } = await import('node:child_process');
|
|
218
|
+
// Install dependencies (TypeScript only — Python uses pip)
|
|
223
219
|
let packageManager = 'npm';
|
|
224
|
-
|
|
225
|
-
execSync
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
220
|
+
if (language === 'ts') {
|
|
221
|
+
const { execSync } = await import('node:child_process');
|
|
222
|
+
try {
|
|
223
|
+
execSync('pnpm --version', { stdio: 'ignore' });
|
|
224
|
+
packageManager = 'pnpm';
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
// pnpm not available, use npm
|
|
228
|
+
}
|
|
229
|
+
spinner.start(`Installing dependencies with ${packageManager}...`);
|
|
230
|
+
try {
|
|
231
|
+
execSync(`${packageManager} install`, { cwd: targetDir, stdio: 'ignore' });
|
|
232
|
+
spinner.succeed('Dependencies installed');
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
spinner.warn(`Failed to install dependencies. Run \`${packageManager} install\` manually.`);
|
|
236
|
+
}
|
|
238
237
|
}
|
|
239
238
|
// Save author defaults for reuse
|
|
240
239
|
saveDefaults({ authorName, authorGithub });
|
|
@@ -244,15 +243,29 @@ export async function initCommand(languageArg) {
|
|
|
244
243
|
console.log();
|
|
245
244
|
console.log(chalk.dim(' Next steps:'));
|
|
246
245
|
console.log(` cd ${name}`);
|
|
247
|
-
if (
|
|
248
|
-
|
|
246
|
+
if (language === 'py') {
|
|
247
|
+
const pkg = name.replace(/-/g, '_');
|
|
248
|
+
console.log(' python -m venv .venv && source .venv/bin/activate');
|
|
249
|
+
console.log(' pip install -e .');
|
|
250
|
+
if (agentMode === 'tool') {
|
|
251
|
+
console.log(` Edit src/${pkg}/main.py to implement your tool handlers`);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
console.log(` Edit src/${pkg}/main.py to implement your agent logic`);
|
|
255
|
+
console.log(` Customize src/${pkg}/prompts/system.md`);
|
|
256
|
+
}
|
|
249
257
|
}
|
|
250
258
|
else {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
259
|
+
if (agentMode === 'tool') {
|
|
260
|
+
console.log(' Edit src/agent.ts to implement your tool handlers');
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
console.log(' Edit src/agent.ts to implement your agent logic');
|
|
264
|
+
console.log(' Add tools in src/tools/');
|
|
265
|
+
console.log(' Customize src/prompts/system.md');
|
|
266
|
+
}
|
|
267
|
+
console.log(` ${packageManager === 'pnpm' ? 'pnpm' : 'npm run'} build`);
|
|
254
268
|
}
|
|
255
|
-
console.log(` ${packageManager === 'pnpm' ? 'pnpm' : 'npm run'} build`);
|
|
256
269
|
console.log(' trik lint .');
|
|
257
270
|
console.log(' trik publish');
|
|
258
271
|
console.log();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4DH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4fD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4DH,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4fD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAuGf"}
|
package/dist/commands/install.js
CHANGED
|
@@ -479,7 +479,9 @@ export async function installCommand(trikInput, options) {
|
|
|
479
479
|
trikRuntime = latestVersion.runtime;
|
|
480
480
|
}
|
|
481
481
|
const isCrossLanguage = projectType !== trikRuntime;
|
|
482
|
-
|
|
482
|
+
// Python projects always use .trikhub/triks/ download (no npm)
|
|
483
|
+
const useTrikhubDownload = isCrossLanguage || projectType === 'python';
|
|
484
|
+
if (useTrikhubDownload) {
|
|
483
485
|
// Cross-language: download to .trikhub/triks/
|
|
484
486
|
spinner.info(`Cross-language trik: ${chalk.cyan(trikRuntime)} trik in ${chalk.cyan(projectType)} project`);
|
|
485
487
|
spinner.start(`Installing ${chalk.cyan(packageName)} to .trikhub/triks/...`);
|