Minimal file bundling and tagging tool for AI development with web interface.
- 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
npm install -g cntx-ui
git clone https://github.com/nothingdao/cntx-ui.git
cd cntx-ui
npm install
# Initialize cntx-ui in your project
cntx-ui init
# Start the web interface
cntx-ui watch
# Visit http://localhost:3333 to access the web UI
# Generate bundles
cntx-ui bundle <name>
# Check project status
cntx-ui status
# Start web server on custom port
cntx-ui watch [port]
# Start MCP server for AI integration
cntx-ui mcp
cntx-ui can function as an MCP (Model Context Protocol) server, providing AI tools with direct access to your project bundles:
# Start MCP server
cntx-ui mcp
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
- Node.js >= 18.0.0
- npm
-
Clone and install dependencies:
git clone https://github.com/nothingdao/cntx-ui.git cd cntx-ui npm install
-
Install web dependencies:
cd web npm install cd ..
-
Start the backend server:
npm run dev
-
Start the frontend development server:
npm run dev:web
The web interface will be available at
http://localhost:5173
(Vite dev server)
-
Build web interface only:
npm run build:web
-
Build entire project:
npm run build
-
Automated build with validation:
./build.sh
cntx-ui/
├── bin/ # CLI executable
├── web/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom hooks
│ │ ├── utils/ # Utility functions
│ │ └── lib/ # Libraries and configurations
│ ├── dist/ # Built frontend (generated)
│ └── package.json # Frontend dependencies
├── server.js # WebSocket server
├── package.json # Main package configuration
├── build.sh # Build automation script
└── test-local.sh # Local testing script
Script | Description |
---|---|
npm run dev |
Start backend server |
npm run dev:web |
Start frontend dev server |
npm run build |
Build entire project |
npm run build:web |
Build frontend only |
npm test:local |
Install and test package locally |
Add to your Claude Desktop configuration (~/.claude_desktop_config.json
):
{
"mcpServers": {
"cntx-ui": {
"command": "cntx-ui",
"args": ["mcp"],
"cwd": "/path/to/your/project"
}
}
}
For other MCP-compatible clients, use:
- Command:
cntx-ui mcp
- Transport: stdio
- Working Directory: Your project root
- Visual Configuration: Use
cntx-ui watch
to configure bundles via web UI - AI Integration: AI clients connect via MCP to access bundles
- Real-time Updates: Changes in web UI immediately available to AI tools
- Dual Mode: Web UI and MCP server can run simultaneously
-
Run automated test suite:
./test-local.sh
-
Manual 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
The test suite covers:
- Project initialization
- Bundle generation
- Web server functionality
- API endpoints
- File management operations
- npm account with publish permissions
- Clean git working directory
- All tests passing
-
Update version:
npm version patch # or minor/major
-
Build and validate:
./build.sh
-
Test locally:
./test-local.sh
-
Publish to npm:
# Stable release npm publish # Beta release npm publish --tag beta
Use the build script for a complete workflow:
./build.sh
# Follow prompts for local testing
# If tests pass, run: npm publish
PORT
- Override default server port (default: 3333)NODE_ENV
- Set environment (development/production)
cntx-ui creates these files in your project:
.cntx/config.json
- Main configuration.cntxignore
- Files to ignore.cursorrules
- Cursor editor rules
- Fork the repository
- Create a feature branch
- Make changes following the existing code style
- Run tests:
./test-local.sh
- Submit a pull request
- Backend: Node.js, WebSocket (ws)
- Frontend: React 19, TypeScript, Vite
- UI: Tailwind CSS, Radix UI
- State Management: TanStack Query
- Build Tools: Vite, TypeScript compiler
MIT
- GitHub Issues: Report bugs or request features
- Documentation: Check the web interface for detailed usage guides