Skip to content

Commit db7c1d2

Browse files
committed
chore: gitignore local artifacts, update docs, unify metadata and bump versions
- .gitignore: ignore .agents/ .claude/ .codex/ chats/ (local tool output and private conversation exports, same nature as .planning/) - CLAUDE.md/README/AGENTS.md: document scripts/, tests/, CI and the exact set of synced metadata fields; refresh stale AGENTS.md mirror - plugin.json x5: add license MIT, bump patch versions (chat-saver 0.6.1, codex-bridge 0.3.2, skill-extractor 0.1.3, update-plugins 0.1.1, lark 1.0.61); marketplace.json/README table regenerated via scripts/sync-plugins.sh - tests: refresh manual-checklist version stamps
1 parent b88ef94 commit db7c1d2

12 files changed

Lines changed: 175 additions & 31 deletions

File tree

‎.claude-plugin/marketplace.json‎

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,51 +12,62 @@
1212
"name": "codex-bridge",
1313
"source": "./plugins/codex-bridge",
1414
"description": "Bridge OpenAI Codex CLI into Claude Code for cross-model review, verification, task delegation and collaborative generation",
15-
"version": "0.3.1",
15+
"version": "0.3.2",
1616
"author": {
1717
"name": "Tiger",
1818
"url": "https://github.com/DropFan"
19-
}
19+
},
20+
"keywords": [
21+
"codex",
22+
"openai",
23+
"code-review",
24+
"cross-model"
25+
],
26+
"license": "MIT"
2027
},
2128
{
2229
"name": "chat-saver",
2330
"source": "./plugins/chat-saver",
2431
"description": "Save, search, manage, and export Claude Code conversations to documents or external platforms",
25-
"version": "0.6.0",
32+
"version": "0.6.1",
2633
"author": {
2734
"name": "Tiger",
2835
"url": "https://github.com/DropFan"
29-
}
36+
},
37+
"license": "MIT"
3038
},
3139
{
3240
"name": "skill-extractor",
3341
"source": "./plugins/skill-extractor",
3442
"description": "Extract reusable skills, commands, and agents from conversation history",
35-
"version": "0.1.2",
43+
"version": "0.1.3",
3644
"author": {
3745
"name": "Tiger",
3846
"url": "https://github.com/DropFan"
39-
}
47+
},
48+
"license": "MIT"
4049
},
4150
{
4251
"name": "update-plugins",
4352
"source": "./plugins/update-plugins",
4453
"description": "Batch update all installed Claude Code plugins with a single command",
45-
"version": "0.1.0",
54+
"version": "0.1.1",
4655
"author": {
4756
"name": "Tiger",
4857
"url": "https://github.com/DropFan"
49-
}
58+
},
59+
"license": "MIT"
5060
},
5161
{
5262
"name": "lark",
5363
"source": "./plugins/lark",
5464
"description": "Operate Feishu/Lark (IM, Docs, Base, Sheets, Calendar, Drive, Wiki, Task, OKR, VC, etc.) via the local lark-cli. Mirrors the Claude Code lark skill set for Cowork. 飞书/Lark 全套技能。",
55-
"version": "1.0.60",
65+
"version": "1.0.61",
5666
"author": {
5767
"name": "Tiger",
5868
"url": "https://github.com/DropFan"
59-
}
69+
},
70+
"license": "MIT"
6071
}
6172
]
6273
}

‎.gitignore‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,10 @@ __pycache__/
1919

2020
# Planning docs (local-only)
2121
.planning/
22+
23+
# Local tool artifacts and private session exports (local-only, same as .planning/)
24+
# Note: does NOT affect .claude-plugin/ directories (pattern matches the exact name only)
25+
.agents/
26+
.claude/
27+
.codex/
28+
chats/

