@ryanreh99/skills-sync 1.0.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/LICENSE +21 -0
- package/README.md +74 -0
- package/dist/assets/contracts/build/bundle.schema.json +76 -0
- package/dist/assets/contracts/inputs/config.schema.json +13 -0
- package/dist/assets/contracts/inputs/mcp-servers.schema.json +56 -0
- package/dist/assets/contracts/inputs/pack-manifest.schema.json +33 -0
- package/dist/assets/contracts/inputs/pack-sources.schema.json +47 -0
- package/dist/assets/contracts/inputs/profile.schema.json +21 -0
- package/dist/assets/contracts/inputs/upstreams.schema.json +45 -0
- package/dist/assets/contracts/runtime/targets.schema.json +120 -0
- package/dist/assets/contracts/state/upstreams-lock.schema.json +38 -0
- package/dist/assets/manifests/targets.linux.json +27 -0
- package/dist/assets/manifests/targets.macos.json +27 -0
- package/dist/assets/manifests/targets.windows.json +27 -0
- package/dist/assets/seed/config.json +3 -0
- package/dist/assets/seed/packs/personal/mcp/servers.json +20 -0
- package/dist/assets/seed/packs/personal/pack.json +7 -0
- package/dist/assets/seed/packs/personal/sources.json +31 -0
- package/dist/assets/seed/profiles/personal.json +4 -0
- package/dist/assets/seed/upstreams.json +23 -0
- package/dist/cli.js +532 -0
- package/dist/index.js +27 -0
- package/dist/lib/adapters/claude.js +49 -0
- package/dist/lib/adapters/codex.js +239 -0
- package/dist/lib/adapters/common.js +114 -0
- package/dist/lib/adapters/copilot.js +53 -0
- package/dist/lib/adapters/cursor.js +53 -0
- package/dist/lib/adapters/gemini.js +52 -0
- package/dist/lib/agents.js +888 -0
- package/dist/lib/bindings.js +510 -0
- package/dist/lib/build.js +190 -0
- package/dist/lib/bundle.js +165 -0
- package/dist/lib/config.js +324 -0
- package/dist/lib/core.js +447 -0
- package/dist/lib/detect.js +56 -0
- package/dist/lib/doctor.js +504 -0
- package/dist/lib/init.js +292 -0
- package/dist/lib/inventory.js +235 -0
- package/dist/lib/manage.js +463 -0
- package/dist/lib/mcp-config.js +264 -0
- package/dist/lib/profile-transfer.js +221 -0
- package/dist/lib/upstreams.js +782 -0
- package/docs/agent-storage-map.md +153 -0
- package/docs/architecture.md +117 -0
- package/docs/changelog.md +12 -0
- package/docs/commands.md +94 -0
- package/docs/contracts.md +112 -0
- package/docs/homebrew.md +46 -0
- package/docs/quickstart.md +14 -0
- package/docs/roadmap.md +5 -0
- package/docs/security.md +32 -0
- package/docs/user-guide.md +257 -0
- package/package.json +61 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ryan Rehman
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# skills-sync
|
|
2
|
+
|
|
3
|
+
skills-sync keeps AI agent skills and MCP servers synchronized across various AI coding agents.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
AI coding tools store skills and MCP definitions in different directories and configuration formats. Maintaining the same setup across multiple agents usually requires duplicating configuration, copying skill folders, and updating MCP server lists separately for each tool.
|
|
8
|
+
|
|
9
|
+
skills-sync provides a CLI for managing these definitions in one place and applying them to each supported agent. Skills can be sourced from local directories, public repositories, or private repositories.
|
|
10
|
+
|
|
11
|
+
If you create a skill or install an MCP server for one agent, skills-sync can synchronize it across your other agents so the same capabilities are available everywhere.
|
|
12
|
+
|
|
13
|
+
`skills-sync` works across any environment where these agents run, including both **IDEs and terminal-based workflows**.
|
|
14
|
+
## Supported Agents
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+

|
|
19
|
+

