Project Management
Copy page
Learn how to create and manage projects in the Inkeep Agent Framework
Overview
Projects are the top-level organizational unit in the Inkeep Agent Framework. Each project contains its own agents, tools, and resources. This allows you to separate different applications or environments within a single tenant.
Creating a Project
There are two ways to create a new project:
Using the Project Dialog
When you have existing projects, you can create a new one using the "Create Project" button in the project switcher at the bottom of the sidebar.
First Project Creation
If you don't have any projects yet, you'll be automatically redirected to the project creation page when you log in. You can also access it directly at /{tenantId}/projects/new.
Project Fields
When creating a project, you'll need to provide:
-
Project ID: A unique identifier for your project. This must:
- Start and end with lowercase alphanumeric characters
- May contain hyphens in the middle
- Cannot be changed after creation
- Examples:
my-project,production-v2,test-env1
-
Project Name: A friendly display name for your project (up to 100 characters)
-
Description: A brief description of what the project is for (up to 500 characters)
Project Structure
Each project can contain:
- Agents: Collections of AI agents that work together
- API Keys: Authentication keys for accessing your agents via API
- MCP Servers: Model Context Protocol servers for external tools
- Data Components: Reusable data structures for your agents
- Artifact Components: Reusable UI components for agent outputs
- Credentials: Secure storage for API keys and authentication tokens
Project-Level Configuration
Projects can define default configurations that cascade down to all agents and Sub Agents within the project. This provides a consistent baseline while allowing specific overrides where needed.
Model Settings
Define default models at the project level that all agents and Sub Agents will inherit:
StopWhen Configuration
Configure default stopping conditions to prevent infinite loops:
Configuration Inheritance
The framework uses a cascading inheritance system with specific rules for different configuration types:
Model Inheritance - Partial Cascading
Project → Agent → Sub Agent
The framework supports partial cascading, meaning each level can override specific model types while inheriting others. This provides maximum flexibility while maintaining sensible defaults.
How Partial Cascading Works
Each model type (base, structuredOutput, summarizer) cascades independently:
Final Resolution Example
In the above example, the Sub Agent ends up with:
- base:
gpt-4.1(from Agent) - structuredOutput:
gpt-4.1-mini(from project) - summarizer:
claude-3.5-haiku(from Sub Agent)
Provider Options Override
When a model is overridden at any level, the entire configuration (including provider options) is replaced:
Fallback to Base Model
Important: structuredOutput and summarizer only fall back to the base model when there's nothing to inherit from higher levels (project/agent).
System Defaults
Supported Providers: The framework supports Anthropic, OpenAI, and Google models.
API Keys: You need the appropriate API key for the provider you choose to use:
ANTHROPIC_API_KEYfor Anthropic modelsOPENAI_API_KEYfor OpenAI modelsGOOGLE_GENERATIVE_AI_API_KEYfor Google models
Final Resolution with Fallback:
- base:
gpt-4.1-2025-04-14with specified provider options (from Agent) - structuredOutput:
gpt-4.1-2025-04-14with same provider options (falls back to Agent's base) - summarizer:
gpt-4.1-2025-04-14with same provider options (falls back to Agent's base)
Contrast with Inheritance:
Final Resolution with Inheritance:
- base:
gpt-4.1(from Sub Agent) - summarizer:
gpt-4.1-mini(inherited from project - NO fallback to Sub Agent's base) - structuredOutput: Falls back to Sub Agent's base
gpt-4.1(no inheritance available, so fallback occurs)
StopWhen Inheritance
StopWhen settings inherit from Project → Agent → Sub Agent:
transferCountIs: Project or Agent levelstepCountIs: Project or Sub Agent level
Switching Between Projects
Use the project switcher in the bottom left of the sidebar to quickly switch between projects. The switcher shows:
- The project name (or ID if no name is set)
- The project ID
- A brief description (if provided)
API Access
Projects can be accessed programmatically via the CRUD API:
Best Practices
-
Use descriptive IDs: Choose project IDs that clearly indicate their purpose (e.g.,
customer-support,internal-tools) -
Separate by environment: Create different projects for development, staging, and production
-
Document your projects: Use the description field to explain what each project is for
-
Organize by application: Group related agents and tools within the same project
Next Steps
After creating a project, you can: