Code intelligence and reuse discovery for research repositories.
Codio answers a practical question before implementation begins: What code already exists that solves this problem?
It maintains a two-layer registry — a catalog of library identity (name, language, repo, license) and a project profile of local policy (priority, runtime import rules, capability tags) — so agents and humans can search before they build.
pip install codio
codio init # scaffold .codio/ in your project
codio list # list registered libraries
codio discover "signal-processing" # search by capability
codio get mylib # full library record
codio validate # check registry consistency
codio vocab # show controlled vocabulary
codio study mylib # structured library analysis
codio compare lib1 lib2 # compare libraries side-by-side
Codio separates what a library is from how your project uses it:
.codio/catalog.yml) — shared, project-agnostic metadata: name, kind, language, repo URL, package name, license, local source paths..codio/profiles.yml) — project-local interpretation: priority tier, runtime import policy, decision default, capability tags, curated note path.Fields use a controlled vocabulary (codio vocab): kind (internal, external_mirror, utility), runtime_import (internal, pip_only, reference_only), decision_default (existing, wrap, direct, new), priority (tier1, tier2, …).
Codio exposes tools through the projio MCP server:
| Tool | Description |
|---|---|
codio_list |
Filtered library listing |
codio_get |
Full library record |
codio_registry |
Full registry snapshot |
codio_vocab |
Controlled vocabulary |
codio_validate |
Registry consistency check |
codio_discover |
Capability search across libraries |
codio_add_urls |
Add libraries from GitHub/GitLab URLs |
Codio is part of the projio ecosystem alongside indexio (semantic search), biblio (bibliography), and notio (structured notes).
See the full documentation for tutorials, how-to guides, and reference.
pip install codio[dev]
mkdocs serve