Skip to content

Artifacts

Transform your AI conversations into a searchable knowledge base. Capture, organize, and retrieve code snippets, documentation, and reports with powerful search and categorization.

Artifacts Management automatically preserves substantial AI-generated content from your conversations, turning scattered outputs into an organized, searchable library. Never lose valuable code snippets or documentation again.

  • Never Lose Content: Auto-capture AI outputs forever
  • Instant Search: Full-text search across all artifacts
  • Smart Organization: Categorize by project, type, and status
  • MCP Integration: AI tools create and access artifacts automatically
  • Beautiful Previews: Markdown rendering with syntax highlighting

Artifacts are substantial pieces of AI-generated content:

  • Code snippets and functions
  • Documentation and guides
  • Data structures and schemas
  • Meeting summaries
  • Analysis reports
  • Technical specifications
  1. Navigate to Artifacts in the sidebar
  2. Click Create New Artifact
  3. Fill in the details:
    • Project: Organizational grouping (e.g., “my-app/backend”)
    • Slug: Unique identifier (auto-generated from title)
    • Title: Descriptive name
    • Description: Brief summary (optional)
    • Type: any of your team’s artifact types (default: general)
    • Content: Your artifact content (supports Markdown)
    • Status: active or expired
  4. Click Save

When AI tools are connected via MCP, they can automatically create artifacts during conversations:

// AI tools can create artifacts automatically
vibexp_io_create_artifact({
team_id: "<team-uuid-or-slug>",
project_id: "<project-uuid>",
slug: "api-documentation-v1",
title: "REST API Documentation",
content: "# API Endpoints\n\n## Users\n...",
type: "static-contexts",
status: "active"
})

Organize artifacts using project naming:

user/project-name
organization/repository
category/subcategory

Examples:

  • shaharia/vibexp-backend
  • personal/code-snippets
  • work/documentation

Artifact types are custom categories your team defines under Settings → Customization → Artifact Types. Every team starts with the default general type; add types that match how your team works, for example:

  • work-reports: completed analyses, status reports, summaries
  • static-contexts: documentation, code snippets, reference material
  • general: meeting notes, brainstorming, miscellaneous content

When creating an artifact (in the UI or via MCP), the type value must match one of your team’s configured types.

  • active: Currently relevant artifacts
  • expired: Archived or outdated content

Change status anytime without deleting artifacts.

Beyond projects and status, artifacts can be linked to the resources they came from. A new version of a document supersedes the one it replaces, and an artifact is built-from the prompt that produced it, so the chain from instruction to output stays visible. See Relations.

Search across titles, descriptions, and content:

Search: "authentication implementation"

Finds all artifacts mentioning authentication and implementation.

Filter by:

  • Project: Show artifacts from specific projects
  • Type: any of your team’s artifact types
  • Status: active or expired
  • Creation Date: Date range filtering
  • Metadata: Match on any metadata key-value pairs. Pick a key, then one or more values (with typeahead from the values your team actually uses). Keys combine with AND, values within a key with OR
  • Newest First: Recently created artifacts
  • Oldest First: Historical artifacts
  • Alphabetical: By title or slug
  • Most Relevant: Based on search query
  • List View: Quick overview with metadata
  • Detail View: Full content with formatting
  • Markdown Rendering: Beautiful syntax highlighting
  • Code Blocks: Language-specific formatting
  1. Open an artifact
  2. Click Edit
  3. Make your changes
  4. Save to update

Artifacts keep a content-version history. Each time you save a change, the previous content is snapshotted as a numbered version, so you can:

  • View version history — browse the list of past versions, newest first.
  • Inspect a version — open any earlier snapshot to see its content.
  • Diff — compare a previous version against the current content.
  • Restore — roll the artifact back to an earlier version. Restoring snapshots the pre-restore content as a new version first, so you can move forward or back between recent snapshots.

Add custom metadata for enhanced organization:

