Curated AI development toolkits, ready for your coding agents.
Awesome Python Dev (
awesome-python-dev, CLI:apd) is a curated collection and project-local installer for AI coding agent skills, engineering rules, MCP servers, and LSP tooling. It supports Claude Code, Codex, Cursor, GitHub Copilot in VS Code, and OpenCode. Runuvx awesome-python-dev initto select a toolkit for debugging, testing, security review, or framework development. Installable recipes use exact commits or package versions; skill and rule archives are SHA-256 verified. Reference-only entries link to their upstream projects.
English · 简体中文
Browse the website · Getting started · Documentation index · Website maintenance
For agents: Integration guide · Text index (llms.txt) · Catalog JSON
Find useful, established GitHub projects for AI assisted development, then install a selected toolkit into your project with one command. Skills supply reusable workflows, rules activate engineering and security guidance, MCP servers connect tools and context, and an LSP bridge exposes code intelligence to your agent.
The installer is written in Python, with a dedicated Python toolkit. The collection also serves web and general software development across Claude Code, Codex, Cursor, VS Code Copilot, and OpenCode.
The repository catalog includes 63 entries: 34 installable resources (22 skills, 6 rule packs, 5 MCP servers, and Serena's LSP bridge) and 29 references (agent-lsp, mcpls, 8 native language servers, and 19 other tools). Choose from 11 profiles across 5 coding agents. Repository main may include unreleased additions; apd list --json reports the catalog in your installed runtime.
- Quick start
- npm shell and runtime updates
- Explore the collection
- Choose your toolkit
- Supported agents
- Rules and framework guidance
- LSP and security tools
- Everyday commands
- How installation works
- What makes a project a good fit
- Project structure
- FAQ
- Contribute
- Acknowledgments
Install uv, then run this inside the project you want to equip:
uvx awesome-python-dev init --agents codex,claude --profile starterOr use npm:
npx awesome-python-dev init --agents codex,claude --profile starterThe Python package requires Python 3.11+. The npm launcher requires Node.js 22.21+ (22.x) or 24.5+ and Python 3.11+ or an existing uv installation. When Python is unavailable, uv can provision Python 3.13. Both entry points run the same toolkit.
This downloads the selected skills and common rules, then writes project-local agent configuration. Restart or reload your agent, review its MCP approval prompts, and start working. Codex loads project configuration only for a trusted project; see the agent guide.
For repeated use, install the CLI once:
uv tool install awesome-python-dev
apd list
apd init --agents codex,claude --profile starter --dry-run
apd init --agents codex,claude --profile starter
apd doctorFor a global npm installation, use npm install --global awesome-python-dev instead. Both distributions provide apd and awesome-python-dev; choose one global installation method. Refresh the Python installation with uv tool upgrade awesome-python-dev, or request a particular release with uvx [email protected].
The registry commands do not require a Git checkout. A version-pinned source fallback is also available when Git is installed:
uvx --from 'git+https://github.com/m9rco/[email protected]' apd init --agents codex,claude --profile starterMCP runtime prerequisites depend on your selection: npm-based servers need Node.js and npx; Python-based servers need uvx. Your coding agent starts these processes when it loads the configuration. apd init configures MCP servers; it does not launch them or install your coding agent.
The starter profile needs Node.js 20.18.1 or newer for Context7. On Windows, npm recipes use cmd /c npx. Existing JSONC configuration is left untouched: convert it to JSON before adding MCP entries, or install skills only with --tools.
Example preview from apd init --agents codex --profile starter --dry-run:
Preview only (no downloads or writes):
codex: skill systematic-debugging -> .agents/skills/systematic-debugging
codex: skill test-driven-development -> .agents/skills/test-driven-development
codex: skill verification-before-completion -> .agents/skills/verification-before-completion
codex: MCP context7 -> .codex/config.toml
codex: rules ecc-common-rules -> native project instructions
The npm shell and Python runtime have independent versions. The shell is a small entry point; it downloads the bundled runtime from GitHub Releases on first use, checks its SHA-256 hash, and caches it. Normal commands check for a compatible runtime update at most once every 24 hours. Catalog and installer updates therefore ship without another npm upload.
apd --shell-version # npm shell version
apd --version # selected runtime version
apd runtime status # inspect local selection; no network request
apd runtime update # check the stable runtime channel nowThese runtime commands belong to the npm launcher. For reproducible use, set APD_RUNTIME_VERSION=0.3.0; APD_OFFLINE=1 uses an already cached runtime. Offline mode covers the launcher, so installing uncached upstream skills can still require network access. See runtime selection and caching and the release workflow.
Browse the curated catalog for project descriptions, upstream links, licenses, review dates, and installation support. The research notes record selection evidence and pinned versions.
| Installable highlights | What this toolkit includes |
|---|---|
| Superpowers | 3 skills: systematic debugging, test-driven development, and verification before completion. |
| wshobson/agents | 2 Python skills: testing patterns and packaging. |
| ECC | 15 skills and 6 rule packs covering security, engineering, Python, TypeScript, Go, Java, and framework workflows. |
| Context7 | MCP access to library documentation and version-specific examples. |
| Playwright MCP | Browser inspection and interactive web testing. |
| Fetch MCP | Retrieve web pages as text or Markdown for documentation and research. |
| Serena | A commit-pinned MCP-to-LSP bridge for symbols, references, and diagnostics. |
Also explore OpenSpec, Spec Kit, GitHub MCP, uv, Ruff, and security scanners in the full reference collection.
Entries marked installable have a recipe in this release. Entries without an install recipe are references, with installation managed by their upstream projects. lsp includes both the installable Serena bridge and standalone language-server references.
apd list --kind skill
apd list --kind rules
apd list --kind mcp
apd list --kind lsp
apd list --kind reference
apd list --json| Profile | Intended use |
|---|---|
🌱 starter |
Debugging, test-driven development, verification, Context7, and common engineering rules. |
🐍 python |
Python patterns, testing, packaging, Python rules, and Fetch MCP alongside the core workflow. |
🌐 web |
Frontend patterns, TypeScript rules, Playwright MCP, and the core workflow. |
engineering |
Coding standards, API design, migrations, deployment, and common rules. |
security |
Security review guidance and common engineering/security rules. |
django |
Django patterns and security, Python testing, and Python rules. |
fastapi |
FastAPI/Python patterns, API design, security review, testing, and FastAPI rules. |
springboot |
Spring Boot patterns and security, Java rules, API design, and migrations. |
typescript |
Frontend/backend patterns, Next.js/Turbopack guidance, security review, and TypeScript rules. |
golang |
Go patterns and rules, API design, and security review. |
lsp |
Serena's LSP bridge, configured as an MCP server. |
apd profiles shows the exact membership of each profile. Rule dependencies are included automatically: language packs require common rules, and FastAPI rules also require Python rules. You can select specific installable IDs instead:
apd profiles
apd init --profile fastapi --agents codex,claude
apd init --agents codex --tools systematic-debugging
apd init --agents codex --tools serena
apd init --agents all --profile starter --dry-runChoose the agents you actually use. all targets every supported adapter, even if the corresponding application is not installed.
Select the profile for your actual stack. Framework guidance must be checked against your project's versions; the selected Next.js/Turbopack skill targets Next.js 16+. Profiles are additive, so installing unrelated language packs accumulates instructions and may reach an agent's size limit.
| Agent | CLI ID | Skills | MCP configuration |
|---|---|---|---|
| Claude Code | claude |
Project-local | Project-local |
| Codex | codex |
Project-local | Project-local TOML |
| Cursor | cursor |
Project-local | Project-local |
| GitHub Copilot in VS Code | vscode |
Project-local | VS Code workspace configuration |
| OpenCode | opencode |
Project-local | Project-local |
See paths, official documentation, and compatibility notes. Adapter tests cover configuration formats and merge behavior. They do not establish end-to-end validation inside every agent application or compatibility with every historical version. The vscode target refers to Copilot in VS Code, not the separate GitHub Copilot CLI.
The selected ECC skills and rules are MIT licensed, pinned to a reviewed commit, and archive-hash verified. The ECC migration guide records the source, exact pins, file allowlists, dependencies, and adaptations. Original rule files are preserved under .awesome-python-dev/rules/<id>/ with attribution; adapted copies activate through each agent's instruction system.
| Agent | Activated rule files |
|---|---|
| Claude Code | .claude/rules/apd-<id>/*.md |
| Cursor | .cursor/rules/apd-<id>/*.mdc |
| GitHub Copilot in VS Code | .github/instructions/apd-<id>/*.instructions.md |
| Codex / OpenCode | A shared managed block in project AGENTS.md, containing adapted rule text and language scopes. |
Existing text outside the AGENTS.md block is preserved. The installer rejects conflicts and offers no force-overwrite mode. With Codex selected, it guards the generated AGENTS.md against the 32 KiB default instruction limit. It refuses oversized output rather than truncating rules.
These are selected guidance files, not the entire ECC plugin. Installation does not register ECC agents, hooks, model preferences, or background services. References to workflow roles are adapted for the host agent. Security checks, tests, migrations, and deployment still use the target project's real tools and permissions.
apd init --agents codex --tools serena configures a pinned Serena MCP launch command. It selects Python 3.13 and the LSP backend; the agent starts it later. The recipe passed MCP initialization and discovery of 22 tools in a temporary Python project. That check did not execute symbol operations or validate every agent interface. See the LSP guide for prerequisites, language-server references, OpenCode's separate native LSP support, and known limitations.
The security profile installs review guidance and rules. Semgrep, Bandit, pip-audit, and Gitleaks are catalog references for project checks and CI. Installing guidance does not install these scanners or certify a project as secure.
# Equip another project without changing directories.
apd init --path ../my-project --agents codex --profile python
# Show supported agents and their project paths.
apd agents
# Check installed files, configuration, and runtime prerequisites.
apd doctor --path ../my-project
# Preview removal, then remove the installation managed by apd.
apd remove --path ../my-project --dry-run
apd remove --path ../my-projectRun apd --help or apd init --help for the complete command reference. Re-running init adds selections; choosing a different profile does not remove previously installed tools. remove removes all unchanged resources owned by apd in the project, preserving unrelated user content. Conflicting user changes are protected. Review git diff after installation, and commit the generated project configuration if your team should share it.
Upgrading from v0.1: the v0.2 CLI reads manifest schemas 1 and 2, and upgrades schema 1 during init. Keep the manifest and backups. Once upgraded, use v0.2 or newer to manage that installation; v0.1 cannot manage schema 2 manifests.
Reviewed catalog → toolkit selection → agent adapters → project files
↓
tracked installation and doctor checks
- Skill and rule sources are pinned to Git commits and verified against archive SHA-256 hashes. Their selected supporting files and upstream licenses travel with the installation.
- MCP recipes use explicit package versions; the Serena bridge pins a Git commit. Recipes are translated into each agent's configuration format.
- Installation records ownership so removal can preserve unrelated settings. Modified managed files are protected from silent overwrites.
- Keep
.awesome-python-dev/manifest.jsonfor subsequent refreshes and removal. Configuration backups stay under.awesome-python-dev/backups/, with a Git ignore rule; keep them private. - Preview with
--dry-runbefore writing. No home-directory agent configuration is changed. - The installer does not run downloaded skill scripts. Skills and MCP servers can guide or execute actions later through your agent, under that agent's permissions.
Version pins make changes reviewable. They do not freeze all transitive dependencies or replace reviewing upstream code. Runtime authentication, API limits, browser downloads, and client approval remain specific to the selected tool. See security and reporting.
We prefer tools with a concrete development use case, useful documentation, an identifiable upstream, a clear license, and evidence of continued maintenance. Stars are one discovery signal; they are not a quality guarantee or a ranking system.
An installable entry additionally needs a reproducible recipe, a reviewable source or package version, verified paths and runtime requirements, and a way to preserve upstream attribution. Rule packs also need explicit file selection, dependencies, and tested native activation. Projects that need credentials, manual setup, or a richer adapter can remain useful reference entries while an integration is evaluated.
| Path | Responsibility |
|---|---|
src/awesome_python_dev/ |
Python CLI, installation plans, downloads, agent adapters, and native rule activation. |
src/awesome_python_dev/data/catalog.json |
Canonical tool descriptions, installation recipes, source pins, review metadata, and profiles. |
npm/ |
Independently versioned Node launcher, verified runtime cache, and launcher tests. |
scripts/ |
Build and validation entry points for the website, distributions, and runtime. |
scripts/sitegen/ |
Website configuration, page rendering, and generated Agent discovery documents. |
site/assets/ |
Website styles, browser enhancements, and shared static assets. |
tests/ |
Python behavior, packaging, and website tests using temporary projects. |
docs/ |
User guides, compatibility evidence, source attribution, and maintainer workflows. |
.github/workflows/ |
Cross-platform CI, Pages deployment, and separate runtime/npm releases. |
_site/ and dist/ are generated output. Update the catalog and build sources,
then regenerate; do not maintain a second catalog in generated HTML. See the
documentation index for the right source to change, the
architecture guide for module boundaries, and
repository agent instructions when contributing with an agent.
Skills describe reusable development workflows. Rules supply engineering and framework instructions through each agent's native rule format. MCP recipes configure tool servers that the agent can start. The installable LSP integration is Serena's MCP bridge; standalone language servers are references. Check the catalog for each entry's installation support.
Claude Code (claude), Codex (codex), Cursor (cursor), GitHub Copilot in VS Code
(vscode), and OpenCode (opencode). Use --agents codex,claude to select targets
or --agents all for all five. The VS Code adapter does not target the separate
Copilot CLI. See agent paths and compatibility limits.
Run uvx awesome-python-dev init inside the target project. Use
uvx awesome-python-dev init --agents codex --profile python --dry-run for an
explicit preview without downloads or writes. For repeated use, install once
with uv tool install awesome-python-dev, then run apd init. The npm alternative
is npx awesome-python-dev init; see runtime prerequisites.
The npm package is a small launcher that selects a verified Python runtime from
GitHub Releases. PyPI distributes that Python toolkit directly. Catalog and
installer updates use runtime releases; launcher changes use npm releases.
Repository main and its website can include unreleased catalog additions.
Use apd --version and apd list --json to identify what your installed release
contains, and read release and cache behavior.
Selection considers the development use case, documentation, license, maintenance evidence, and integration requirements. Stars help discover candidates; they do not certify quality. Installable skills and rules use full Git commits and verified archive hashes. MCP recipes use exact package versions or full commits. Reference entries have no installer recipe. Review evidence and dates are recorded in the research notes and canonical catalog.
init downloads selected skill/rule files and writes project-local configuration.
It preserves unrelated settings and rejects conflicting managed changes. It does
not execute downloaded skill scripts or start MCP servers; your agent may do so
later under its own permissions. The npm launcher executes its verified toolkit
runtime. Review a dry run and the security model before installing.
Browsing the catalog and using the installer require no Awesome Python Dev account. Selected services can have their own authentication, rate limits, runtime dependencies, or charges. Follow the linked upstream documentation; never put credentials into catalog recipes or committed project configuration.
Open a tool suggestion with its official repository, license, concrete use case, maintenance evidence, and what you tested. An entry may first be reference-only while its integration is evaluated. For adapter contributions, include official configuration documentation and merge/removal tests; see contributing.
Suggest a tool, improve an installation recipe, or add a tested agent adapter. Start with the contribution guide and roadmap. Report installation problems using the issue template, with secrets removed from logs and configuration.
See the CI workflow and latest runs for automated checks, and the contribution guide to run them locally.
The organization follows the focused categories and contribution discipline of Awesome, the use-case-oriented curation of Awesome Python, and the MCP discovery work of Awesome MCP Servers. The project-local initialization experience is inspired by OpenSpec.
This is an independent project. Upstream authors own their tools and trademarks. Our installer and original documentation are MIT licensed; included upstream material retains its own license.