‎AGENTS.md‎

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Claude Code Plugins Collection
2+
3+
<!-- This file mirrors CLAUDE.md. Keep the two in sync when editing either. -->
4+
5+
This is a Claude Code plugin marketplace repository.
6+
7+
## Repository Structure
8+
9+
```
10+
.claude-plugin/
11+
marketplace.json # Marketplace manifest, declares all available plugins
12+
plugins/
13+
<plugin-name>/ # Self-developed plugin directory
14+
.claude-plugin/
15+
plugin.json # Plugin metadata
16+
commands/ # User-invokable slash commands
17+
agents/ # Subagent definitions
18+
skills/ # Skill modules
19+
hooks/ # Hook configurations
20+
scripts/
21+
sync-plugins.sh # Sync plugin.json metadata to marketplace.json and README.md
22+
validate-plugins.sh # Validate plugin structure and metadata (plugin.json, frontmatter, naming)
23+
verify-sync.sh # Detect drift between plugin.json and marketplace.json (--run-sync to fix)
24+
lark-rebuild.py # Rebuild the lark plugin from lark-cli skill sources
25+
tests/
26+
run-tests.sh # Automated test runner
27+
*-manual-tests.md # Manual test checklists per plugin
28+
.github/workflows/
29+
ci.yml # CI: validate-plugins + verify-sync + tests
30+
```
31+
32+
## Plugin Management
33+
34+
- **Self-developed plugins** — Source code lives directly under `plugins/<name>/`
35+
- **Curated plugins** — Referenced in `marketplace.json` via GitHub source pointing to external repos
36+
37+
## Development Guidelines
38+
39+
### Adding a Self-developed Plugin
40+
41+
1. Create a plugin directory under `plugins/`
42+
2. Create `.claude-plugin/plugin.json` with metadata (this is the single source of truth)
43+
3. Add an entry to the `plugins` array in `marketplace.json` with a relative path as source
44+
4. Run `bash scripts/sync-plugins.sh` to auto-sync metadata to `marketplace.json` and `README.md`
45+
46+
> **Note:** `plugin.json` is the single source of truth for self-developed plugins. Do NOT manually edit plugin metadata in `marketplace.json` or `README.md` — run the sync script instead. The sync covers the `description`, `version`, `author`, `keywords`, and `license` fields; other fields are not propagated.
47+
48+
### Maintenance Scripts
49+
50+
- `bash scripts/sync-plugins.sh` — run after changing any `plugin.json` to propagate metadata to `marketplace.json` and the README plugin table
51+
- `bash scripts/validate-plugins.sh` — run before committing to validate plugin structure and metadata
52+
- `bash scripts/verify-sync.sh` — run before committing to detect metadata drift (add `--run-sync` to fix it)
53+
- `bash tests/run-tests.sh` — run the automated tests; manual checklists live in `tests/*-manual-tests.md`
54+
55+
CI (`.github/workflows/ci.yml`) runs validate-plugins, verify-sync, and the tests.
56+
57+
### Adding a Curated Plugin
58+
59+
Add an entry to the `plugins` array in `marketplace.json` using the GitHub source format:
60+
```json
61+
{
62+
"name": "plugin-name",
63+
"source": { "source": "github", "repo": "owner/repo" },
64+
"description": "Description"
65+
}
66+
```
67+
68+
### Component Naming Conventions
69+
70+
- Commands: `commands/<command-name>.md`
71+
- Agents: `agents/<agent-name>.md`
72+
- Skills: `skills/<skill-name>/SKILL.md`
73+
- Hooks: `hooks/hooks.json`
74+
75+
### plugin.json Template
76+
77+
```json
78+
{
79+
"name": "plugin-name",
80+
"description": "Plugin description",
81+
"version": "0.1.0",
82+
"author": {
83+
"name": "Tiger",
84+
"url": "https://github.com/DropFan"
85+
},
86+
"license": "MIT"
87+
}
88+
```

