tools-manager 0.1.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.
@@ -0,0 +1,85 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1164" height="812" viewBox="0 0 1164 812">
2
+ <rect width="1164" height="812" fill="#e9edf5"/>
3
+ <style>
4
+ .mono{font-family:"SFMono-Regular","Menlo","Consolas",monospace}
5
+ .muted{fill:#5f6268}
6
+ .amber{fill:#9b6100}
7
+ .green{fill:#466100}
8
+ .prompt{fill:#15803d;font-weight:700}
9
+ .cmd{fill:#6b66d8;font-weight:700}
10
+ </style>
11
+ <text x="10" y="13" class="mono prompt" font-size="18">➜ tm</text>
12
+
13
+ <rect x="16" y="27" width="791" height="64" rx="5" fill="none" stroke="#a7adb8" stroke-width="1.5"/>
14
+ <text x="31" y="55" class="mono green" font-size="18">Tools Manager</text>
15
+ <text x="31" y="76" class="mono muted" font-size="18">One local control plane for skills, presets, and MCP servers.</text>
16
+ <text x="11" y="139" class="mono muted" font-size="18">↑/↓ choose Enter run Esc/q quit</text>
17
+
18
+ <text x="11" y="202" class="mono amber" font-size="18">SYSTEM</text>
19
+ <rect x="11" y="207" width="809" height="20" fill="#caff44"/>
20
+ <text x="13" y="223" class="mono" font-size="18" fill="#111">› Status</text>
21
+ <text x="281" y="223" class="mono" font-size="18" fill="#111">Paths, counts, and detected agents.</text>
22
+ <text x="732" y="223" class="mono cmd" font-size="18">tm status</text>
23
+
24
+ <text x="11" y="265" class="mono amber" font-size="18">AGENTS</text>
25
+ <text x="31" y="286" class="mono muted" font-size="18">List agent contents</text>
26
+ <text x="281" y="286" class="mono muted" font-size="18">Show skills and MCP per agent.</text>
27
+ <text x="732" y="286" class="mono muted" font-size="18">tm agents list --tool</text>
28
+
29
+ <text x="11" y="328" class="mono amber" font-size="18">SKILLS</text>
30
+ <text x="31" y="349" class="mono muted" font-size="18">Add skill from source</text>
31
+ <text x="281" y="349" class="mono muted" font-size="18">Import a local path or Git URL.</text>
32
+ <text x="732" y="349" class="mono muted" font-size="18">tm skills add</text>
33
+ <text x="31" y="370" class="mono muted" font-size="18">Import agent skills</text>
34
+ <text x="281" y="370" class="mono muted" font-size="18">Choose an agent, defaulting to all.</text>
35
+ <text x="732" y="370" class="mono muted" font-size="18">tm skills add --tool</text>
36
+ <text x="31" y="391" class="mono muted" font-size="18">List skills</text>
37
+ <text x="281" y="391" class="mono muted" font-size="18">Browse the managed skill registry.</text>
38
+ <text x="732" y="391" class="mono muted" font-size="18">tm skills list</text>
39
+ <text x="31" y="412" class="mono muted" font-size="18">Show skill</text>
40
+ <text x="281" y="412" class="mono muted" font-size="18">Inspect one skill document.</text>
41
+ <text x="732" y="412" class="mono muted" font-size="18">tm skills show</text>
42
+ <text x="31" y="433" class="mono muted" font-size="18">Remove skill</text>
43
+ <text x="281" y="433" class="mono muted" font-size="18">Delete managed source and agent symlinks.</text>
44
+ <text x="732" y="433" class="mono muted" font-size="18">tm skills remove</text>
45
+ <text x="31" y="454" class="mono muted" font-size="18">Sync skills</text>
46
+ <text x="281" y="454" class="mono muted" font-size="18">Apply a preset to agents.</text>
47
+ <text x="732" y="454" class="mono muted" font-size="18">tm skills sync --tool</text>
48
+
49
+ <text x="11" y="496" class="mono amber" font-size="18">SKILL PRESETS</text>
50
+ <text x="31" y="517" class="mono muted" font-size="18">List skill presets</text>
51
+ <text x="281" y="517" class="mono muted" font-size="18">Show skill groups.</text>
52
+ <text x="732" y="517" class="mono muted" font-size="18">tm presets list</text>
53
+ <text x="31" y="538" class="mono muted" font-size="18">Move skill preset</text>
54
+ <text x="281" y="538" class="mono muted" font-size="18">Move membership between skill presets.</text>
55
+ <text x="732" y="538" class="mono muted" font-size="18">tm presets move</text>
56
+
57
+ <text x="11" y="580" class="mono amber" font-size="18">MCP</text>
58
+ <text x="31" y="601" class="mono muted" font-size="18">Add MCP server</text>
59
+ <text x="281" y="601" class="mono muted" font-size="18">Register command, args, env, and tools.</text>
60
+ <text x="732" y="601" class="mono muted" font-size="18">tm mcp add --command --arg --env --tool</text>
61
+ <text x="31" y="622" class="mono muted" font-size="18">Import MCP from agents</text>
62
+ <text x="281" y="622" class="mono muted" font-size="18">Choose an agent, defaulting to all.</text>
63
+ <text x="732" y="622" class="mono muted" font-size="18">tm mcp add --tool</text>
64
+ <text x="31" y="643" class="mono muted" font-size="18">List MCP servers</text>
65
+ <text x="281" y="643" class="mono muted" font-size="18">Browse the managed MCP registry.</text>
66
+ <text x="732" y="643" class="mono muted" font-size="18">tm mcp list</text>
67
+ <text x="31" y="664" class="mono muted" font-size="18">Show MCP server</text>
68
+ <text x="281" y="664" class="mono muted" font-size="18">Inspect one MCP server.</text>
69
+ <text x="732" y="664" class="mono muted" font-size="18">tm mcp show</text>
70
+ <text x="31" y="685" class="mono muted" font-size="18">Remove MCP server</text>
71
+ <text x="281" y="685" class="mono muted" font-size="18">Delete from tm; sync to update agents.</text>
72
+ <text x="732" y="685" class="mono muted" font-size="18">tm mcp remove</text>
73
+ <text x="31" y="706" class="mono muted" font-size="18">Sync MCP</text>
74
+ <text x="281" y="706" class="mono muted" font-size="18">Write tm MCP registry to agents.</text>
75
+ <text x="732" y="706" class="mono muted" font-size="18">tm mcp sync</text>
76
+
77
+ <text x="11" y="748" class="mono amber" font-size="18">SYSTEM</text>
78
+ <text x="31" y="769" class="mono muted" font-size="18">Backup skills</text>
79
+ <text x="281" y="769" class="mono muted" font-size="18">Commit managed skills with Git.</text>
80
+ <text x="732" y="769" class="mono muted" font-size="18">tm backup</text>
81
+ <text x="31" y="790" class="mono muted" font-size="18">Help</text>
82
+ <text x="281" y="790" class="mono muted" font-size="18">Print command reference.</text>
83
+ <text x="732" y="790" class="mono muted" font-size="18">tm --help</text>
84
+ <rect x="11" y="794" width="10" height="18" fill="#ff7f5a"/>
85
+ </svg>
@@ -0,0 +1,70 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1100" height="620" viewBox="0 0 1100 620">
2
+ <rect width="1100" height="620" fill="#10110e"/>
3
+ <style>
4
+ .title{font-family:"SFMono-Regular","Menlo","Consolas",monospace;font-size:34px;font-weight:700;fill:#f3efd8}
5
+ .label{font-family:"SFMono-Regular","Menlo","Consolas",monospace;font-size:18px;font-weight:700;fill:#f3efd8}
6
+ .text{font-family:"SFMono-Regular","Menlo","Consolas",monospace;font-size:14px;fill:#a7aa98}
7
+ .cmd{font-family:"SFMono-Regular","Menlo","Consolas",monospace;font-size:13px;fill:#d7ff63}
8
+ .box{fill:#181a16;stroke:#34382d;stroke-width:2;rx:10}
9
+ .accent{stroke:#d7ff63;stroke-width:2.4;fill:none;marker-end:url(#arrow)}
10
+ .soft{stroke:#7fc7ff;stroke-width:2;fill:none;marker-end:url(#arrowBlue)}
11
+ </style>
12
+ <defs>
13
+ <marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto">
14
+ <path d="M0,0 L0,6 L9,3 z" fill="#d7ff63"/>
15
+ </marker>
16
+ <marker id="arrowBlue" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto">
17
+ <path d="M0,0 L0,6 L9,3 z" fill="#7fc7ff"/>
18
+ </marker>
19
+ </defs>
20
+
21
+ <text x="42" y="58" class="title">Tools Manager Workflow</text>
22
+ <text x="44" y="86" class="text">One local source of truth for skills, skill presets, and MCP configuration.</text>
23
+
24
+ <rect class="box" x="42" y="135" width="250" height="130"/>
25
+ <text x="66" y="168" class="label">Local Agents</text>
26
+ <text x="66" y="196" class="text">~/.codex/skills</text>
27
+ <text x="66" y="218" class="text">~/.cursor/skills</text>
28
+ <text x="66" y="240" class="text">~/.claude/skills</text>
29
+
30
+ <rect class="box" x="425" y="125" width="260" height="150"/>
31
+ <text x="449" y="158" class="label">Tools Manager</text>
32
+ <text x="449" y="187" class="text">~/.tools-manager/skills</text>
33
+ <text x="449" y="209" class="text">tools-manager.db</text>
34
+ <text x="449" y="231" class="text">config.toml</text>
35
+ <text x="449" y="254" class="cmd">tm skills add --tool all</text>
36
+
37
+ <rect class="box" x="808" y="135" width="250" height="130"/>
38
+ <text x="832" y="168" class="label">Skill Sync</text>
39
+ <text x="832" y="197" class="text">Default / Work presets</text>
40
+ <text x="832" y="219" class="text">agent skill directories</text>
41
+ <text x="832" y="246" class="cmd">tm skills sync</text>
42
+
43
+ <path class="accent" d="M292 200 C345 200 365 200 424 200"/>
44
+ <path class="accent" d="M686 200 C740 200 760 200 807 200"/>
45
+
46
+ <rect class="box" x="42" y="365" width="250" height="130"/>
47
+ <text x="66" y="398" class="label">Agent MCP Config</text>
48
+ <text x="66" y="426" class="text">~/.codex/config.toml</text>
49
+ <text x="66" y="448" class="text">~/.cursor/mcp.json</text>
50
+ <text x="66" y="470" class="text">~/.claude/mcp.json</text>
51
+
52
+ <rect class="box" x="425" y="355" width="260" height="150"/>
53
+ <text x="449" y="388" class="label">MCP Registry</text>
54
+ <text x="449" y="417" class="text">name / command / args</text>
55
+ <text x="449" y="439" class="text">env / target tools</text>
56
+ <text x="449" y="462" class="cmd">tm mcp add --tool all</text>
57
+ <text x="449" y="484" class="cmd">tm mcp list</text>
58
+
59
+ <rect class="box" x="808" y="365" width="250" height="130"/>
60
+ <text x="832" y="398" class="label">Config Sync</text>
61
+ <text x="832" y="427" class="text">writes TOML / JSON</text>
62
+ <text x="832" y="449" class="text">creates timestamp backups</text>
63
+ <text x="832" y="476" class="cmd">tm mcp sync</text>
64
+
65
+ <path class="soft" d="M292 430 C345 430 365 430 424 430"/>
66
+ <path class="soft" d="M686 430 C740 430 760 430 807 430"/>
67
+
68
+ <text x="440" y="565" class="cmd">tm</text>
69
+ <text x="474" y="565" class="text">opens the interactive command menu for all of these flows.</text>
70
+ </svg>
@@ -0,0 +1,99 @@
1
+ # Remote Skill Repositories
2
+
3
+ Remote skill repositories are Git repositories that contain one or more skill directories. Each skill directory must include a `SKILL.md` or `skill.md` file.
4
+
5
+ ## Single Skill Repository
6
+
7
+ Use this layout when the repository only contains one skill:
8
+
9
+ ```text
10
+ my-skill-repo/
11
+ SKILL.md
12
+ scripts/
13
+ references/
14
+ ```
15
+
16
+ Import it with:
17
+
18
+ ```bash
19
+ tm skills add 'git@github.com:you/my-skill-repo.git'
20
+ ```
21
+
22
+ ## Multiple Skills Repository
23
+
24
+ Use this layout when one repository contains multiple skills:
25
+
26
+ ```text
27
+ my-skills-repo/
28
+ skill-a/
29
+ SKILL.md
30
+ skill-b/
31
+ SKILL.md
32
+ skill-c/
33
+ SKILL.md
34
+ ```
35
+
36
+ Import all skills under the shared directory:
37
+
38
+ ```bash
39
+ tm skills add 'git@github.com:you/my-skills-repo.git#main:skills'
40
+ ```
41
+
42
+ Or import a specific skill by providing the branch, tag, or commit and the skill subpath:
43
+
44
+ ```bash
45
+ tm skills add 'git@github.com:you/my-skills-repo.git#main:skill-a'
46
+ ```
47
+
48
+ The Git source format is:
49
+
50
+ ```text
51
+ <git-url>#<branch-or-tag-or-commit>:<skill-subpath>
52
+ ```
53
+
54
+ Examples:
55
+
56
+ ```bash
57
+ tm skills add 'git@gitlab.company.com:group/skills.git#main:cb-yapi-content'
58
+ tm skills add 'https://github.com/you/skills.git#v1.0.0:frontend-skill'
59
+ ```
60
+
61
+ ## Private Repositories
62
+
63
+ Tools Manager shells out to your local `git clone`. It does not prompt for, store, or refresh Git credentials.
64
+
65
+ Before importing a private repository, make sure this works in your terminal:
66
+
67
+ ```bash
68
+ git clone <repo-url>
69
+ ```
70
+
71
+ For HTTPS GitLab repositories, use a personal access token instead of your password when the account has 2FA enabled. For SSH repositories, use the SSH form after your key is configured:
72
+
73
+ ```bash
74
+ tm skills add 'git@gitlab.company.com:group/skills.git#main:skills'
75
+ ```
76
+
77
+ ## Skill Metadata
78
+
79
+ `SKILL.md` should include frontmatter with a name and description:
80
+
81
+ ```md
82
+ ---
83
+ name: My Skill
84
+ description: What this skill does
85
+ ---
86
+
87
+ # My Skill
88
+
89
+ Instructions...
90
+ ```
91
+
92
+ The imported skill name is generated from the `name` field. If `name` is missing, Tools Manager uses the skill directory name.
93
+
94
+ ## Notes
95
+
96
+ - If a source contains multiple skill directories, all discovered skills are imported.
97
+ - Existing skills with the same name are updated.
98
+ - Git authentication is delegated to your local Git setup, including SSH keys, VPN, credential helpers, and tokens.
99
+ - Files next to `SKILL.md`, such as `scripts/`, `references/`, and `assets/`, are copied into the managed skill directory.
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "tools-manager",
3
+ "version": "0.1.0",
4
+ "description": "A Bun CLI for managing AI agent skills and MCP server configuration across tools.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "tm": "./dist/cli.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "docs",
13
+ "SKILL.md",
14
+ "README.md",
15
+ "README.zh-CN.md",
16
+ "package.json"
17
+ ],
18
+ "scripts": {
19
+ "tm": "bun run src/cli.ts",
20
+ "test": "bun test",
21
+ "typecheck": "tsc --noEmit",
22
+ "build": "rm -rf dist && bun run typecheck && bun build --target=bun --outfile=dist/cli.js ./src/cli.ts",
23
+ "check": "bun run typecheck && bun test",
24
+ "pack:dry": "npm pack --dry-run",
25
+ "prepack": "bun run build",
26
+ "prepublishOnly": "bun run check",
27
+ "release:dry": "bun run check && npm pack --dry-run",
28
+ "release": "bun run check && npm publish",
29
+ "release:patch": "bun run check && npm version patch && npm publish",
30
+ "release:minor": "bun run check && npm version minor && npm publish",
31
+ "release:major": "bun run check && npm version major && npm publish"
32
+ },
33
+ "engines": {
34
+ "bun": ">=1.3.0"
35
+ },
36
+ "devDependencies": {
37
+ "@types/bun": "latest",
38
+ "typescript": "^5.9.3"
39
+ }
40
+ }