{
"version": "1.0",
"language": "typescript",
"framework": "react",
"author": "team-frontend"
}

Access metadata in search and filtering.

Editing metadata: the create and edit form includes a key-value metadata editor for adding or changing metadata pairs directly in the UI.

Filtering by metadata: see Metadata filtering for querying artifacts by the metadata they carry, in the UI, the API, and over MCP.

  1. Select multiple artifacts
  2. Click Bulk ActionsDelete
  3. Confirm deletion
  1. Select artifacts
  2. Click Bulk ActionsUpdate Status
  3. Choose new status (active/expired)

Connected AI tools can create artifacts:

// Example: AI creates artifact during conversation
vibexp_io_create_artifact({
team_id: "<team-uuid-or-slug>",
project_id: "<project-uuid>",
slug: "error-handler",
title: "Error Handler Implementation",
content: "```typescript\n...\n```",
type: "static-contexts"
})

AI tools list and filter your artifacts with the generic vibexp_io_list_resources tool, passing resource_type: "artifact":

// List artifacts in a project, filtered by a search term
vibexp_io_list_resources({
team_id: "<team-uuid-or-slug>",
resource_type: "artifact",
project_id: "<project-uuid>",
search: "authentication",
limit: 10
})

Get a specific artifact’s full content with vibexp_io_get_resource (resource_type: "artifact"), by project and slug:

// Retrieve by project and slug
vibexp_io_get_resource({
team_id: "<team-uuid-or-slug>",
resource_type: "artifact",
project_id: "<project-uuid>",
slug: "error-handler"
})

AI tools delete an artifact with the generic vibexp_io_delete_resource tool, passing resource_type: "artifact" with the artifact’s project_id and slug:

vibexp_io_delete_resource({
team_id: "<team-uuid-or-slug>",
resource_type: "artifact",
project_id: "<project-uuid>",
slug: "error-handler"
})

Deleting an artifact also removes its search embeddings and its attachments.

Store reusable code snippets:

Project: personal/code-snippets
Type: static-contexts
Examples:
- "react-custom-hook-example"
- "api-error-handler"
- "database-connection-pool"

Maintain living documentation:

Project: company/main-app
Type: static-contexts
Examples:
- "architecture-overview"
- "deployment-guide"
- "api-reference"

Track completed work:

Project: client/project-x
Type: work_reports
Examples:
- "sprint-15-summary"
- "performance-analysis"
- "security-audit-report"
  • Use consistent slug patterns
  • Include version numbers for evolving content
  • Use descriptive, searchable titles
  • Group related artifacts by project
  • Use hierarchical project names
  • Keep project names short but clear
  • Use Markdown for formatting
  • Include context in descriptions
  • Tag with relevant metadata
  • Regular cleanup of expired artifacts
  • Use descriptive titles and descriptions
  • Include keywords in content
  • Add searchable metadata tags
  • Keep content focused and specific

All artifact routes are team-scoped and project-addressed:

Terminal window
# List artifacts in a team
GET /api/v1/{team_id}/artifacts
# List artifacts in a project
GET /api/v1/{team_id}/artifacts/{project_id}
# Get a specific artifact
GET /api/v1/{team_id}/artifacts/{project_id}/{slug}
# Create artifact
POST /api/v1/{team_id}/artifacts
# Update artifact
PUT /api/v1/{team_id}/artifacts/{project_id}/{slug}
# Delete artifact
DELETE /api/v1/{team_id}/artifacts/{project_id}/{slug}

See API Keys for authentication.

Unlimited. Store as many artifacts as needed to build your knowledge base.

Yes. Export individual artifacts or entire projects in JSON or Markdown format.

Individual artifacts should be under 1MB. For larger content, consider splitting into multiple artifacts.

Artifacts are scoped to a team. Everyone in the team can access the team’s artifacts, so inviting collaborators to your team is how you share.

Artifacts are stored indefinitely until you delete them. Use status “expired” to archive without deleting.