AI Coding Agent Widget for Web Development - Code mutates like cosmic radiation
Project description
AI coding assistant that lives in your dev environment
Powered by Claude. Reads, writes, and edits your code while you work.
Quick Start • Features • Vite • Next.js • Configuration
Choose Your Integration
| Your Project | Recommended |
|---|---|
| Plain HTML/CSS | cosmux dev — zero config! |
| Vite/React/Vue | Vite Plugin |
| Next.js | Next.js Wrapper |
| Other frameworks | Manual Script |
| Standalone Chat | http://localhost:3333/cosmux |
HTML/CSS Projects
The simplest way to use Cosmux. No configuration needed.
1. Install
pip install cosmux
2. Set your API key
export ANTHROPIC_API_KEY=sk-ant-api03-...
3. Start development
cd your-website/
cosmux dev
Open http://localhost:5174 — your website with the AI assistant injected.
What you get:
- CSS changes update instantly (no page reload)
- HTML changes auto-reload the page
- Widget auto-injected into your HTML
- Backend + Vite dev server managed for you
Quick Start (Standalone)
Just want the chat interface? No widget injection needed.
1. Install
pip install cosmux
2. Set your API key
# .env or environment
ANTHROPIC_API_KEY=sk-ant-api03-...
3. Start the server
cosmux serve
4. Open the chat
Visit http://localhost:3333/cosmux — the AI assistant is ready!
Features
| Feature | Description | |
|---|---|---|
| 💬 | Chat Interface | Natural conversation with streaming responses |
| 🧠 | Extended Thinking | Watch the AI reason through complex problems |
| 📁 | File Operations | Read, Write, Edit files in your project |
| 💻 | Terminal Access | Run shell commands via Bash tool |
| 🔍 | Code Search | Glob and Grep tools for finding code |
| 💾 | Session Persistence | Chat history saved locally |
| 📖 | Context-Aware | Reads CLAUDE.md for project understanding |
Vite Integration
Inject the widget automatically into your Vite app.
1. Install both packages
pip install cosmux
npm install -D cosmux
2. Add the plugin
// vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { cosmux } from 'cosmux/vite'
export default defineConfig({
plugins: [
react(),
cosmux() // Starts server + injects widget
]
})
3. Run your dev server
npm run dev
The widget appears automatically! The plugin:
- Starts
cosmux servewhen Vite starts - Injects the widget into your HTML
- Stops the server when Vite closes
Plugin Options
cosmux({
port: 3333, // Server port (default: 3333)
autoStart: true, // Auto-start server (default: true)
injectWidget: true, // Inject widget script (default: true)
workspace: './', // Workspace path (default: cwd)
})
Next.js Integration
Option 1: Config Wrapper
// next.config.mjs
import { withCosmux } from 'cosmux/next'
export default withCosmux({
// your existing Next.js config
})
Option 2: Widget Component (App Router)
Create a client component:
// components/CosmuxWidget.tsx
'use client'
import { useEffect } from 'react'
export function CosmuxWidget({ port = 3333 }: { port?: number }) {
useEffect(() => {
if (process.env.NODE_ENV !== 'development') return
;(window as any).__COSMUX_CONFIG__ = { serverUrl: `http://localhost:${port}` }
const script = document.createElement('script')
script.src = `http://localhost:${port}/static/cosmux-widget.iife.js`
script.async = true
document.body.appendChild(script)
return () => { script.remove() }
}, [port])
return null
}
Add to your layout:
// app/layout.tsx
import { CosmuxWidget } from '@/components/CosmuxWidget'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<CosmuxWidget />
</body>
</html>
)
}
Manual Integration
For any web project, add the script tag:
<script>
window.__COSMUX_CONFIG__ = { serverUrl: 'http://localhost:3333' };
</script>
<script src="http://localhost:3333/static/cosmux-widget.iife.js"></script>
Note: CSS is automatically included via Shadow DOM — no separate stylesheet needed.
Then start the server:
cosmux serve
CLI Commands
# Development (HTML/CSS projects)
cosmux dev # Start dev environment with HMR
cosmux dev --port 8080 # Custom dev server port
cosmux dev -w ./my-site # Specify workspace
# Server only (for other integrations)
cosmux serve # Start the backend server
cosmux serve --port 4000 # Custom port
cosmux serve --workspace ./project # Specific workspace
# Setup & Auth
cosmux init # Create CLAUDE.md template
cosmux login # Login with Claude Max (OAuth)
cosmux logout # Remove stored credentials
cosmux status # Show auth status
cosmux version # Show version
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
ANTHROPIC_API_KEY |
Your Anthropic API key | Required |
COSMUX_PORT |
Server port | 3333 |
COSMUX_MODEL |
Claude model | claude-opus-4-5-20251101 |
Project Context
Create a CLAUDE.md file in your project root to give the AI context:
# My Project
## Tech Stack
- React 18 + TypeScript
- Tailwind CSS
## Code Style
- Use functional components
- Prefer named exports
How It Works
- Install —
pip install cosmuxadds the CLI and server - Start —
cosmux serveruns the agent server - Connect — Open
/cosmuxor inject the widget - Code — AI reads and modifies files in your workspace
All file operations happen locally. Your code is only sent to Claude's API for processing.
Troubleshooting
Widget doesn't appear?
- Check that the server is running (look for "Cosmux Server Starting" in terminal)
- Verify your API key is set in
.env - Try opening
http://localhost:3333/cosmuxdirectly
Server won't start?
- Check if port 3333 is in use:
lsof -i :3333 - Try a different port:
cosmux serve --port 4000
"cosmux: command not found"?
- Make sure Python bin directory is in your PATH
- Try:
python -m cosmux serve
Requirements
- Python 3.11+ — for the server
- Node.js 18+ — only for Vite/Next.js integration (optional)
- Anthropic API key — console.anthropic.com
License
MIT — see LICENSE
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cosmux-0.4.2-py3-none-any.whl.
File metadata
- Download URL: cosmux-0.4.2-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6724b4e3317a1fcfe819ab2ffc093e725f13d1714d6d82e9bb784842d7f21744
|
|
| MD5 |
d08accb26c32a091ee7e04bf07b97544
|
|
| BLAKE2b-256 |
e7abadbffa12e451722718447777679d37f29c0d87aeae9e538297f917145d08
|
Provenance
The following attestation bundles were made for cosmux-0.4.2-py3-none-any.whl:
Publisher:
release.yml on techdivision-rnd/cosmux
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cosmux-0.4.2-py3-none-any.whl -
Subject digest:
6724b4e3317a1fcfe819ab2ffc093e725f13d1714d6d82e9bb784842d7f21744 - Sigstore transparency entry: 834949209
- Sigstore integration time:
-
Permalink:
techdivision-rnd/cosmux@a16eb843eb8602c1d3af68810c4b4a73bc443f82 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/techdivision-rnd
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@a16eb843eb8602c1d3af68810c4b4a73bc443f82 -
Trigger Event:
push
-
Statement type: