Project API Reference
A Project is a high-level organizational concept in BindAI for grouping the components that make up an AI solution. A project can conceptually bring together applications, agents, workflows, tools, Knowledge, Memory, Connections, configuration, and deployment resources. The current BindAI architecture does not require all of these resources to be owned by a singleProject runtime object.
This page therefore documents the Project concept and clearly separates it from subsystem-specific APIs.
Overview
A BindAI solution can be organized conceptually as:Project Responsibilities
At the architectural level, a project can be used to organize:- Applications
- Agents
- Workflows
- Tools
- Knowledge resources
- Memory
- Connections
- Provider configuration
- Environment configuration
- Deployment configuration
- Agents are managed through the Agent API.
- Tools are managed through the Tool and ToolRegistry APIs.
- Memory is managed through Memory providers.
- Knowledge is managed through Knowledge and retrieval APIs.
- Connections are managed through
ConnectionManagerandConnectionRegistry. - Workflows are managed through the workflow subsystem.
Project Structure
A typical application architecture can be organized as:Applications
Applications represent logical AI solutions or business capabilities. A project may contain multiple applications conceptually. For example:Project.application() runtime method.
Agents
Agents provide the primary AI execution capability. A project can organize multiple agents according to application requirements.Workflows
Workflows provide orchestration between multiple operations. A project can contain workflows conceptually:- Agents
- Tools
- Conditions
- Loops
- Parallel execution
- Retries
- Timeouts
- Knowledge
- Memory
- External integrations
Tools
Tools provide reusable operations that agents and workflows can invoke. A project can organize tools at an application or shared architectural level. For example:add_tool() API.
Knowledge
Knowledge provides application data that can be retrieved and used to ground agent responses. Conceptually:- Documents
- Parsed content
- Chunks
- Metadata
- Embeddings
- Vector indexes
- BM25 indexes
- Hybrid retrieval
- Reranking
Memory
Memory provides storage and retrieval for application information. Conceptually:- In-memory storage
- SQLite
- PostgreSQL
- Vector memory
- Pinecone
- Chroma
Connections
Connections integrate applications with external services. Current integrations include:- Webhooks
- GitHub
- Slack
- Notion
- Jira
- Discord
- Resend
- Vercel
- Netlify
ConnectionConnectionRegistryConnectionManager
Providers
Projects can use different model providers depending on application requirements. Current provider integrations include:- OpenAI
- Anthropic
- Google Gemini
- Groq
- Ollama
- OpenRouter
Configuration
Project-level configuration is an architectural concern. Typical project configuration may include:- Environment settings
- Provider configuration
- Database configuration
- Storage configuration
- External-service configuration
- Feature settings
- Deployment configuration
ProjectConfiguration runtime class unless implemented by the installed version.
Environment Separation
A project can be deployed across multiple environments.- Model providers
- Credentials
- Databases
- Knowledge indexes
- Memory providers
- Connections
- Logging configuration
Project Boundaries
A useful project boundary groups components that belong to the same solution. For example:- Organization
- Configuration
- Security
- Testing
- Deployment
- Ownership
- Resource isolation
Shared Resources
Some resources can be shared across applications. Conceptually:- Tools
- Knowledge
- Memory
- Connections
- Permission concerns
- Data isolation issues
- Configuration conflicts
- Concurrent access
- Operational coupling
Project and Agent
Projects organize agents. Agents perform AI execution.Project and Workflow
Projects organize workflows. Workflows perform orchestration.Project and Tools
Projects can provide an organizational boundary for reusable tools. Tools remain independently registered and executed through the tool system. This separation allows:Project and Knowledge
Knowledge can be organized around project or application boundaries. For example:Project and Memory
Memory should be scoped according to application requirements. Possible boundaries include:- Application-level memory
- User-level memory
- Conversation-level memory
- Shared operational memory
Project and Connections
Connections can be organized around the services required by a project. For example:Project and Deployment
The project architecture should remain separate from deployment infrastructure. Conceptually:- Process management
- Networking
- Secrets
- Persistent infrastructure
- Hosting
- Scaling
- Monitoring
Project Lifecycle
A project can be managed through a general application lifecycle:Testing
Project-level testing should verify that its components work together. Useful tests include:- Agent execution
- Tool execution
- Workflow execution
- Knowledge retrieval
- Memory persistence
- Connection behavior
- Provider configuration
- End-to-end application flows
Security
Project boundaries should be reflected in security design. Consider:- Application isolation
- Tool permissions
- Knowledge access
- Memory access
- Connection credentials
- Provider credentials
- External-service permissions
- User authorization
- Sensitive logging
Best Practices
- Keep each project focused on a coherent solution.
- Define clear application boundaries.
- Keep agents responsible for AI reasoning.
- Keep workflows responsible for orchestration.
- Keep tools responsible for deterministic operations.
- Keep Knowledge responsible for retrieval and grounding.
- Keep Memory responsible for persistent application information.
- Keep Connections responsible for external-service communication.
- Keep deployment infrastructure separate from application logic.
- Avoid unnecessary shared state.
- Apply explicit security boundaries to shared resources.
API Accuracy
The current BindAI architecture does not establish a single Project runtime API that automatically manages every subsystem. This documentation therefore intentionally avoids assuming methods or properties such as:Current Scope
The current BindAI architecture provides the underlying components that can be organized into projects, including:- Agents
- Model providers
- Tools
- Tool registries
- Memory providers
- Knowledge and retrieval
- Workflows
- Connections
- Multi-agent execution
- MCP integration
