A dependency-free CLI and versioned registry for reusable AI building blocks.
🌐 Live Registry · ⚡ Quick Start · 🧩 Components · 🐛 Issues · 🤝 Contribute
✨ What is AIRegistry?
AI projects often rebuild the same small pieces: retrievers, text chunkers, prompt builders, conversation memory, validators, citations, tool routers, and agent loops.
AIRegistry packages these capabilities as small, readable, versioned source components that you can inspect, add to your project, and own. Components are copied into your codebase instead of being hidden behind a runtime dependency or remote service.
search → inspect → add → build
Reuse the capability. Own the source. Pin the version.
🚀 Why AIRegistry?
| Capability | How it helps |
|---|---|
| 🧩 Small, reusable components | Add a focused building block instead of adopting an entire framework. |
| 📌 Immutable, versioned releases | Each published version lives under registry/<name>/versions/<version>/ and is not edited in place. |
| 🎯 Exact version pinning | Install a specific release, such as keyword-rag@1.1.0, for repeatable builds. |
| 🔐 Checksum-verified installs | The CLI verifies SHA-256 checksums before writing component files. |
| 🐍 Python standard library | The CLI and catalog components are designed to run on Python 3.9+ without third-party runtime dependencies. |
| 👀 Review-first publishing | Community submissions are proposed through GitHub pull requests rather than committed directly to main. |
| 🧰 Source ownership | Installed code lives in your project, so you can read, test, adapt, and maintain it yourself. |
⚡ Quick start
1. Install the CLI
Copy-paste version (the safest form, it always targets the Python you run):
python -m pip install airegistry-cli
2. Search and inspect components
ai search rag
ai info keyword-rag
3. Preview an install, then add it
ai add keyword-rag --dry-run
ai add keyword-rag
Pin an exact version when reproducibility matters:
ai add context-builder@1.1.0
4. Manage your installed components
ai list
ai update
ai remove keyword-rag
Install from source
git clone https://github.com/MUdevelops/AIRegistry.git
cd AIRegistry
python -m pip install .
No
pipavailable? From a repository checkout, you can invoke the CLI directly withpython ai.py search rag.
🧪 Use a component in your Python project
By default, components are copied to ai_components/<name>/. Change that destination with --dir. Install records (component, version, directory and files) are stored in .airegistry/lock.json.
For example, after adding keyword-rag:
import sys
sys.path.insert(0, "ai_components/keyword-rag/src")
from keyword_rag import retrieve
matches = retrieve(
["Cats purr.", "Python is a programming language."],
"python",
top_k=1,
)
print(matches)
AIRegistry components provide building blocks, not a hosted AI model. For semantic search, model inference, or other capabilities outside a component's scope, connect the appropriate implementation in your own application.
🗂️ Component catalog
The registry currently documents 11 components across retrieval, memory, agents, prompts, text processing, tools, validation, and workflow composition.
| Component | Version | Category | Purpose |
|---|---|---|---|
agent |
1.0.0 |
Agent | A bounded tool-calling loop with a pluggable planner and step records. |
citation-builder |
1.1.0 |
Tool | Formats numbered citations and bibliographies, merges duplicates, and preserves stable numbering. |
context-builder |
1.1.0 |
Retrieval | Combines retrieved passages into a numbered, size-limited context block. |
conversation-memory |
1.1.0 |
Memory | Stores conversation history with size limits, keyword search, budgeted windows, and snapshots. |
json-validator |
1.1.0 |
Validation | Validates JSON text and reports parsing details and readable schema violations. |
keyword-rag |
1.1.0 |
Retrieval | Ranks documents with dependency-free keyword retrieval and returns relevant passages. |
prompt-builder |
1.1.0 |
Prompt | Combines system instructions, context, and input with safe placeholder filling. |
query-rewriter |
1.1.0 |
Retrieval | Normalizes queries, removes stopwords, and produces keyword variants. |
retrieval-pipeline |
1.1.0 |
Workflow | Composes a retriever and context builder into a validated, bounded workflow. |
text-chunker |
1.1.0 |
Text | Splits text into overlapping character- or word-based chunks, with optional source offsets. |
tool-router |
1.1.0 |
Tool | Registers Python functions as named tools and returns execution results or errors as data. |
Every component is documented and typed, and the project includes tests. Component dependencies are optional and explicit: ai add shows them but does not install them automatically.
Browse the full catalog in the Live Registry.
🔗 Compose components into a workflow
Combine small pieces into a larger pipeline while keeping each part independently inspectable:
query-rewriter ──▶ keyword-rag ──▶ context-builder ──▶ prompt-builder
│ ▲
└── retrieval-pipeline ──────┘
conversation-memory tool-router ──▶ agent citation-builder
This is a conceptual composition map; each component can also be installed and used independently.
📦 How the registry is structured
Each component has a versioned directory containing its manifest, documentation, and source code:
registry/
└── keyword-rag/
└── versions/
├── 1.0.0/
│ ├── component.json
│ ├── README.md
│ └── src/keyword_rag.py
└── 1.1.0/
├── component.json
├── README.md
└── src/keyword_rag.py
Run the registry builder to validate published components and regenerate the registry indexes:
python scripts/build_registry.py
Use --check in CI to fail when generated files are stale:
python scripts/build_registry.py --check
Published releases are immutable. Bug fixes and improvements should be released as a new version. See ARCHITECTURE.md for the design details.
🤝 Community publishing
AIRegistry uses a review-first submission path:
GitHub sign-in
↓
Submit component or release
↓
Worker validation
↓
Branch and pull request
↓
CI checks + maintainer review
↓
Merge
Submissions can introduce a new component or publish another version of an existing one. The publishing flow is designed to avoid direct writes to main.
Read CONTRIBUTING.md for contribution rules and the component format. Questions and bug reports belong in GitHub Issues.
🛡️ Security model
Registry entries and community submissions must be treated as untrusted input. The CLI is designed to validate paths and checksums, reject executable file types, and avoid running installed component code.
Before using a component in a sensitive environment, review its source and permissions as you would any code dependency. Report suspected vulnerabilities according to SECURITY.md.
🧑💻 Development and checks
Run the project checks from the repository root:
python scripts/build_registry.py --check
python -W error -m unittest discover -s tests -v
python -m py_compile ai.py scripts/build_registry.py
node --check website/app.js
node --check cloudflare/worker.js
Useful operational documentation:
📄 License
AIRegistry is released under the MIT License. See LICENSE for the complete text.
Build AI applications from small, understandable building blocks.
Made for developers who want reusable AI capabilities without giving up source ownership.Metadata
Release files for airegistry-cli 2.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| airegistry_cli-2.3.2.tar.gz | 33.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| airegistry_cli-2.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.2 kB
Release files / airegistry_cli-2.3.2.tar.gz
| Download URL | airegistry_cli-2.3.2.tar.gz |
|---|---|
| Size | 33.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e57b99b71106c5296369b576ad03e077634c167bb2a7130c7ee1cd681c2d5f9
|
|
BLAKE2b-256 checksum How to use checksums |
006d993d72f3373d9d124712a9844f500f7f17c58ddc16dba1c8671749d7abb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / airegistry_cli-2.3.2-py3-none-any.whl
| Download URL | airegistry_cli-2.3.2-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54dad4828de9358720dda72ed6e779dd2971d34f92ef96deccdc4f00a51f17f8
|
|
BLAKE2b-256 checksum How to use checksums |
99b85fbba0995514b937a58d9d9a5290b3f8fb968e2b838af2b2488101b95fc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for airegistry-cli 2.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for airegistry_cli-2.3.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.