Agentdrop

VS Code extension that synchronizes agentic artifacts — Agents, Skills, and Prompts — from GitHub repositories and deploys enabled artifacts to the local locations expected by VS Code / GitHub Copilot, Claude Code, and the OpenAI Codex CLI. Read-only toward source repositories.
How it works
Add a repo URL. The extension clones it, scans for agents/skills/prompts, resolves dependencies, and copies enabled artifacts to the right places — so your tools pick them up instantly. Backs up overwritten files, restores on deactivation. Manage everything from the sidebar.

Status
Architecture foundation. The pipeline skeleton (clone → scan → classify → dependencies → conflicts → deploy → backup) is implemented end-to-end; individual features are built on top of it (see SRS Appendix C for the release boundary).
Based on the SRS; architecture documented in docs/architecture/.
Development
pnpm install
pnpm run compile # esbuild bundle -> dist/extension.js
pnpm run check-types # tsc --noEmit
pnpm test # unit + integration tests (VS Code test host)
Press F5 in VS Code to launch the Extension Development Host.
Repository authors: read docs/repository-structure.md for the complete specification of how to structure a consumable repository — directory layout, YAML schema, folder skills, handoff frontmatter, dependency resolution, and classification rules.
Project layout
src/
├─ extension.ts # activate/deactivate
├─ composition.ts # composition root: wires core + infra + ui (ADR-001)
├─ core/ # domain logic — never imports 'vscode'
│ ├─ model/ # Artifact, Repository, HubState, settings types
│ ├─ ports/ # GitPort, FileSystemPort, SettingsPort, StatePort, Logger
│ └─ services/ # pipeline stages: scanner, metadata, rules, deps,
│ # conflicts, targets, backup, deployment, orchestrator
├─ infra/ # adapters: git CLI, node fs, vscode settings/state/log
└─ ui/ # sidebar tree + command registration
docs/
├─ SRS.md # requirements (normative)
├─ architecture/ # 6 architecture views + ADRs
└─ research/ # VS Code extension developer guide
Contributing rules (short version)
src/core must not import vscode — enforced by the ports in core/ports.
- Business rules for classification/activation live only in
core/services/activationRules.ts.
- Every state change goes through the
SyncOrchestrator pipeline; do not write to target locations from anywhere else.
- The extension never writes to source repositories —
GitPort deliberately has no write operations.
- New target-path knowledge goes into
TargetLocator only.
Read docs/architecture/00-overview.md before adding features.