‎CLAUDE.md‎

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,16 @@ plugins/
1515
agents/ # Subagent definitions
1616
skills/ # Skill modules
1717
hooks/ # Hook configurations
18+
scripts/
19+
sync-plugins.sh # Sync plugin.json metadata to marketplace.json and README.md
20+
validate-plugins.sh # Validate plugin structure and metadata (plugin.json, frontmatter, naming)
21+
verify-sync.sh # Detect drift between plugin.json and marketplace.json (--run-sync to fix)
22+
lark-rebuild.py # Rebuild the lark plugin from lark-cli skill sources
23+
tests/
24+
run-tests.sh # Automated test runner
25+
*-manual-tests.md # Manual test checklists per plugin
26+
.github/workflows/
27+
ci.yml # CI: validate-plugins + verify-sync + tests
1828
```
1929

2030
## Plugin Management
@@ -31,7 +41,16 @@ plugins/
3141
3. Add an entry to the `plugins` array in `marketplace.json` with a relative path as source
3242
4. Run `bash scripts/sync-plugins.sh` to auto-sync metadata to `marketplace.json` and `README.md`
3343

34-
> **Note:** `plugin.json` is the single source of truth for self-developed plugins. Do NOT manually edit plugin metadata in `marketplace.json` or `README.md` — run the sync script instead.
44+
> **Note:** `plugin.json` is the single source of truth for self-developed plugins. Do NOT manually edit plugin metadata in `marketplace.json` or `README.md` — run the sync script instead. The sync covers the `description`, `version`, `author`, `keywords`, and `license` fields; other fields are not propagated.
45+
46+
### Maintenance Scripts
47+
48+
- `bash scripts/sync-plugins.sh` — run after changing any `plugin.json` to propagate metadata to `marketplace.json` and the README plugin table
49+
- `bash scripts/validate-plugins.sh` — run before committing to validate plugin structure and metadata
50+
- `bash scripts/verify-sync.sh` — run before committing to detect metadata drift (add `--run-sync` to fix it)
51+
- `bash tests/run-tests.sh` — run the automated tests; manual checklists live in `tests/*-manual-tests.md`
52+
53+
CI (`.github/workflows/ci.yml`) runs validate-plugins, verify-sync, and the tests.
3554

3655
### Adding a Curated Plugin
3756

@@ -61,6 +80,7 @@ Add an entry to the `plugins` array in `marketplace.json` using the GitHub sourc
6180
"author": {
6281
"name": "Tiger",
6382
"url": "https://github.com/DropFan"
64-
}
83+
},
84+
"license": "MIT"
6585
}
6686
```

‎README.md‎

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Then browse and install plugins:
2121
<!-- PLUGINS_TABLE_START -->
2222
| Plugin | Description | Author | Install | Version |
2323
|--------|-------------|--------|---------|---------|
24-
| [chat-saver](./plugins/chat-saver) | Save, search, manage, and export Claude Code conversations to documents or external platforms | [Tiger](https://github.com/DropFan) | `/plugin install chat-saver@tiger-plugins` | 0.6.0 |
25-
| [codex-bridge](./plugins/codex-bridge) | Bridge OpenAI Codex CLI into Claude Code for cross-model review, verification, task delegation and collaborative generation | [Tiger](https://github.com/DropFan) | `/plugin install codex-bridge@tiger-plugins` | 0.3.1 |
26-
| [lark](./plugins/lark) | Operate Feishu/Lark (IM, Docs, Base, Sheets, Calendar, Drive, Wiki, Task, OKR, VC, etc.) via the local lark-cli. Mirrors the Claude Code lark skill set for Cowork. 飞书/Lark 全套技能。 | [Tiger](https://github.com/DropFan) | `/plugin install lark@tiger-plugins` | 1.0.60 |
27-
| [skill-extractor](./plugins/skill-extractor) | Extract reusable skills, commands, and agents from conversation history | [Tiger](https://github.com/DropFan) | `/plugin install skill-extractor@tiger-plugins` | 0.1.2 |
28-
| [update-plugins](./plugins/update-plugins) | Batch update all installed Claude Code plugins with a single command | [Tiger](https://github.com/DropFan) | `/plugin install update-plugins@tiger-plugins` | 0.1.0 |
24+
| [chat-saver](./plugins/chat-saver) | Save, search, manage, and export Claude Code conversations to documents or external platforms | [Tiger](https://github.com/DropFan) | `/plugin install chat-saver@tiger-plugins` | 0.6.1 |
25+
| [codex-bridge](./plugins/codex-bridge) | Bridge OpenAI Codex CLI into Claude Code for cross-model review, verification, task delegation and collaborative generation | [Tiger](https://github.com/DropFan) | `/plugin install codex-bridge@tiger-plugins` | 0.3.2 |
26+
| [lark](./plugins/lark) | Operate Feishu/Lark (IM, Docs, Base, Sheets, Calendar, Drive, Wiki, Task, OKR, VC, etc.) via the local lark-cli. Mirrors the Claude Code lark skill set for Cowork. 飞书/Lark 全套技能。 | [Tiger](https://github.com/DropFan) | `/plugin install lark@tiger-plugins` | 1.0.61 |
27+
| [skill-extractor](./plugins/skill-extractor) | Extract reusable skills, commands, and agents from conversation history | [Tiger](https://github.com/DropFan) | `/plugin install skill-extractor@tiger-plugins` | 0.1.3 |
28+
| [update-plugins](./plugins/update-plugins) | Batch update all installed Claude Code plugins with a single command | [Tiger](https://github.com/DropFan) | `/plugin install update-plugins@tiger-plugins` | 0.1.1 |
2929
<!-- PLUGINS_TABLE_END -->
3030

3131
## Repository Structure
@@ -36,17 +36,31 @@ Then browse and install plugins:
3636
plugins/
3737
<plugin-name>/ # Self-developed plugins
3838
.claude-plugin/
39-
plugin.json
39+
plugin.json # Plugin metadata (source of truth)
4040
commands/ # Slash commands (/command-name)
4141
agents/ # Subagent definitions
4242
skills/ # Skill modules
4343
hooks/ # Hook configurations
44+
scripts/ # Maintenance scripts (sync, validate, verify)
45+
tests/ # Test runner and manual test checklists
46+
.github/workflows/ # CI configuration
4447
```
4548

4649
**Self-developed plugins** live under `plugins/` as source directories.
4750

4851
**Curated plugins** are referenced in `marketplace.json` via GitHub source — no code duplication.
4952

53+
## Development
54+
55+
For self-developed plugins, `plugins/<name>/.claude-plugin/plugin.json` is the single source of truth for metadata. Do not hand-edit their entries in `marketplace.json` or the plugin table above — the sync script regenerates both, and manual edits will be overwritten.
56+
57+
- `bash scripts/sync-plugins.sh` — sync `plugin.json` metadata (description, version, author, keywords, license) to `marketplace.json` and the README plugin table
58+
- `bash scripts/validate-plugins.sh` — validate plugin structure and metadata
59+
- `bash scripts/verify-sync.sh` — detect drift between `plugin.json` and `marketplace.json` (`--run-sync` to fix)
60+
- `bash tests/run-tests.sh` — run the automated tests; manual checklists live in `tests/*-manual-tests.md`
61+
62+
CI (`.github/workflows/ci.yml`) runs validation, sync verification, and the tests.
63+
5064
## License
5165

5266
MIT
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "chat-saver",
33
"description": "Save, search, manage, and export Claude Code conversations to documents or external platforms",
4-
"version": "0.6.0",
4+
"version": "0.6.1",
55
"author": {
66
"name": "Tiger",
77
"url": "https://github.com/DropFan"
8-
}
8+
},
9+
"license": "MIT"
910
}

‎plugins/codex-bridge/.claude-plugin/plugin.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "codex-bridge",
33
"description": "Bridge OpenAI Codex CLI into Claude Code for cross-model review, verification, task delegation and collaborative generation",
4-
"version": "0.3.1",
4+
"version": "0.3.2",
55
"author": {
66
"name": "Tiger",
77
"url": "https://github.com/DropFan"
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "lark",
33
"description": "Operate Feishu/Lark (IM, Docs, Base, Sheets, Calendar, Drive, Wiki, Task, OKR, VC, etc.) via the local lark-cli. Mirrors the Claude Code lark skill set for Cowork. 飞书/Lark 全套技能。",
4-
"version": "1.0.60",
4+
"version": "1.0.61",
55
"author": {
66
"name": "Tiger",
77
"url": "https://github.com/DropFan"
8-
}
8+
},
9+
"license": "MIT"
910
}
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "skill-extractor",
33
"description": "Extract reusable skills, commands, and agents from conversation history",
4-
"version": "0.1.2",
4+
"version": "0.1.3",
55
"author": {
66
"name": "Tiger",
77
"url": "https://github.com/DropFan"
8-
}
8+
},
9+
"license": "MIT"
910
}
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{
22
"name": "update-plugins",
33
"description": "Batch update all installed Claude Code plugins with a single command",
4-
"version": "0.1.0",
4+
"version": "0.1.1",
55
"author": {
66
"name": "Tiger",
77
"url": "https://github.com/DropFan"
8-
}
8+
},
9+
"license": "MIT"
910
}

0 commit comments

Comments
 (0)