文件最后提交记录最后更新时间
Auto-commit at turn #1 (13 files changed) 2 天前
Auto-commit at turn #1 (2 files changed) 2 天前
Merge remote-tracking branch 'origin/release/v4.24.1' into release/v4.24.1 2 天前
feat(plugin): support git-subdir source + skip unknown source types The official marketplace catalog uses Claude Code's newer git-subdir source (plugin lives in a subdirectory of a git repo). AtomCode's ExternalSource enum only knew url/git/github/local, so serde failed the ENTIRE catalog parse on the unknown tag — even the valid inline plugins wouldn't load (mirrors anthropics/claude-plugins-official#585). manifest.rs: - add ExternalSource::GitSubdir { url, path, pin }; switch the tag rename from lowercase to kebab-case so it serialises as "git-subdir" - add PluginSource::Unknown(Value) catch-all so one unrecognised entry (e.g. a future "npm" source) is skipped instead of failing the whole marketplace installer.rs: - install_git_subdir: sparse + partial clone (--filter=blob:none --no-checkout, sparse-checkout set, checkout) of just the subdir; url accepts owner/repo shorthand or full git URL; path validated against traversal; plugin_dir records the subdir-qualified path - uninstall GC now removes the canonical installed/<mp>/<plugin> root (git-subdir's plugin_dir points into a subdir, so removing the recorded path alone would leave the clone behind) - dedup never reuses the marketplace clone for git-subdir Verified: real official catalog now parses (827 total: 3 inline + 824 git-subdir, 0 unknown); 60 plugin tests pass; workspace builds. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> 6 天前
fix(plugin): re-clone marketplace when directory is missing instead of failing with 'No such file or directory' - In update_marketplace(), check if the clone directory exists before running git pull - If missing (e.g. manually deleted or prior clone failed), re-clone from the registered source URL - Prevents confusing 'spawn git pull: No such file or directory (os error 2)' error 2 天前
Auto-commit at turn #1 (13 files changed) 2 天前
Auto-commit at turn #1 (13 files changed) 2 天前
Auto-commit at turn #1 (13 files changed) 2 天前
test(plugin): shared isolated_home helper to prevent ATOMCODE_HOME leakage Each plugin test module previously defined its own isolated_home() that set ATOMCODE_HOME but relied on tempdir Drop to "clean up". Drop order is non-deterministic, so the next serial test could observe a stale value pointing at a now-deleted directory and flake. Add plugin::test_support::isolated_home returning a guard whose Drop explicitly removes the env var before the tempdir disappears. Adopt it in marketplace, installer, loader, paths, and the integration test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> 1 个月前
[共创大赛] Tighten plugin git URL validation 24 天前