cntx-ui
Minimal file bundling and tagging tool for AI development with web interface.
Features
File bundling and organization for AI development workflows
Web-based UI for managing bundles and configurations
Model Context Protocol (MCP) server for AI integration
Hidden files management
Cursor rules integration
WebSocket-based real-time updates
CLI tools for automation
Installation
Global Installation (Recommended)
Local Development Installation
Usage
Initialize a Project
CLI Commands
MCP Integration
cntx-ui can function as an MCP (Model Context Protocol) server, providing AI tools with direct access to your project bundles:
Available MCP Resources:
cntx://bundle/<name>- Access any bundle as XML contentcntx://file/<path>- Access individual project files
Available MCP Tools:
list_bundles- List all available bundlesget_bundle- Retrieve specific bundle contentgenerate_bundle- Regenerate a bundleget_file_tree- Get project file structureget_project_status- Get current project status
Development
Prerequisites
Node.js >= 18.0.0
npm
Setup Development Environment
Clone and install dependencies:
git clone https://github.com/nothingdao/cntx-ui.git cd cntx-ui npm installInstall web dependencies:
cd web npm install cd ..
Development Workflow
Running in Development Mode
Start the backend server:
npm run devStart the frontend development server:
npm run dev:webThe web interface will be available at
http://localhost:5173(Vite dev server)
Building the Project
Build web interface only:
npm run build:webBuild entire project:
npm run buildAutomated build with validation:
./build.sh
Project Structure
Available Scripts
Script | Description |
| Start backend server |
| Start frontend dev server |
| Build entire project |
| Build frontend only |
| Install and test package locally |
MCP Server Setup
Quick Setup with setup-mcp Command
The easiest way to configure cntx-ui for Claude Desktop:
This automatically adds your project to Claude Desktop's configuration file and allows you to work with multiple projects simultaneously.
Claude Desktop Integration
Multi-Project Setup (Recommended)
You can use cntx-ui across multiple projects by running setup-mcp in each project directory:
This creates entries in your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
Manual Configuration
For manual setup, add to your Claude Desktop configuration:
Other MCP Clients
For other MCP-compatible clients, use:
Command:
cntx-ui mcpTransport: stdio
Working Directory: Your project root
MCP Workflow
Setup: Run
cntx-ui setup-mcpin each project you want to use with Claude DesktopVisual Configuration: Use
cntx-ui watchto configure bundles via web UIAI Integration: AI clients connect via MCP to access bundles across all configured projects
Real-time Updates: Changes in web UI immediately available to AI tools
Multi-Project: Claude Desktop can access bundles from all configured projects simultaneously
Testing
Local Testing
Run automated test suite:
./test-local.shManual testing:
# Build and pack npm run build npm pack # Install globally for testing npm install -g ./cntx-ui-*.tgz # Test in a new project mkdir test-project && cd test-project cntx-ui init cntx-ui watch
Test Coverage
The test suite covers:
Project initialization
Bundle generation
Web server functionality
API endpoints
File management operations
Publishing
Prerequisites for Publishing
npm account with publish permissions
Clean git working directory
All tests passing
Publishing Steps
Update version:
npm version patch # or minor/majorBuild and validate:
./build.shTest locally:
./test-local.shPublish to npm:
# Stable release npm publish # Beta release npm publish --tag beta
Automated Publishing Workflow
Use the build script for a complete workflow:
Configuration
Environment Variables
PORT- Override default server port (default: 3333)NODE_ENV- Set environment (development/production)
Project Configuration
cntx-ui creates these files in your project:
.cntx/config.json- Main configuration.cntxignore- Files to ignore.cursorrules- Cursor editor rules
Contributing
Fork the repository
Create a feature branch
Make changes following the existing code style
Run tests:
./test-local.shSubmit a pull request
Technology Stack
Backend: Node.js, WebSocket (ws)
Frontend: React 19, TypeScript, Vite
UI: Tailwind CSS, Radix UI
State Management: TanStack Query
Build Tools: Vite, TypeScript compiler
License
MIT
Support
GitHub Issues: Report bugs or request features
Documentation: Check the web interface for detailed usage guides