|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
npm:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm i -g @ryanreh99/skills-sync
|
|
28
|
+
npx @ryanreh99/skills-sync
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Homebrew:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
brew tap ryanreh99/skills-sync
|
|
35
|
+
brew install ryanreh99/skills-sync/skills-sync
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Quick Start
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Initialize local workspace from bundled seed content
|
|
42
|
+
skills-sync init --seed
|
|
43
|
+
|
|
44
|
+
# Build canonical artifacts from your profile inputs
|
|
45
|
+
skills-sync build
|
|
46
|
+
|
|
47
|
+
# Apply generated skills and MCP config to detected agent targets
|
|
48
|
+
skills-sync apply
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
These commands initialize your local workspace, build canonical artifacts, and apply them to supported agent targets.
|
|
52
|
+
|
|
53
|
+
Paste your existing agent's `mcp.json` settings and ask an AI agent to generate the corresponding `skills-sync` commands.
|
|
54
|
+
|
|
55
|
+
## Verify In Agent Chats
|
|
56
|
+
|
|
57
|
+
After `apply`, run these in your agent chat to confirm skills and MCP servers are available:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
/skills list or /skills show
|
|
61
|
+
/mcp list
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Documentation
|
|
65
|
+
|
|
66
|
+
Full documentation lives in the docs directory:
|
|
67
|
+
|
|
68
|
+
- [docs/quickstart.md](docs/quickstart.md)
|
|
69
|
+
- [docs/user-guide.md](docs/user-guide.md)
|
|
70
|
+
- [docs/commands.md](docs/commands.md)
|
|
71
|
+
|
|
72
|
+
## License
|
|
73
|
+
|
|
74
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Build Bundle Metadata",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"profile",
|
|
9
|
+
"generatedAt",
|
|
10
|
+
"sources"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schemaVersion": {
|
|
14
|
+
"type": "integer",
|
|
15
|
+
"const": 1
|
|
16
|
+
},
|
|
17
|
+
"profile": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1
|
|
20
|
+
},
|
|
21
|
+
"generatedAt": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"minLength": 1
|
|
24
|
+
},
|
|
25
|
+
"sources": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": [
|
|
29
|
+
"packPath",
|
|
30
|
+
"imports"
|
|
31
|
+
],
|
|
32
|
+
"properties": {
|
|
33
|
+
"packPath": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"minLength": 1
|
|
36
|
+
},
|
|
37
|
+
"imports": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"additionalProperties": false,
|
|
42
|
+
"required": [
|
|
43
|
+
"upstream",
|
|
44
|
+
"ref",
|
|
45
|
+
"commit",
|
|
46
|
+
"path",
|
|
47
|
+
"destPrefix"
|
|
48
|
+
],
|
|
49
|
+
"properties": {
|
|
50
|
+
"upstream": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"minLength": 1
|
|
53
|
+
},
|
|
54
|
+
"ref": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"minLength": 1
|
|
57
|
+
},
|
|
58
|
+
"commit": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 7
|
|
61
|
+
},
|
|
62
|
+
"path": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"minLength": 1
|
|
65
|
+
},
|
|
66
|
+
"destPrefix": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"minLength": 1
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "User Config",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"properties": {
|
|
7
|
+
"defaultProfile": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"minLength": 1,
|
|
10
|
+
"description": "Profile name used when --profile is not passed on the CLI."
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "MCP Servers Manifest",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"servers"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"servers": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"additionalProperties": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"anyOf": [
|
|
16
|
+
{
|
|
17
|
+
"required": [
|
|
18
|
+
"command"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"required": [
|
|
23
|
+
"url"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"properties": {
|
|
28
|
+
"command": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"minLength": 1
|
|
31
|
+
},
|
|
32
|
+
"url": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1
|
|
35
|
+
},
|
|
36
|
+
"args": {
|
|
37
|
+
"type": "array",
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"env": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"propertyNames": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1
|
|
47
|
+
},
|
|
48
|
+
"additionalProperties": {
|
|
49
|
+
"type": "string"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Pack Manifest",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"name",
|
|
8
|
+
"version"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
},
|
|
15
|
+
"version": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1
|
|
18
|
+
},
|
|
19
|
+
"description": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"maintainer": {
|
|
23
|
+
"type": "string"
|
|
24
|
+
},
|
|
25
|
+
"tags": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Pack Sources Selectors",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"imports"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"imports": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": [
|
|
16
|
+
"upstream",
|
|
17
|
+
"paths"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"upstream": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"ref": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1
|
|
27
|
+
},
|
|
28
|
+
"paths": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 1
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"destPrefix": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"minLength": 1
|
|
39
|
+
},
|
|
40
|
+
"allowWholeSkillsTree": {
|
|
41
|
+
"type": "boolean"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Profile",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"name",
|
|
8
|
+
"packPath"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
},
|
|
15
|
+
"packPath": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"minLength": 1
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Upstreams Config",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"upstreams"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"upstreams": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": [
|
|
16
|
+
"id",
|
|
17
|
+
"type",
|
|
18
|
+
"repo",
|
|
19
|
+
"defaultRef"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"id": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1
|
|
25
|
+
},
|
|
26
|
+
"type": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"enum": [
|
|
29
|
+
"git"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"repo": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1
|
|
35
|
+
},
|
|
36
|
+
"defaultRef": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"minLength": 1
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Tool Targets",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude",
|
|
9
|
+
"cursor",
|
|
10
|
+
"copilot",
|
|
11
|
+
"gemini"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"codex": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"additionalProperties": false,
|
|
17
|
+
"required": [
|
|
18
|
+
"skillsDir",
|
|
19
|
+
"mcpConfig"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"skillsDir": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"minLength": 1
|
|
25
|
+
},
|
|
26
|
+
"mcpConfig": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"minLength": 1
|
|
29
|
+
},
|
|
30
|
+
"canOverride": {
|
|
31
|
+
"type": "boolean"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"claude": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"required": [
|
|
39
|
+
"skillsDir",
|
|
40
|
+
"mcpConfig"
|
|
41
|
+
],
|
|
42
|
+
"properties": {
|
|
43
|
+
"skillsDir": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1
|
|
46
|
+
},
|
|
47
|
+
"mcpConfig": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1
|
|
50
|
+
},
|
|
51
|
+
"canOverride": {
|
|
52
|
+
"type": "boolean"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"cursor": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": [
|
|
60
|
+
"skillsDir",
|
|
61
|
+
"mcpConfig"
|
|
62
|
+
],
|
|
63
|
+
"properties": {
|
|
64
|
+
"skillsDir": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"minLength": 1
|
|
67
|
+
},
|
|
68
|
+
"mcpConfig": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"minLength": 1
|
|
71
|
+
},
|
|
72
|
+
"canOverride": {
|
|
73
|
+
"type": "boolean"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"copilot": {
|
|
78
|
+
"type": "object",
|
|
79
|
+
"additionalProperties": false,
|
|
80
|
+
"required": [
|
|
81
|
+
"skillsDir",
|
|
82
|
+
"mcpConfig"
|
|
83
|
+
],
|
|
84
|
+
"properties": {
|
|
85
|
+
"skillsDir": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"minLength": 1
|
|
88
|
+
},
|
|
89
|
+
"mcpConfig": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"minLength": 1
|
|
92
|
+
},
|
|
93
|
+
"canOverride": {
|
|
94
|
+
"type": "boolean"
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"gemini": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"additionalProperties": false,
|
|
101
|
+
"required": [
|
|
102
|
+
"skillsDir",
|
|
103
|
+
"mcpConfig"
|
|
104
|
+
],
|
|
105
|
+
"properties": {
|
|
106
|
+
"skillsDir": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"minLength": 1
|
|
109
|
+
},
|
|
110
|
+
"mcpConfig": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"minLength": 1
|
|
113
|
+
},
|
|
114
|
+
"canOverride": {
|
|
115
|
+
"type": "boolean"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Upstreams Lockfile",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"pins"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"pins": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"required": [
|
|
16
|
+
"upstream",
|
|
17
|
+
"ref",
|
|
18
|
+
"commit"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"upstream": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"minLength": 1
|
|
24
|
+
},
|
|
25
|
+
"ref": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1
|
|
28
|
+
},
|
|
29
|
+
"commit": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"pattern": "^[a-fA-F0-9]{7,40}$"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"codex": {
|
|
3
|
+
"skillsDir": "$HOME/.codex/skills/vendor_imports",
|
|
4
|
+
"mcpConfig": "$HOME/.codex/config.toml",
|
|
5
|
+
"canOverride": false
|
|
6
|
+
},
|
|
7
|
+
"claude": {
|
|
8
|
+
"skillsDir": "$HOME/.claude/skills",
|
|
9
|
+
"mcpConfig": "$HOME/.claude/mcp_servers.json",
|
|
10
|
+
"canOverride": true
|
|
11
|
+
},
|
|
12
|
+
"cursor": {
|
|
13
|
+
"skillsDir": "$HOME/.cursor/skills",
|
|
14
|
+
"mcpConfig": "$HOME/.cursor/mcp.json",
|
|
15
|
+
"canOverride": true
|
|
16
|
+
},
|
|
17
|
+
"copilot": {
|
|
18
|
+
"skillsDir": "$HOME/.copilot/skills",
|
|
19
|
+
"mcpConfig": "$HOME/.copilot/mcp-config.json",
|
|
20
|
+
"canOverride": true
|
|
21
|
+
},
|
|
22
|
+
"gemini": {
|
|
23
|
+
"skillsDir": "$HOME/.gemini/skills",
|
|
24
|
+
"mcpConfig": "$HOME/.gemini/settings.json",
|
|
25
|
+
"canOverride": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"codex": {
|
|
3
|
+
"skillsDir": "$HOME/.codex/skills/vendor_imports",
|
|
4
|
+
"mcpConfig": "$HOME/.codex/config.toml",
|
|
5
|
+
"canOverride": false
|
|
6
|
+
},
|
|
7
|
+
"claude": {
|
|
8
|
+
"skillsDir": "$HOME/.claude/skills",
|
|
9
|
+
"mcpConfig": "$HOME/mcp_servers.json",
|
|
10
|
+
"canOverride": true
|
|
11
|
+
},
|
|
12
|
+
"cursor": {
|
|
13
|
+
"skillsDir": "$HOME/.cursor/skills",
|
|
14
|
+
"mcpConfig": "$HOME/.cursor/mcp.json",
|
|
15
|
+
"canOverride": true
|
|
16
|
+
},
|
|
17
|
+
"copilot": {
|
|
18
|
+
"skillsDir": "$HOME/.copilot/skills",
|
|
19
|
+
"mcpConfig": "$HOME/.copilot/mcp-config.json",
|
|
20
|
+
"canOverride": true
|
|
21
|
+
},
|
|
22
|
+
"gemini": {
|
|
23
|
+
"skillsDir": "$HOME/.gemini/skills",
|
|
24
|
+
"mcpConfig": "$HOME/.gemini/settings.json",
|
|
25
|
+
"canOverride": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"codex": {
|
|
3
|
+
"skillsDir": "%USERPROFILE%\\\\.codex\\\\skills\\\\vendor_imports",
|
|
4
|
+
"mcpConfig": "%USERPROFILE%\\\\.codex\\\\config.toml",
|
|
5
|
+
"canOverride": false
|
|
6
|
+
},
|
|
7
|
+
"claude": {
|
|
8
|
+
"skillsDir": "%USERPROFILE%\\\\.claude\\\\skills",
|
|
9
|
+
"mcpConfig": "%USERPROFILE%\\\\.claude\\\\mcp_servers.json",
|
|
10
|
+
"canOverride": true
|
|
11
|
+
},
|
|
12
|
+
"cursor": {
|
|
13
|
+
"skillsDir": "%USERPROFILE%\\\\.cursor\\\\skills",
|
|
14
|
+
"mcpConfig": "%USERPROFILE%\\\\.cursor\\\\mcp.json",
|
|
15
|
+
"canOverride": true
|
|
16
|
+
},
|
|
17
|
+
"copilot": {
|
|
18
|
+
"skillsDir": "%USERPROFILE%\\\\.copilot\\\\skills",
|
|
19
|
+
"mcpConfig": "%USERPROFILE%\\\\.copilot\\\\mcp-config.json",
|
|
20
|
+
"canOverride": true
|
|
21
|
+
},
|
|
22
|
+
"gemini": {
|
|
23
|
+
"skillsDir": "%USERPROFILE%\\\\.gemini\\\\skills",
|
|
24
|
+
"mcpConfig": "%USERPROFILE%\\\\.gemini\\\\settings.json",
|
|
25
|
+
"canOverride": false
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"servers": {
|
|
3
|
+
"filesystem": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@modelcontextprotocol/server-filesystem",
|
|
8
|
+
"$HOME"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"memory": {
|
|
12
|
+
"command": "npx",
|
|
13
|
+
"args": [
|
|
14
|
+
"-y",
|
|
15
|
+
"@modelcontextprotocol/server-memory"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|