Openbread is an open-source monorepo containing tools for interacting with Mixedbread's store platform. Currently, it houses the command-line interface (CLI) that enables seamless store management, file processing, and intelligent search capabilities.
A comprehensive command-line interface for managing Mixedbread stores.
Key Features:
- Store management (create, update, delete, list)
- Intelligent file upload with processing strategies
- Advanced sync with git-based and hash-based change detections
- Vector search and Q&A capabilities
- Manifest-based file uploads
- Configuration management and aliases
Installation:
npm install -g @mixedbread/cliQuick Start:
# Set your API key
export MXBAI_API_KEY=mxb_xxxxx
# Create a store
mxbai store create "My Documents"
# Upload files with high-quality processing
mxbai store upload "My Documents" "**/*.md" --strategy high_quality --contextualization
# Search your content
mxbai store search "My Documents" "how to get started"- Node.js: Version 20 or higher
- Package Manager: npm, yarn, pnpm, or bun
- Mixedbread API Key: Get yours here
-
Get your API key from Mixedbread
-
Install the CLI:
npm install -g @mixedbread/cli
-
Set up authentication:
export MXBAI_API_KEY=your_api_key_here -
Start building:
- Create stores for your documents
- Upload and process files with different strategies
- Search and interact with your content
Openbread is a monorepo managed with pnpm and Turbo, designed to host multiple tools for the Mixedbread ecosystem.
# Clone the repository
git clone https://github.com/mixedbread-ai/openbread.git
cd openbread
# Install dependencies
pnpm install
# Build all packages
pnpm build# Start development mode (watches for changes)
pnpm dev
# Run tests
pnpm test
# Lint and format
pnpm lint
pnpm format
# Type checking
pnpm check-typesopenbread/
├── packages/
│ └── cli/ # Command-line interface
├── package.json # Root package configuration
├── turbo.json # Turbo build configuration
└── pnpm-workspace.yaml # pnpm workspace configuration
This project uses Changesets for version management and automated releases.
- Make your changes
- Create a changeset:
pnpm changeset
- Commit and push:
git add .changeset git commit -m "chore: add changeset for [your changes]" git push
- Changesets automatically create "Version Packages" PRs
- Merging these PRs triggers automated npm publishing
- Releases include GitHub releases with changelogs
- CLI Documentation: mixedbread.com/cli
- Release Process: RELEASE.md
- Mixedbread Platform: platform.mixedbread.com
- Issues: GitHub Issues
- Email: [email protected]
- Documentation: mixedbread.com
This project is licensed under the Apache License 2.0.
🍞 Baked with love by Mixedbread