
The Bindex: Brick Indexing for AI Assembly
To build complex systems autonomously, AI models must understand software libraries not just as collections of code, but as modular components.
The Bindex (short for "Brick Index") is inspired by LEGO bricks—modular components designed to fit together seamlessly to create stable, complex structures. Under this paradigm, software libraries act as standard bricks. The bindex.json file is a structured descriptor that maps out these bricks, providing GenAI with the precise API metadata it needs to discover, select, and assemble software solutions.
The Three Questions of Integration
When an AI developer tool or a human engineer integrates a library, it must answer three critical questions. The bindex.json file is structured specifically to resolve them:

1. What is this library?
The descriptor provides high-level identity, classification, and capabilities:
- Name & Version: The canonical identifier, formatted as
groupId:artifactId(Maven),npmpackage name, orPyPImodule name, paired with standard semantic versioning (semver). - Description: A human- and machine-readable explanation of the library's main goals.
- Classification: Precise categorization (e.g., library vs. plugin, application domain, supported programming languages). This serves as the primary metadata for semantic search and recommendation engines.
- Features: A structured index of the library’s primary features, supported by clear code examples.
2. Where is it located?
The descriptor details exact distribution channels so automated systems can retrieve the dependency:
- Repository Information: The registry type (e.g., Maven Central, npm registry, PyPI) and its URL.
- Coordinates: Precise coordinates (such as Group ID, Artifact ID, and Version) for direct injection into dependency management configurations.
- License: The licensing model (e.g., MIT, Apache 2.0, GPL) ensuring compliant usage.
3. How can it be used?
The descriptor outlines integration surfaces, acting as a "user manual" for code generation models:
- Constructors: Guidelines on how to instantiate and configure objects or services, complete with import paths, method signatures, and configuration code blocks.
- Customizations: Extension points (such as configurable options, subclassing instructions, or interfaces) that let developers tailor the library.
- Studs: Gateway contracts in Clean Architecture terms—the core interfaces or abstract classes designed to be implemented by other modules or adapters to bind systems together.
- Integration Points: Clear maps of how these features interact with other architectural components.
Schema Overview
The bindex.json file strictly adheres to a unified schema to guarantee standardization across diverse language ecosystems.
Figure 1: Architectural schema visualization for bindex.json.
| Property Name | Type | Description |
|---|---|---|
id |
string |
A unique identifier for the artifact (e.g., groupId:artifactId:version). |
name |
string |
The canonical name of the artifact (e.g., groupId:artifactId for Maven). |
version |
string |
The version of the artifact, adhering to semantic versioning. |
description |
string |
A concise project description outlining its purpose. |
authors |
array |
Information about authors or organizations (name, email, website). |
license |
string |
The licensing model governing artifact usage (e.g., MIT, Apache 2.0). |
classification |
object |
Categorization details: type (library, plugin), domain, and languages. Critical for semantic vector searches. |
location |
object |
Repository coordinates and URL. |
features |
array |
Structured list of core capabilities paired with illustrative code examples. |
constructors |
array |
Setup instructions detailing how services are instantiated and configured. |
customizations |
array |
Developer extension points, configuration classes, or customizable options. |
studs |
array |
Gateway interfaces or abstract classes acting as Clean Architecture boundary contracts. |
examples |
array |
Sandbox code blocks and usage patterns. |
🌐 Full Schema Definition: The complete schema is available for validation at bindex-schema-v2.json.
The Generation Workflow
Writing a bindex.json manually is tedious. Instead, it is generated automatically using GenAI, which scans codebases, dependencies, and metadata. However, developers must act as reviewers to ensure the accuracy and safety of the final descriptor.
Figure 2: Step-by-step pipeline for generating a new Bindex descriptor.
- Bindex Creation Request: A developer or pipeline triggers a request to index a library.
- Project Analysis: GenAI inspects the project structures:
- Build Configurations: Analyzes
pom.xml,package.json, orpyproject.tomlfiles. - Source Code: Scans public APIs, entry points, and coding patterns.
- Metadata: Evaluates readmes, comments, and licensing info.
- File Generation: GenAI organizes these findings into a valid, schema-compliant
bindex.jsonfile. - Review and Update: The developer performs a manual audit:
- Verifying that descriptions and metadata (version, license, authors) are correct.
- Reviewing code examples, constructors, and boundary
studsfor technical accuracy. - Refining or correcting fields that the automated parser might have missed or misaligned.
The Registration Process
Once validated, the bindex.json file is registered. Bindex Registration is a cornerstone of the AI Assembly framework. It extracts high-level metadata, transforms it into vector embeddings, and stores it in a vector database so AI agents can query the library semantically.
Figure 3: Semantic indexing and database storage pipeline.
1. Registration Request
A developer or a CI/CD pipeline triggers the register process for a newly compiled and verified bindex.json.
2. Parse Descriptor
The system locates and opens the bindex.json file from the project's root directory, verifying its structural schema validity.
3. Generate Description Embeddings
The system feeds the description and features fields through an embedding model. This generates high-dimensional vectors representing the library's semantic purpose, facilitating natural language discovery.
4. Normalize Programming Languages
Programming language tags are parsed, cleaned, and standardized (e.g., mapping TS, TypeScript, and JS to normalized tags) to filter search results programmatically.
5. Generate Domain Embeddings
The system analyzes the declared application domains (e.g., orm, cryptography, image-processing) and converts them into vector embeddings to match components with specific architectural requirements.
6. Commit to Vector Database
The system commits the normalized JSON descriptor along with its semantic embeddings (description and domain vectors) into a high-performance vector database optimized for similarity search.
7. Registration Acknowledgment
The database confirms storage, and the system logs a successful registration, making the library immediately discoverable by AI assembly agents.
Where to Go Next
- Guidance-Driven Processing (GDP): Learn how local file-level
@guidancetags help maintain and auto-generate code documentation and Bindex files. - Act-Driven Workflows (ADW): See how to create reusable
bindexgeneration and validation tasks using custom TOML Acts.