beginning-agents
v0.1.0
Published
Canonical MCP and skill registry CLI for multi-agent configuration.
Maintainers
Readme
beginning-agents
beginning-agents is a canonical repository and bgng CLI for managing shared MCP server configuration and reusable skills across local coding agents.
It is built for people who want one source of truth for:
- shared skill definitions
- canonical MCP server configuration
- synced local state for Claude Code, Codex, Cursor, and
~/.agents
What It Does
- keeps
config.jsonandmcp-servers.jsonas the canonical registry - syncs that canonical state into local tool config files
- manages a shared skill library under
skills/shared - provides a safe-by-default CLI for sync, inspection, and diagnostics
- supports Parallel as CLI-backed skills by default, with optional MCP overlay
Safety Model
The project is intentionally conservative:
- sync commands are non-destructive by default
- stale state is reported instead of silently deleted
bgng doctoris report-onlysync-mcp.tsremains available as a compatibility wrapper
Requirements
- Bun 1.2+
- Node.js available for MCP servers that use
node - local installations of optional tools such as
parallel-cliormarkdownify-mcpwhen you enable them
Install
Work from a checkout
git clone https://github.com/remyjkim/beginning-agents.git
cd beginning-agents
bun installUse the CLI directly from the checkout:
bun run bgng -- --helpOr link it globally for local development:
bun link
bgng --helpInstall the published package
Once the package is published, install it globally with:
npm install -g beginning-agentsWhen installed globally, bgng will use the packaged canonical repo by default. If you want it to operate on a different checkout, set AGENTS_REPO_ROOT.
Quickstart
Inspect current state:
bgng status
bgng skills list
bgng mcp listPreview changes before writing:
bgng sync --dry-runApply the canonical config and curated skills:
bgng syncCommands
Current implemented commands:
bgng syncbgng skills listbgng skills curate <name>bgng skills uncurate <name>bgng skills syncbgng mcp listbgng mcp syncbgng statusbgng doctor
sync-mcp.ts remains available as a compatibility wrapper over the same extracted core modules.
Sync Wrapper
Run the compatibility script from the repo root:
bun run sync-mcp.ts
bun run sync-mcp.ts --dry-run
bun run sync-mcp.ts --mcp-only
bun run sync-mcp.ts --skills-only
bun run sync-mcp.ts --target=claudeMCP Registry
Edit mcp-servers.json and, if the server is optional, update config.json. Then run:
bgng mcp syncplatform-provided entries stay in the canonical registry but are intentionally excluded from generated local tool configs.
Parallel MCP is handled separately through config.parallel.mcp.enabled because it is an integration-mode choice, not just an optional single-server toggle.
Skill Library
Place a skill in one of these directories:
skills/shared/for skills exposed through~/.agents/skills/skills/claude-only/for Claude-only symlinksskills/codex-only/for Codex-only symlinksskills/experimental/for skills not yet curated
For shared skills, add the curated ~/.agents/skills/<name> symlink to point at the repo copy, then run:
bgng skills syncThe sync flow creates downstream symlinks in ~/.claude/skills/ and ~/.codex/skills/ and reports stale symlinks without removing them.
Parallel
Parallel is integrated in two layers:
- default: CLI-backed shared skills
- optional: globally enabled Parallel MCP servers
Default behavior
By default, this repo exposes these shared skills:
parallel-web-searchparallel-web-extractparallel-deep-researchparallel-data-enrichment
These skills assume parallel-cli is installed and authenticated separately.
Install the CLI:
curl -fsSL https://parallel.ai/install.sh | bashAuthenticate:
parallel-cli login
parallel-cli authThe skills use structured CLI commands such as:
parallel-cli search "<query>" --json
parallel-cli extract <url> --json
parallel-cli research run "<question>" --json
parallel-cli enrich suggest "<intent>" --jsonOptional MCP overlay
This repo also models:
parallel-searchparallel-task
These are disabled by default. To opt in globally, edit config.json and set:
"parallel": {
"cli": { "enabled": true },
"mcp": { "enabled": true }
}Then run:
bgng mcp syncNotes:
parallel-searchpoints athttps://search.parallel.ai/mcpparallel-taskpoints athttps://task-mcp.parallel.ai/mcp- Search MCP is usable anonymously at lower limits
- Task MCP requires authentication and may require a client-side OAuth or API-key flow after sync, depending on the tool
Markdownify
markdownify is treated as an optional local MCP dependency.
The canonical registry assumes a local install path:
"command": "node",
"args": ["markdownify-mcp/dist/index.js"]If you want to enable it, update the path in mcp-servers.json to match your machine and then enable it in config.json.
Contributing
Community contributions are welcome.
Start with:
bun test
bun run typecheck
bun run verify:release --jsonThen read CONTRIBUTING.md before opening a pull request.
