mthds 0.0.5 → 0.0.7
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 +74 -8
- package/dist/agents/claude-code.js +24 -9
- package/dist/agents/claude-code.js.map +1 -1
- package/dist/agents/types.d.ts +1 -2
- package/dist/cli.js +48 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.js +7 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/install.d.ts +5 -1
- package/dist/commands/install.js +123 -24
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/telemetry.d.ts +3 -0
- package/dist/commands/telemetry.js +49 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/resolver/address.d.ts +2 -0
- package/dist/resolver/address.js +27 -0
- package/dist/resolver/address.js.map +1 -0
- package/dist/resolver/github.d.ts +2 -0
- package/dist/resolver/github.js +179 -0
- package/dist/resolver/github.js.map +1 -0
- package/dist/resolver/index.d.ts +6 -0
- package/dist/resolver/index.js +5 -0
- package/dist/resolver/index.js.map +1 -0
- package/dist/resolver/local.d.ts +2 -0
- package/dist/resolver/local.js +123 -0
- package/dist/resolver/local.js.map +1 -0
- package/dist/resolver/types.d.ts +50 -0
- package/dist/resolver/types.js +2 -0
- package/dist/resolver/types.js.map +1 -0
- package/dist/resolver/validate.d.ts +12 -0
- package/dist/resolver/validate.js +177 -0
- package/dist/resolver/validate.js.map +1 -0
- package/dist/supabase/methods.d.ts +2 -2
- package/dist/supabase/methods.js +4 -3
- package/dist/supabase/methods.js.map +1 -1
- package/dist/supabase/types.d.ts +15 -10
- package/dist/telemetry/posthog.d.ts +23 -1
- package/dist/telemetry/posthog.js +86 -4
- package/dist/telemetry/posthog.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -13,16 +13,30 @@ A method is a packaged workflow that an AI agent (like Claude Code) can use. Met
|
|
|
13
13
|
### Install a method
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npx mthds install
|
|
16
|
+
npx mthds install org/repo-name
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
To install a single method from a multi-method repository:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx mthds install org/repo-name --method my-method
|
|
17
23
|
```
|
|
18
24
|
|
|
19
25
|
The CLI will:
|
|
20
26
|
|
|
21
|
-
1.
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
24
|
-
4.
|
|
25
|
-
5.
|
|
27
|
+
1. Fetch the `methods/` folder from the GitHub repository
|
|
28
|
+
2. Validate each method's `METHODS.toml` manifest
|
|
29
|
+
3. If `--method <slug>` is provided, install only that method (errors if slug not found)
|
|
30
|
+
4. Ask which AI agent to install it for (Claude Code, with more coming soon)
|
|
31
|
+
5. Ask where to install — **local** (current project) or **global** (your machine)
|
|
32
|
+
6. Optionally install a [runner](#runners)
|
|
33
|
+
7. Copy all `.mthds` files to `.claude/methods/<slug>/`
|
|
34
|
+
|
|
35
|
+
You can also install from a local directory:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npx mthds install --local /path/to/repo
|
|
39
|
+
```
|
|
26
40
|
|
|
27
41
|
### Install locations
|
|
28
42
|
|
|
@@ -31,6 +45,58 @@ The CLI will:
|
|
|
31
45
|
| Local | `<cwd>/.claude/methods/<slug>/` |
|
|
32
46
|
| Global | `~/.claude/methods/<slug>/` |
|
|
33
47
|
|
|
48
|
+
## Publishing a method
|
|
49
|
+
|
|
50
|
+
To make your methods installable via `npx mthds install`, you need a **public GitHub repository** with the right structure.
|
|
51
|
+
|
|
52
|
+
### Repository structure
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
org/repo-name (or user-name/repo-name)
|
|
56
|
+
└── methods/
|
|
57
|
+
├── my-method/
|
|
58
|
+
│ ├── METHODS.toml
|
|
59
|
+
│ ├── main.mthds
|
|
60
|
+
│ └── helpers/
|
|
61
|
+
│ └── utils.mthds
|
|
62
|
+
└── another-method/
|
|
63
|
+
├── METHODS.toml
|
|
64
|
+
└── pipeline.mthds
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Rules
|
|
68
|
+
|
|
69
|
+
1. The repository must be **public** on GitHub, with the address format `org/repo-name` or `user-name/repo-name`
|
|
70
|
+
2. The repository must contain a `methods/` folder at its root
|
|
71
|
+
3. Inside `methods/`, each subfolder is a **method package**. The folder name is the **slug** and **must be kebab-case** (e.g. `my-method`, `legal-tools`)
|
|
72
|
+
4. Each method package folder must contain a `METHODS.toml` file that follows the [manifest specification](https://mthds.ai/latest/packages/manifest/)
|
|
73
|
+
5. Each method package folder should contain one or more `.mthds` files (the actual method definitions)
|
|
74
|
+
|
|
75
|
+
### METHODS.toml
|
|
76
|
+
|
|
77
|
+
The `METHODS.toml` manifest is validated during installation. A minimal valid manifest:
|
|
78
|
+
|
|
79
|
+
```toml
|
|
80
|
+
[package]
|
|
81
|
+
address = "github.com/your-org/your-repo"
|
|
82
|
+
version = "1.0.0"
|
|
83
|
+
description = "A short description of what this method does"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Optional fields: `display_name`, `authors`, `license`, `mthds_version`.
|
|
87
|
+
|
|
88
|
+
See the full specification at [mthds.ai/latest/packages/manifest](https://mthds.ai/latest/packages/manifest/).
|
|
89
|
+
|
|
90
|
+
### Validation
|
|
91
|
+
|
|
92
|
+
The CLI validates everything during install:
|
|
93
|
+
|
|
94
|
+
- Slug must be kebab-case, start with a letter, max 64 characters
|
|
95
|
+
- `METHODS.toml` must parse as valid TOML
|
|
96
|
+
- `[package]` section with `address`, `version` (semver), and `description` are required
|
|
97
|
+
- `address` must include a hostname with a dot (e.g. `github.com/...`)
|
|
98
|
+
- Invalid methods are skipped with detailed error messages; valid ones proceed to install
|
|
99
|
+
|
|
34
100
|
## Runners
|
|
35
101
|
|
|
36
102
|
To execute a method, you need a **runner**. A runner is the engine that takes a method definition and actually runs it.
|
|
@@ -39,7 +105,7 @@ To execute a method, you need a **runner**. A runner is the engine that takes a
|
|
|
39
105
|
|
|
40
106
|
| Runner | Description |
|
|
41
107
|
|--------|-------------|
|
|
42
|
-
| **Pipelex** (local) | A Python-based runner you install on your machine. Install it with `npx mthds setup runner pipelex`. |
|
|
108
|
+
| **[Pipelex](https://github.com/Pipelex/pipelex)** (local) | A Python-based runner you install on your machine. Install it with `npx mthds setup runner pipelex`. |
|
|
43
109
|
| **Pipelex API** (remote) | An API server that runs methods remotely. You can self-host it using [pipelex-api](https://github.com/Pipelex/pipelex-api) (open source). A public hosted API at `https://api.pipelex.com` is coming soon. |
|
|
44
110
|
|
|
45
111
|
These are the only runners that exist today. Feel free to create your own runner in a different language!
|
|
@@ -129,7 +195,7 @@ Either `pipe_code` or `mthds_content` must be provided.
|
|
|
129
195
|
|
|
130
196
|
## Telemetry
|
|
131
197
|
|
|
132
|
-
Anonymous usage data
|
|
198
|
+
Anonymous usage data is collected to help rank methods on the leaderboard. Each `install` event includes the package address, slug, version, and manifest metadata. No personal or device information is collected.
|
|
133
199
|
|
|
134
200
|
To opt out:
|
|
135
201
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
1
|
+
import { join, dirname, resolve } from "node:path";
|
|
2
2
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
3
3
|
import * as p from "@clack/prompts";
|
|
4
4
|
import { Agent } from "./types.js";
|
|
@@ -8,14 +8,29 @@ export const claudeCodeHandler = {
|
|
|
8
8
|
supported: true,
|
|
9
9
|
async installMethod(ctx) {
|
|
10
10
|
const s = p.spinner();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
const { repo } = ctx;
|
|
12
|
+
for (const method of repo.methods) {
|
|
13
|
+
const installDir = resolve(join(ctx.targetDir, method.slug));
|
|
14
|
+
s.start(`Installing "${method.slug}" to ${installDir}...`);
|
|
15
|
+
// Create the install directory
|
|
16
|
+
mkdirSync(installDir, { recursive: true });
|
|
17
|
+
// Write METHODS.toml (verbatim raw string)
|
|
18
|
+
writeFileSync(join(installDir, "METHODS.toml"), method.rawManifest, "utf-8");
|
|
19
|
+
// Write all .mthds files, preserving directory structure
|
|
20
|
+
for (const file of method.files) {
|
|
21
|
+
const filePath = resolve(join(installDir, file.relativePath));
|
|
22
|
+
if (!filePath.startsWith(installDir + "/")) {
|
|
23
|
+
throw new Error(`Path traversal detected: "${file.relativePath}" escapes install directory.`);
|
|
24
|
+
}
|
|
25
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
26
|
+
writeFileSync(filePath, file.content, "utf-8");
|
|
27
|
+
}
|
|
28
|
+
const fileCount = method.files.length;
|
|
29
|
+
const filesMsg = fileCount === 0
|
|
30
|
+
? "(manifest only)"
|
|
31
|
+
: `(${fileCount} .mthds file${fileCount > 1 ? "s" : ""})`;
|
|
32
|
+
s.stop(`Installed "${method.slug}" to ${installDir} ${filesMsg}`);
|
|
33
|
+
}
|
|
19
34
|
},
|
|
20
35
|
};
|
|
21
36
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/agents/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,EAAE,EAAE,KAAK,CAAC,UAAU;IACpB,KAAK,EAAE,aAAa;IACpB,SAAS,EAAE,IAAI;IAEf,KAAK,CAAC,aAAa,CAAC,GAAmB;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,CAAC,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,IAAI,QAAQ,UAAU,KAAK,CAAC,CAAC;YAE3D,+BAA+B;YAC/B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,2CAA2C;YAC3C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAE7E,yDAAyD;YACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,YAAY,8BAA8B,CAAC,CAAC;gBAChG,CAAC;gBACD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC;gBAC9B,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAI,SAAS,eAAe,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YAE5D,CAAC,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,QAAQ,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF,CAAC"}
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -11,8 +11,7 @@ export declare const InstallLocation: {
|
|
|
11
11
|
};
|
|
12
12
|
export type InstallLocation = (typeof InstallLocation)[keyof typeof InstallLocation];
|
|
13
13
|
export interface InstallContext {
|
|
14
|
-
readonly
|
|
15
|
-
readonly content: string;
|
|
14
|
+
readonly repo: import("../resolver/types.js").ResolvedRepo;
|
|
16
15
|
readonly agent: Agent;
|
|
17
16
|
readonly location: InstallLocation;
|
|
18
17
|
readonly targetDir: string;
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,7 @@ import { runPipeline } from "./commands/run.js";
|
|
|
11
11
|
import { buildPipe, buildRunner, buildInputs, buildOutput, } from "./commands/build.js";
|
|
12
12
|
import { validatePlx } from "./commands/validate.js";
|
|
13
13
|
import { runnerSetDefault, runnerList } from "./commands/runner.js";
|
|
14
|
+
import { telemetryDisable, telemetryEnable, telemetryStatus } from "./commands/telemetry.js";
|
|
14
15
|
function getRunner(cmd) {
|
|
15
16
|
return cmd.optsWithGlobals().runner;
|
|
16
17
|
}
|
|
@@ -95,14 +96,30 @@ program
|
|
|
95
96
|
.action(async (target, options, cmd) => {
|
|
96
97
|
await validatePlx(target, { ...options, runner: getRunner(cmd) });
|
|
97
98
|
});
|
|
98
|
-
// ── mthds install
|
|
99
|
+
// ── mthds install [address] ──────────────────────────────────────────
|
|
99
100
|
program
|
|
100
101
|
.command("install")
|
|
101
|
-
.argument("
|
|
102
|
-
.
|
|
102
|
+
.argument("[address]", "Package address (org/repo or org/repo/sub/path)")
|
|
103
|
+
.option("--local <path>", "Install from a local directory")
|
|
104
|
+
.option("--method <slug>", "Install only the specified method (by slug)")
|
|
105
|
+
.description("Install a method package")
|
|
103
106
|
.exitOverride()
|
|
104
|
-
.action(async (
|
|
105
|
-
|
|
107
|
+
.action(async (address, opts) => {
|
|
108
|
+
if (address && opts.local) {
|
|
109
|
+
printLogo();
|
|
110
|
+
p.intro("mthds install");
|
|
111
|
+
p.log.error("Cannot use both an address and --local at the same time.");
|
|
112
|
+
p.outro("");
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
if (!address && !opts.local) {
|
|
116
|
+
printLogo();
|
|
117
|
+
p.intro("mthds install");
|
|
118
|
+
p.log.error("Provide an address (org/repo) or use --local <path>.");
|
|
119
|
+
p.outro("");
|
|
120
|
+
process.exit(1);
|
|
121
|
+
}
|
|
122
|
+
await installMethod({ address, dir: opts.local, method: opts.method });
|
|
106
123
|
});
|
|
107
124
|
// ── mthds setup runner <name> ──────────────────────────────────────
|
|
108
125
|
const setup = program.command("setup").exitOverride();
|
|
@@ -159,6 +176,32 @@ config
|
|
|
159
176
|
.action(async () => {
|
|
160
177
|
await configList();
|
|
161
178
|
});
|
|
179
|
+
// ── mthds telemetry disable|enable|status ───────────────────────────
|
|
180
|
+
const telemetry = program
|
|
181
|
+
.command("telemetry")
|
|
182
|
+
.description("Manage anonymous telemetry")
|
|
183
|
+
.exitOverride();
|
|
184
|
+
telemetry
|
|
185
|
+
.command("disable")
|
|
186
|
+
.description("Disable anonymous telemetry")
|
|
187
|
+
.exitOverride()
|
|
188
|
+
.action(async () => {
|
|
189
|
+
await telemetryDisable();
|
|
190
|
+
});
|
|
191
|
+
telemetry
|
|
192
|
+
.command("enable")
|
|
193
|
+
.description("Enable anonymous telemetry")
|
|
194
|
+
.exitOverride()
|
|
195
|
+
.action(async () => {
|
|
196
|
+
await telemetryEnable();
|
|
197
|
+
});
|
|
198
|
+
telemetry
|
|
199
|
+
.command("status")
|
|
200
|
+
.description("Show telemetry status")
|
|
201
|
+
.exitOverride()
|
|
202
|
+
.action(async () => {
|
|
203
|
+
await telemetryStatus();
|
|
204
|
+
});
|
|
162
205
|
// Default: show banner
|
|
163
206
|
program.action(() => {
|
|
164
207
|
showBanner();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.js
CHANGED
|
@@ -42,7 +42,7 @@ export function showBanner() {
|
|
|
42
42
|
console.log(` ${chalk.yellow("runner set-default <name>")} Set the default runner`);
|
|
43
43
|
console.log(` ${chalk.yellow("runner list")} List available runners\n`);
|
|
44
44
|
console.log(chalk.bold(" Setup:"));
|
|
45
|
-
console.log(` ${chalk.yellow("install <
|
|
45
|
+
console.log(` ${chalk.yellow("install <address>")} Install a method package`);
|
|
46
46
|
console.log(` ${chalk.yellow("config set <key> <val>")} Set a config value`);
|
|
47
47
|
console.log(` ${chalk.yellow("config get <key>")} Get a config value`);
|
|
48
48
|
console.log(` ${chalk.yellow("config list")} List all config values\n`);
|
|
@@ -51,9 +51,13 @@ export function showBanner() {
|
|
|
51
51
|
console.log(` ${chalk.dim("$")} mthds run my_bundle.plx --inputs data.json`);
|
|
52
52
|
console.log(` ${chalk.dim("$")} mthds build pipe "Analyze a CV against a job offer"`);
|
|
53
53
|
console.log(` ${chalk.dim("$")} mthds validate my_bundle.plx`);
|
|
54
|
-
console.log(` ${chalk.dim("$")} mthds install
|
|
54
|
+
console.log(` ${chalk.dim("$")} mthds install pipelex/cookbook`);
|
|
55
|
+
console.log(` ${chalk.dim("$")} mthds install --dir ./my-local-method\n`);
|
|
55
56
|
console.log(chalk.dim(" Docs: https://docs.pipelex.com \n"));
|
|
56
57
|
console.log(chalk.bold(" Telemetry:"));
|
|
57
|
-
console.log(chalk.
|
|
58
|
+
console.log(` ${chalk.yellow("telemetry disable")} Disable anonymous telemetry`);
|
|
59
|
+
console.log(` ${chalk.yellow("telemetry enable")} Enable anonymous telemetry`);
|
|
60
|
+
console.log(` ${chalk.yellow("telemetry status")} Show telemetry status\n`);
|
|
61
|
+
console.log(chalk.dim(" Anonymous usage data (method slug + timestamp) is collected\n to help rank methods. No personal info is collected.\n Opt out: DISABLE_TELEMETRY=1 or mthds telemetry disable\n"));
|
|
58
62
|
}
|
|
59
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;QACjE,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAG;IACX,4CAA4C;IAC5C,+CAA+C;IAC/C,mDAAmD;IACnD,8CAA8C;IAC9C,iDAAiD;CAClD,CAAC;AAEF,MAAM,UAAU,SAAS;IACvB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,kCAAkC,CACtE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,wCAAwC,CAClF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,kCAAkC,CAC/E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,6BAA6B,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,iCAAiC,CAC1E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,yBAAyB,CACpE,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,yBAAyB,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,0CAA0C,CAC7E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -8,32 +8,107 @@ import * as p from "@clack/prompts";
|
|
|
8
8
|
import chalk from "chalk";
|
|
9
9
|
import { isPipelexInstalled } from "../runtime/check.js";
|
|
10
10
|
import { ensureRuntime } from "../runtime/installer.js";
|
|
11
|
-
import {
|
|
11
|
+
import { trackInstall, shutdown } from "../telemetry/posthog.js";
|
|
12
12
|
import { printLogo } from "./index.js";
|
|
13
13
|
import { InstallLocation as Loc } from "../agents/types.js";
|
|
14
14
|
import { getAllAgents, getAgentHandler } from "../agents/registry.js";
|
|
15
|
-
import {
|
|
16
|
-
|
|
15
|
+
import { parseAddress } from "../resolver/address.js";
|
|
16
|
+
import { resolveFromGitHub } from "../resolver/github.js";
|
|
17
|
+
import { resolveFromLocal } from "../resolver/local.js";
|
|
18
|
+
export async function installMethod(options) {
|
|
17
19
|
printLogo();
|
|
18
20
|
p.intro("mthds install");
|
|
19
|
-
|
|
21
|
+
const { address, dir, method: methodFilter } = options;
|
|
22
|
+
// Step 0: Resolve repo (multiple methods)
|
|
20
23
|
const s = p.spinner();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
let resolved;
|
|
25
|
+
// Derive org/repo for telemetry
|
|
26
|
+
let orgRepo;
|
|
27
|
+
if (dir) {
|
|
28
|
+
s.start(`Resolving methods from ${dir}...`);
|
|
29
|
+
try {
|
|
30
|
+
resolved = resolveFromLocal(dir);
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
s.stop("Failed to resolve local methods.");
|
|
34
|
+
p.log.error(err.message);
|
|
35
|
+
p.outro("");
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
s.stop(`Scanned methods/ folder in ${dir}`);
|
|
39
|
+
// Derive org/repo from first method's package.address (strip github.com/ prefix)
|
|
40
|
+
if (resolved.methods.length > 0) {
|
|
41
|
+
const addr = resolved.methods[0].manifest.package.address;
|
|
42
|
+
orgRepo = addr.replace(/^github\.com\//, "");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else if (address) {
|
|
46
|
+
let parsed;
|
|
47
|
+
try {
|
|
48
|
+
parsed = parseAddress(address);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
p.log.error(err.message);
|
|
52
|
+
p.outro("");
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
s.start(`Resolving methods from ${parsed.org}/${parsed.repo}${parsed.subpath ? `/${parsed.subpath}` : ""}...`);
|
|
56
|
+
try {
|
|
57
|
+
resolved = await resolveFromGitHub(parsed);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
s.stop("Failed to resolve methods.");
|
|
61
|
+
p.log.error(err.message);
|
|
62
|
+
p.outro("");
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
s.stop(`Scanned methods/ folder in ${parsed.org}/${parsed.repo}`);
|
|
66
|
+
orgRepo = `${parsed.org}/${parsed.repo}`;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
p.log.error("Provide an address (org/repo) or use --dir <path>.");
|
|
27
70
|
p.outro("");
|
|
28
71
|
process.exit(1);
|
|
29
72
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
73
|
+
// Filter by --method if provided
|
|
74
|
+
if (methodFilter) {
|
|
75
|
+
const match = resolved.methods.find((m) => m.slug === methodFilter);
|
|
76
|
+
if (!match) {
|
|
77
|
+
const available = resolved.methods.map((m) => m.slug).join(", ");
|
|
78
|
+
p.log.error(`Method "${methodFilter}" not found. Available slugs: ${available || "(none)"}`);
|
|
79
|
+
p.outro("");
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
resolved = { ...resolved, methods: [match] };
|
|
83
|
+
}
|
|
84
|
+
// Display summary
|
|
85
|
+
const validCount = resolved.methods.length;
|
|
86
|
+
const skippedCount = resolved.skipped.length;
|
|
87
|
+
const totalCount = validCount + skippedCount;
|
|
88
|
+
p.log.info([
|
|
89
|
+
`${chalk.bold("Methods found:")} ${totalCount} total, ${chalk.green(`${validCount} valid`)}, ${skippedCount > 0 ? chalk.yellow(`${skippedCount} skipped`) : `${skippedCount} skipped`}`,
|
|
90
|
+
].join("\n"));
|
|
91
|
+
// Show valid methods
|
|
92
|
+
for (const method of resolved.methods) {
|
|
93
|
+
const m = method.manifest.package;
|
|
94
|
+
const fileCount = method.files.length;
|
|
95
|
+
p.log.success([
|
|
96
|
+
`${chalk.bold(method.slug)} — ${m.display_name ?? m.address} v${m.version}`,
|
|
97
|
+
` ${m.description}`,
|
|
98
|
+
` ${fileCount} .mthds file${fileCount !== 1 ? "s" : ""}`,
|
|
99
|
+
].join("\n"));
|
|
100
|
+
}
|
|
101
|
+
// Show skipped methods with errors
|
|
102
|
+
for (const skip of resolved.skipped) {
|
|
103
|
+
const errList = skip.errors.map((e) => ` - ${e}`).join("\n");
|
|
104
|
+
p.log.warning(`${chalk.bold(skip.slug)} — skipped:\n${errList}`);
|
|
105
|
+
}
|
|
106
|
+
// If no valid methods, exit
|
|
107
|
+
if (validCount === 0) {
|
|
108
|
+
p.log.error("No valid methods to install.");
|
|
33
109
|
p.outro("");
|
|
34
110
|
process.exit(1);
|
|
35
111
|
}
|
|
36
|
-
s.stop(`Found "${method.name}"${method.description ? ` — ${method.description}` : ""}`);
|
|
37
112
|
// Step 1: Which AI agent?
|
|
38
113
|
const agents = getAllAgents();
|
|
39
114
|
const agentOptions = agents.map((a) => ({
|
|
@@ -43,7 +118,7 @@ export async function installMethod(slug) {
|
|
|
43
118
|
disabled: !a.supported,
|
|
44
119
|
}));
|
|
45
120
|
const selectedAgent = await p.select({
|
|
46
|
-
message: "Which AI agent do you want to install
|
|
121
|
+
message: "Which AI agent do you want to install these methods for?",
|
|
47
122
|
options: agentOptions,
|
|
48
123
|
});
|
|
49
124
|
if (p.isCancel(selectedAgent)) {
|
|
@@ -54,7 +129,7 @@ export async function installMethod(slug) {
|
|
|
54
129
|
const localDir = join(process.cwd(), ".claude", "methods");
|
|
55
130
|
const globalDir = join(homedir(), ".claude", "methods");
|
|
56
131
|
const selectedLocation = await p.select({
|
|
57
|
-
message: "Where do you want to install
|
|
132
|
+
message: "Where do you want to install these methods?",
|
|
58
133
|
options: [
|
|
59
134
|
{
|
|
60
135
|
value: Loc.Local,
|
|
@@ -73,8 +148,9 @@ export async function installMethod(slug) {
|
|
|
73
148
|
process.exit(0);
|
|
74
149
|
}
|
|
75
150
|
// Step 3: Optional runner install
|
|
151
|
+
let hasPipelex = isPipelexInstalled();
|
|
76
152
|
const wantsRunner = await p.confirm({
|
|
77
|
-
message: "Do you want to install the runner
|
|
153
|
+
message: "Do you want to install the pipelex runner? (https://github.com/Pipelex/pipelex)",
|
|
78
154
|
initialValue: false,
|
|
79
155
|
});
|
|
80
156
|
if (p.isCancel(wantsRunner)) {
|
|
@@ -82,27 +158,50 @@ export async function installMethod(slug) {
|
|
|
82
158
|
process.exit(0);
|
|
83
159
|
}
|
|
84
160
|
if (wantsRunner) {
|
|
85
|
-
if (!
|
|
161
|
+
if (!hasPipelex) {
|
|
86
162
|
await ensureRuntime();
|
|
87
163
|
p.log.success("pipelex installed.");
|
|
164
|
+
hasPipelex = true;
|
|
88
165
|
}
|
|
89
166
|
else {
|
|
90
167
|
p.log.success("pipelex is already installed.");
|
|
91
168
|
}
|
|
92
169
|
}
|
|
93
|
-
// Step 4: Install via the agent handler
|
|
170
|
+
// Step 4: Install all valid methods via the agent handler
|
|
94
171
|
const targetDir = selectedLocation === Loc.Global ? globalDir : localDir;
|
|
95
172
|
mkdirSync(targetDir, { recursive: true });
|
|
96
173
|
const handler = getAgentHandler(selectedAgent);
|
|
97
|
-
|
|
174
|
+
// Track telemetry only for public GitHub repositories
|
|
175
|
+
if (resolved.source === "github" && resolved.isPublic) {
|
|
176
|
+
for (const method of resolved.methods) {
|
|
177
|
+
const pkg = method.manifest.package;
|
|
178
|
+
trackInstall({
|
|
179
|
+
address: orgRepo ?? pkg.address.replace(/^github\.com\//, ""),
|
|
180
|
+
slug: method.slug,
|
|
181
|
+
version: pkg.version,
|
|
182
|
+
description: pkg.description,
|
|
183
|
+
display_name: pkg.display_name,
|
|
184
|
+
authors: pkg.authors,
|
|
185
|
+
license: pkg.license,
|
|
186
|
+
mthds_version: pkg.mthds_version,
|
|
187
|
+
exports: method.manifest.exports,
|
|
188
|
+
dependencies: method.manifest.dependencies,
|
|
189
|
+
manifest_raw: method.rawManifest,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
98
193
|
await handler.installMethod({
|
|
99
|
-
|
|
100
|
-
content: method.content,
|
|
194
|
+
repo: resolved,
|
|
101
195
|
agent: selectedAgent,
|
|
102
196
|
location: selectedLocation,
|
|
103
197
|
targetDir,
|
|
104
198
|
});
|
|
105
|
-
// Step 5: Optional Pipelex skills
|
|
199
|
+
// Step 5: Optional Pipelex skills (only if user chose to install the runner)
|
|
200
|
+
if (!wantsRunner) {
|
|
201
|
+
p.outro("Done");
|
|
202
|
+
await shutdown();
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
106
205
|
const SKILLS_REPO = "https://github.com/pipelex/skills";
|
|
107
206
|
const skillChoices = [
|
|
108
207
|
{ value: "check", label: "check", hint: "Validate and review Pipelex workflow bundles without making changes" },
|
|
@@ -118,7 +217,7 @@ export async function installMethod(slug) {
|
|
|
118
217
|
? chalk.yellow(" press space to select, enter to confirm")
|
|
119
218
|
: chalk.dim(" press space to select, enter to confirm");
|
|
120
219
|
const result = await p.multiselect({
|
|
121
|
-
message: `
|
|
220
|
+
message: `For a better experience using the pipelex runner, install the skills:\n${hint}`,
|
|
122
221
|
options: skillChoices,
|
|
123
222
|
required: false,
|
|
124
223
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|