diff --git a/CLAUDE.md b/CLAUDE.md index f1e29e65..a1fa543e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -164,7 +164,7 @@ Claude Nexus Proxy - High-performance proxy for Claude API with real-time monito ### Repository Structure ``` -claude-nexus-proxy/ +claude-nexus/ ├── packages/shared/ # Shared types and utilities ├── services/ │ ├── proxy/ # API proxy service (Port 3000) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e8233430..c78d9e5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,7 +9,7 @@ Please be respectful and constructive in all interactions. We aim to maintain a ## Getting Started 1. Fork the repository -2. Clone your fork: `git clone https://github.com/yourusername/claude-nexus-proxy.git` +2. Clone your fork: `git clone https://github.com/yourusername/claude-nexus.git` 3. Create a feature branch: `git checkout -b feature/your-feature-name` 4. Make your changes 5. Submit a pull request diff --git a/IMPORTANT_FILES.yaml b/IMPORTANT_FILES.yaml index a768460f..8e4deae9 100644 --- a/IMPORTANT_FILES.yaml +++ b/IMPORTANT_FILES.yaml @@ -1,110 +1,382 @@ version: 1 generated_by: repo-knowledge-tracker -last_updated: '2025-01-12T00:00:00Z' +last_updated: '2025-08-19T00:00:00Z' entries: - # Documentation files that need updates for system prompt display feature - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/02-User-Guide/dashboard-guide.md' - title: 'Dashboard User Guide' - why_important: 'Primary user-facing documentation for dashboard features - needs update for system prompt display' - topics: ['dashboard', 'ui', 'conversation-view', 'message-display'] - owners: ['@dashboard-team'] - linked_docs: - [ - 'docs/02-User-Guide/api-reference.md', - 'docs/04-Architecture/ADRs/adr-009-dashboard-architecture.md', - ] - related_components: ['services/dashboard/*', 'packages/shared/types/*'] + # Core Configuration Files + - path: '/home/crystalin/claude-nexus/package.json' + title: 'Root Package Configuration' + why_important: "Main monorepo configuration containing 'claude-nexus-proxy' repository URL" + topics: ['config', 'monorepo', 'build'] + owners: ['@backend-team'] + linked_docs: ['docs/01-Getting-Started/development.md'] + related_components: ['services/*', 'packages/*'] + dependencies: + direct: ['husky', 'prettier', 'eslint'] + indirect: [] + update_triggers: ['repository rename', 'package name changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Repository URL needs updating' + recommended_action: 'Update repository URL from claude-nexus-proxy to claude-nexus' + notes: 'Line 8: github.com/moonsong-labs/claude-nexus-proxy.git' + + - path: '/home/crystalin/claude-nexus/services/proxy/package.json' + title: 'Proxy Service Package Configuration' + why_important: "Service-level package with 'claude-nexus-proxy' binary name" + topics: ['proxy', 'api', 'service'] + owners: ['@backend-team'] + linked_docs: ['docs/00-Overview/architecture.md'] + related_components: ['services/proxy/src/*'] + dependencies: + direct: ['hono', '@hono/node-server'] + indirect: [] + update_triggers: ['service rename', 'binary name changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Binary name needs updating' + recommended_action: 'Update bin entry from claude-nexus-proxy to claude-nexus' + notes: 'Line 8: Binary executable name configuration' + + # Docker Infrastructure Files + - path: '/home/crystalin/claude-nexus/docker/build-images.sh' + title: 'Docker Build Script' + why_important: "Critical build script with multiple 'alanpurestake' Docker registry references" + topics: ['docker', 'ci/cd', 'deployment'] + owners: ['@devops-team'] + linked_docs: ['docker/README.md', 'docs/03-Operations/deployment/docker.md'] + related_components: ['docker/*', 'docker-compose.yml'] + dependencies: + direct: ['docker'] + indirect: [] + update_triggers: ['docker registry changes', 'organization rename'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker organization needs updating to moonsonglabs' + recommended_action: 'Replace all alanpurestake references with moonsonglabs' + notes: 'Lines 47, 52, 81, 86, 109, 117-118, 124-125: Image tags and Docker Hub references' + + - path: '/home/crystalin/claude-nexus/docker/push-images.sh' + title: 'Docker Push Script' + why_important: "Deployment script with hardcoded Docker Hub organization 'alanpurestake'" + topics: ['docker', 'deployment', 'ci/cd'] + owners: ['@devops-team'] + linked_docs: ['docker/README.md'] + related_components: ['docker/build-images.sh'] + dependencies: + direct: ['docker'] + indirect: [] + update_triggers: ['docker registry changes', 'organization rename'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker organization needs updating to moonsonglabs' + recommended_action: 'Replace all alanpurestake references with moonsonglabs' + notes: 'Lines 45, 67, 86, 90: Docker push commands and Hub URLs' + + - path: '/home/crystalin/claude-nexus/docker/docker-compose.yml' + title: 'Docker Compose Configuration' + why_important: "Container orchestration config with 'claude-nexus-proxy' container names" + topics: ['docker', 'orchestration', 'deployment'] + owners: ['@devops-team'] + linked_docs: ['docs/03-Operations/deployment/docker-compose.md'] + related_components: ['docker/*', 'services/*'] + dependencies: + direct: ['docker-compose'] + indirect: ['postgres', 'redis'] + update_triggers: ['service name changes', 'container reorganization'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Container names need updating' + recommended_action: 'Update container names from claude-nexus-proxy to claude-nexus' + notes: 'Lines 35-36: Image and container name references' + + - path: '/home/crystalin/claude-nexus/docker/README.md' + title: 'Docker Documentation' + why_important: 'Docker usage documentation with image names and examples' + topics: ['docker', 'documentation', 'deployment'] + owners: ['@devops-team'] + linked_docs: ['docs/03-Operations/deployment/docker.md'] + related_components: ['docker/*'] dependencies: direct: [] indirect: [] - update_triggers: ['new dashboard features', 'UI changes', 'conversation view updates'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'Missing documentation for system prompt display in conversation view' - recommended_action: 'Add section on system prompt visibility and styling in conversation view' - notes: 'Lines 67-90 cover conversation tracking, need to add system prompt display details' - - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/02-User-Guide/api-reference.md' - title: 'API Reference Documentation' - why_important: 'Defines API response structures including message roles - may need updates for system role' - topics: ['api', 'messages', 'response-structure', 'roles'] - owners: ['@api-team'] - linked_docs: ['docs/04-Architecture/ADRs/adr-003-conversation-tracking.md'] - related_components: ['services/proxy/*', 'packages/shared/types/*'] + update_triggers: ['docker changes', 'deployment updates'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker references need updating' + recommended_action: 'Update alanpurestake to moonsonglabs, claude-nexus-proxy to claude-nexus' + notes: 'Lines 7, 43, 96: Docker image references and examples' + + # Operations Scripts + - path: '/home/crystalin/claude-nexus/scripts/ops/update-proxy.sh' + title: 'Proxy Update Script' + why_important: 'Deployment script with hardcoded Docker image names' + topics: ['deployment', 'operations', 'docker'] + owners: ['@ops-team'] + linked_docs: ['scripts/ops/README.md'] + related_components: ['scripts/ops/*'] + dependencies: + direct: ['docker'] + indirect: [] + update_triggers: ['deployment process changes', 'docker registry changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker image names need updating' + recommended_action: 'Update alanpurestake to moonsonglabs, container names to claude-nexus' + notes: 'Lines 12-13, 32-35, 104: Image names and container references' + + - path: '/home/crystalin/claude-nexus/scripts/ops/manage-nexus-proxies.sh' + title: 'Nexus Proxies Management Script' + why_important: 'AWS EC2 management script with multiple project name references' + topics: ['aws', 'operations', 'deployment'] + owners: ['@ops-team'] + linked_docs: ['scripts/ops/README.md'] + related_components: ['scripts/ops/*'] + dependencies: + direct: ['aws-cli', 'ssh'] + indirect: [] + update_triggers: ['infrastructure changes', 'deployment updates'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Project directory and container names need updating' + recommended_action: 'Update claude-nexus-proxy directory and container references to claude-nexus' + notes: 'Lines 3, 19-21, 132, 227, 234, 243, 247, 286, 293, 302, 306: Multiple references' + + # Source Code Files + - path: '/home/crystalin/claude-nexus/services/proxy/src/app.ts' + title: 'Proxy Application Main' + why_important: 'Main proxy application with service name in health endpoint' + topics: ['proxy', 'api', 'core'] + owners: ['@backend-team'] + linked_docs: ['docs/00-Overview/architecture.md'] + related_components: ['services/proxy/src/*'] + dependencies: + direct: ['hono'] + indirect: [] + update_triggers: ['service name changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Service name in health response' + recommended_action: 'Update service name from claude-nexus-proxy to claude-nexus' + notes: 'Line 285: Service name in health endpoint response' + + - path: '/home/crystalin/claude-nexus/services/proxy/src/main.ts' + title: 'Proxy CLI Entry Point' + why_important: 'CLI entry point with usage documentation' + topics: ['cli', 'proxy', 'documentation'] + owners: ['@backend-team'] + linked_docs: [] + related_components: ['services/proxy/src/app.ts'] + dependencies: + direct: [] + indirect: [] + update_triggers: ['CLI changes', 'service rename'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'CLI usage examples need updating' + recommended_action: 'Update usage examples from claude-nexus-proxy to claude-nexus' + notes: 'Lines 102, 126-130: CLI usage documentation' + + - path: '/home/crystalin/claude-nexus/services/proxy/src/routes/health.ts' + title: 'Health Check Route' + why_important: 'Health endpoint returning service name' + topics: ['health', 'monitoring', 'api'] + owners: ['@backend-team'] + linked_docs: [] + related_components: ['services/proxy/src/app.ts'] + dependencies: + direct: [] + indirect: [] + update_triggers: ['service name changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Service name in response' + recommended_action: 'Update service name from claude-nexus-proxy to claude-nexus' + notes: 'Line 15: Service name in health response' + + - path: '/home/crystalin/claude-nexus/services/proxy/src/storage/writer.ts' + title: 'Storage Writer Module' + why_important: 'Contains hardcoded salt value with project name' + topics: ['storage', 'security', 'database'] + owners: ['@backend-team'] + linked_docs: [] + related_components: ['services/proxy/src/storage/*'] + dependencies: + direct: [] + indirect: [] + update_triggers: ['security updates', 'salt changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Default salt value contains old project name' + recommended_action: 'Update default salt from claude-nexus-proxy-default-salt to claude-nexus-default-salt' + notes: 'Line 550: Default salt value' + + # Documentation Files + - path: '/home/crystalin/claude-nexus/README.md' + title: 'Main Repository README' + why_important: 'Public-facing documentation with project name references' + topics: ['documentation', 'public', 'overview'] + owners: ['@all-teams'] + linked_docs: ['CLAUDE.md', 'CONTRIBUTING.md'] + related_components: [] + dependencies: + direct: [] + indirect: [] + update_triggers: ['project rename', 'major feature changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Project name references need updating' + recommended_action: 'Update all claude-nexus-proxy references to claude-nexus' + notes: 'Main entry point for developers' + + - path: '/home/crystalin/claude-nexus/CLAUDE.md' + title: 'AI Agent Instructions' + why_important: 'Critical AI agent guidance file with project description' + topics: ['ai', 'documentation', 'instructions'] + owners: ['@ai-team'] + linked_docs: ['README.md'] + related_components: [] dependencies: direct: [] indirect: [] - update_triggers: ['API changes', 'new message types', 'response structure updates'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'May need to document system role in message structure' - recommended_action: 'Verify system role is documented in message types and response examples' - notes: 'Lines 43-77 show message structure, check if system role is covered' - - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/00-Overview/features.md' - title: 'Features Overview' - why_important: 'High-level feature documentation that should mention system prompt display capability' - topics: ['features', 'dashboard', 'conversation-management'] - owners: ['@product-team'] - linked_docs: ['docs/02-User-Guide/dashboard-guide.md'] - related_components: ['services/dashboard/*'] + update_triggers: ['project structure changes', 'workflow updates'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Project description needs updating' + recommended_action: "Update 'Claude Nexus Proxy' to 'Claude Nexus' in project description" + notes: 'Project description at top of file' + + - path: '/home/crystalin/claude-nexus/docs/README.md' + title: 'Documentation Index' + why_important: 'Documentation entry point with GitHub repository link' + topics: ['documentation', 'index'] + owners: ['@documentation-team'] + linked_docs: [] + related_components: ['docs/*'] dependencies: direct: [] indirect: [] - update_triggers: ['new features', 'product updates'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'Should mention system prompt display as a dashboard feature' - recommended_action: 'Add system prompt visibility to conversation management features section' - notes: 'Lines 51-58 cover conversation management features' - - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/04-Architecture/ADRs/adr-003-conversation-tracking.md' - title: 'ADR-003: Conversation Tracking' - why_important: 'Defines how messages are tracked - may need update for system message handling' - topics: ['architecture', 'conversation-tracking', 'message-hashing', 'system-messages'] + update_triggers: ['documentation restructure'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'GitHub repository link needs updating' + recommended_action: 'Update repository URL from claude-nexus-proxy to claude-nexus' + notes: 'Line 66: GitHub repository link' + + - path: '/home/crystalin/claude-nexus/docs/00-Overview/quickstart.md' + title: 'Quickstart Guide' + why_important: 'New user onboarding with git clone commands' + topics: ['documentation', 'onboarding', 'quickstart'] + owners: ['@documentation-team'] + linked_docs: ['docs/01-Getting-Started/installation.md'] + related_components: [] + dependencies: + direct: [] + indirect: [] + update_triggers: ['repository changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Git clone commands need updating' + recommended_action: 'Update git clone URL and directory name' + notes: 'Lines 13-14: Git clone commands' + + - path: '/home/crystalin/claude-nexus/docs/00-Overview/architecture.md' + title: 'Architecture Overview' + why_important: 'Architecture documentation with directory structure' + topics: ['architecture', 'documentation', 'overview'] owners: ['@architecture-team'] - linked_docs: ['docs/02-User-Guide/api-reference.md'] - related_components: ['services/proxy/src/conversation/*', 'packages/shared/types/*'] + linked_docs: ['docs/04-Architecture/ADRs/*'] + related_components: [] + dependencies: + direct: [] + indirect: [] + update_triggers: ['architecture changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Directory structure diagram needs updating' + recommended_action: 'Update root directory name in diagram' + notes: 'Line 13: Directory structure diagram' + + - path: '/home/crystalin/claude-nexus/docs/01-Getting-Started/installation.md' + title: 'Installation Guide' + why_important: 'Installation instructions with Docker commands' + topics: ['installation', 'docker', 'documentation'] + owners: ['@documentation-team'] + linked_docs: ['docs/00-Overview/quickstart.md'] + related_components: [] + dependencies: + direct: [] + indirect: [] + update_triggers: ['installation process changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker image references need updating' + recommended_action: 'Update alanpurestake Docker references to moonsonglabs' + notes: 'Contains Docker pull/run commands' + + - path: '/home/crystalin/claude-nexus/docs/03-Operations/deployment/docker-compose.md' + title: 'Docker Compose Deployment Guide' + why_important: 'Deployment documentation with Docker image references' + topics: ['deployment', 'docker', 'documentation'] + owners: ['@ops-team'] + linked_docs: ['docker/docker-compose.yml'] + related_components: [] dependencies: direct: [] indirect: [] - update_triggers: ['conversation tracking changes', 'message handling updates'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'Already mentions system-reminder filtering, may need updates for system prompt handling' - recommended_action: 'Review if system prompt messages need special handling in hash generation' - notes: 'Line 47 shows system-reminder filtering, verify system prompts are handled correctly' - - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/06-Reference/changelog.md' - title: 'Changelog' - why_important: 'Should document new system prompt display feature when implemented' - topics: ['changelog', 'releases', 'features'] - owners: ['@release-team'] + update_triggers: ['deployment changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker image references need updating' + recommended_action: 'Update alanpurestake references to moonsonglabs' + notes: 'Docker Compose deployment examples' + + - path: '/home/crystalin/claude-nexus/docs/04-Architecture/technical-debt.md' + title: 'Technical Debt Register' + why_important: 'Contains GitHub PR references with old repository name' + topics: ['technical-debt', 'documentation', 'tracking'] + owners: ['@architecture-team'] linked_docs: [] related_components: [] dependencies: direct: [] indirect: [] - update_triggers: ['new releases', 'feature additions'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'Will need entry for system prompt display feature' - recommended_action: 'Add changelog entry when system prompt display feature is released' - notes: 'Standard changelog entry needed for new feature' + update_triggers: ['debt resolution', 'new debt items'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'GitHub PR links need updating' + recommended_action: 'Update GitHub PR URLs from claude-nexus-proxy to claude-nexus' + notes: 'Lines 47, 71: GitHub PR reference links' - - path: '/home/crystalin/projects/claude-nexus-proxy/docs/04-Architecture/internals.md' + - path: '/home/crystalin/claude-nexus/docs/04-Architecture/internals.md' title: 'Architecture Internals' - why_important: 'Technical documentation that may cover message processing internals' - topics: ['architecture', 'internals', 'message-processing'] + why_important: 'Technical documentation with Docker example' + topics: ['architecture', 'internals', 'documentation'] owners: ['@architecture-team'] - linked_docs: ['docs/04-Architecture/ADRs/adr-003-conversation-tracking.md'] - related_components: ['services/proxy/*', 'services/dashboard/*'] + linked_docs: [] + related_components: [] + dependencies: + direct: [] + indirect: [] + update_triggers: ['architecture updates'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Docker image name in example' + recommended_action: 'Update Docker image name in example' + notes: 'Line 580: Docker image reference' + + - path: '/home/crystalin/claude-nexus/docs/api/openapi-analysis.yaml' + title: 'OpenAPI Specification' + why_important: 'API specification with project URL' + topics: ['api', 'openapi', 'specification'] + owners: ['@api-team'] + linked_docs: [] + related_components: [] dependencies: direct: [] indirect: [] - update_triggers: ['architecture changes', 'internal processing updates'] - last_seen: '2025-01-12' - last_reviewed_at: '2025-01-12' - staleness_hints: 'May need updates for system prompt handling in message flow' - recommended_action: 'Check if system prompt processing needs documentation' - notes: 'Review for any message processing that affects system prompts' + update_triggers: ['API changes'] + last_seen: '2025-08-19' + last_reviewed_at: '2025-08-19' + staleness_hints: 'Project URL needs updating' + recommended_action: 'Update GitHub URL from alanpurestake/claude-nexus-proxy to moonsonglabs/claude-nexus' + notes: 'Line 36: GitHub project URL' diff --git a/README.md b/README.md index 0429f621..827bf82f 100644 --- a/README.md +++ b/README.md @@ -110,8 +110,8 @@ For administrators or heavy users, you can follow the token usage and see when a ```bash # Clone the repository -git clone https://github.com/yourusername/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/yourusername/claude-nexus.git +cd claude-nexus # Install dependencies bun install @@ -216,7 +216,7 @@ Features: ## Architecture ``` -claude-nexus-proxy/ +claude-nexus/ ├── packages/shared/ # Shared types and utilities ├── services/ │ ├── proxy/ # Proxy API service @@ -294,7 +294,7 @@ See [AWS Infrastructure Guide](docs/03-Operations/deployment/aws-infrastructure. ```bash # Build images individually -docker build -f docker/proxy/Dockerfile -t claude-nexus-proxy:local . +docker build -f docker/proxy/Dockerfile -t claude-nexus:local . docker build -f docker/dashboard/Dockerfile -t claude-nexus-dashboard:local . ``` @@ -349,6 +349,6 @@ Contributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTIN ## Support - 📖 [Full Documentation](docs/README.md) -- 🐛 [Issue Tracker](https://github.com/yourusername/claude-nexus-proxy/issues) -- 💬 [Discussions](https://github.com/yourusername/claude-nexus-proxy/discussions) +- 🐛 [Issue Tracker](https://github.com/yourusername/claude-nexus/issues) +- 💬 [Discussions](https://github.com/yourusername/claude-nexus/discussions) - 📊 [Changelog](docs/06-Reference/changelog.md) diff --git a/docker/README.md b/docker/README.md index 30a01926..88ae0230 100644 --- a/docker/README.md +++ b/docker/README.md @@ -4,14 +4,14 @@ This directory contains the Docker configurations for the Claude Nexus Proxy pro ## Images -### 1. Proxy Service (`alanpurestake/claude-nexus-proxy`) +### 1. Proxy Service (`moonsonglabs/claude-nexus-proxy`) - Port: 3000 - Handles Claude API proxying - Manages authentication and token tracking - Stores request/response data -### 2. Dashboard Service (`alanpurestake/claude-nexus-dashboard`) +### 2. Dashboard Service (`moonsonglabs/claude-nexus-dashboard`) - Port: 3001 - Web UI for monitoring and analytics @@ -40,8 +40,8 @@ This directory contains the Docker configurations for the Claude Nexus Proxy pro ```bash # Build individually with custom tags -docker build -f proxy/Dockerfile -t alanpurestake/claude-nexus-proxy:v9 .. -docker build -f dashboard/Dockerfile -t alanpurestake/claude-nexus-dashboard:v9 .. +docker build -f proxy/Dockerfile -t moonsonglabs/claude-nexus-proxy:v9 .. +docker build -f dashboard/Dockerfile -t moonsonglabs/claude-nexus-dashboard:v9 .. ``` ## Pushing Images @@ -93,13 +93,13 @@ docker-compose --project-name claude-nexus --env-file ../.env up -d # Proxy service docker run -p 3000:3000 \ -v ./credentials:/app/credentials:ro \ - alanpurestake/claude-nexus-proxy:latest + moonsonglabs/claude-nexus-proxy:latest # Dashboard service docker run -p 3001:3001 \ -e DASHBOARD_API_KEY=your-key \ -e PROXY_API_URL=http://localhost:3000 \ - alanpurestake/claude-nexus-dashboard:latest + moonsonglabs/claude-nexus-dashboard:latest ``` ## Environment Variables diff --git a/docker/build-images.sh b/docker/build-images.sh index 0e8444a0..065af00a 100755 --- a/docker/build-images.sh +++ b/docker/build-images.sh @@ -44,12 +44,12 @@ cd "$PROJECT_ROOT" # Build proxy image (always build as latest first) echo -e "\n${BLUE}Building Proxy Service...${NC}" -docker build -f docker/proxy/Dockerfile -t alanpurestake/claude-nexus-proxy:latest . +docker build -f docker/proxy/Dockerfile -t moonsonglabs/claude-nexus-proxy:latest . if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Proxy image built successfully${NC}" # Tag with specific version if provided if [ "$TAG" != "latest" ]; then - docker tag alanpurestake/claude-nexus-proxy:latest alanpurestake/claude-nexus-proxy:${TAG} + docker tag moonsonglabs/claude-nexus-proxy:latest moonsonglabs/claude-nexus-proxy:${TAG} echo -e "${GREEN}✓ Also tagged as '${TAG}'${NC}" fi else @@ -59,12 +59,12 @@ fi # Build dashboard image (always build as latest first) echo -e "\n${BLUE}Building Dashboard Service...${NC}" -docker build -f docker/dashboard/Dockerfile -t alanpurestake/claude-nexus-dashboard:latest . +docker build -f docker/dashboard/Dockerfile -t moonsonglabs/claude-nexus-dashboard:latest . if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Dashboard image built successfully${NC}" # Tag with specific version if provided if [ "$TAG" != "latest" ]; then - docker tag alanpurestake/claude-nexus-dashboard:latest alanpurestake/claude-nexus-dashboard:${TAG} + docker tag moonsonglabs/claude-nexus-dashboard:latest moonsonglabs/claude-nexus-dashboard:${TAG} echo -e "${GREEN}✓ Also tagged as '${TAG}'${NC}" fi else @@ -74,17 +74,17 @@ fi # Show image sizes echo -e "\n${BLUE}Image Sizes:${NC}" -docker images | grep -E "claude-nexus-(proxy|dashboard)|REPOSITORY" | grep -E "${TAG}|REPOSITORY" | head -5 +docker images | grep -E "moonsonglabs/claude-nexus-(proxy|dashboard)|REPOSITORY" | grep -E "${TAG}|latest|REPOSITORY" | head -5 echo -e "\n${GREEN}Build completed successfully!${NC}" echo -e "\nImages built:" -echo -e " ${YELLOW}alanpurestake/claude-nexus-proxy:latest${NC}" -echo -e " ${YELLOW}alanpurestake/claude-nexus-dashboard:latest${NC}" +echo -e " ${YELLOW}moonsonglabs/claude-nexus-proxy:latest${NC}" +echo -e " ${YELLOW}moonsonglabs/claude-nexus-dashboard:latest${NC}" if [ "$TAG" != "latest" ]; then echo -e "\nAlso tagged as:" - echo -e " ${YELLOW}alanpurestake/claude-nexus-proxy:${TAG}${NC}" - echo -e " ${YELLOW}alanpurestake/claude-nexus-dashboard:${TAG}${NC}" + echo -e " ${YELLOW}moonsonglabs/claude-nexus-proxy:${TAG}${NC}" + echo -e " ${YELLOW}moonsonglabs/claude-nexus-dashboard:${TAG}${NC}" fi echo -e "\nTo run the services:" @@ -106,23 +106,23 @@ fi echo -e "\n${YELLOW}Using Docker Run:${NC}" echo -e " ${BLUE}# Proxy service${NC}" -echo -e " ${BLUE}docker run -d -p 3000:3000 alanpurestake/claude-nexus-proxy:${TAG}${NC}" +echo -e " ${BLUE}docker run -d -p 3000:3000 moonsonglabs/claude-nexus-proxy:${TAG}${NC}" echo -e " ${BLUE}# Dashboard service${NC}" -echo -e " ${BLUE}docker run -d -p 3001:3001 -e DASHBOARD_API_KEY=your-key alanpurestake/claude-nexus-dashboard:${TAG}${NC}" +echo -e " ${BLUE}docker run -d -p 3001:3001 -e DASHBOARD_API_KEY=your-key moonsonglabs/claude-nexus-dashboard:${TAG}${NC}" # Add push instructions echo -e "\n${YELLOW}To push to Docker Hub:${NC}" if [ "$TAG" != "latest" ]; then echo -e " ${BLUE}# Push both latest and version tags:${NC}" - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-proxy:latest${NC}" - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-proxy:${TAG}${NC}" - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-dashboard:latest${NC}" - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-dashboard:${TAG}${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-proxy:latest${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-proxy:${TAG}${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-dashboard:latest${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-dashboard:${TAG}${NC}" echo -e "\n ${YELLOW}Or use the push script:${NC}" echo -e " ${BLUE}./docker/push-images.sh ${TAG}${NC}" else - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-proxy:latest${NC}" - echo -e " ${BLUE}docker push alanpurestake/claude-nexus-dashboard:latest${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-proxy:latest${NC}" + echo -e " ${BLUE}docker push moonsonglabs/claude-nexus-dashboard:latest${NC}" echo -e "\n ${YELLOW}Or use the push script:${NC}" echo -e " ${BLUE}./docker/push-images.sh${NC}" fi diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 5788d2e0..219c35b8 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -33,7 +33,7 @@ services: context: ../ dockerfile: docker/proxy/Dockerfile image: claude-nexus-proxy:local - container_name: claude-nexus-proxy + container_name: claude-nexus environment: # Server configuration PORT: 3000 diff --git a/docker/push-images.sh b/docker/push-images.sh index 298b8d88..6a5d8211 100755 --- a/docker/push-images.sh +++ b/docker/push-images.sh @@ -42,7 +42,7 @@ fi # Push proxy image echo -e "\n${BLUE}Pushing Proxy Service...${NC}" -docker push alanpurestake/claude-nexus-proxy:${TAG} +docker push moonsonglabs/claude-nexus-proxy:${TAG} if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Proxy image pushed successfully${NC}" else @@ -52,7 +52,7 @@ fi # Push dashboard image echo -e "\n${BLUE}Pushing Dashboard Service...${NC}" -docker push alanpurestake/claude-nexus-dashboard:${TAG} +docker push moonsonglabs/claude-nexus-dashboard:${TAG} if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Dashboard image pushed successfully${NC}" else @@ -64,7 +64,7 @@ fi if [ "$TAG" != "latest" ] && [ "$PUSH_LATEST" = "yes" ]; then echo -e "\n${BLUE}Also pushing 'latest' tags...${NC}" - docker push alanpurestake/claude-nexus-proxy:latest + docker push moonsonglabs/claude-nexus-proxy:latest if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Proxy 'latest' pushed successfully${NC}" else @@ -72,7 +72,7 @@ if [ "$TAG" != "latest" ] && [ "$PUSH_LATEST" = "yes" ]; then exit 1 fi - docker push alanpurestake/claude-nexus-dashboard:latest + docker push moonsonglabs/claude-nexus-dashboard:latest if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Dashboard 'latest' pushed successfully${NC}" else @@ -83,9 +83,9 @@ fi echo -e "\n${GREEN}Push completed successfully!${NC}" echo -e "\nImages available at:" -echo -e " ${YELLOW}https://hub.docker.com/r/alanpurestake/claude-nexus-proxy${NC}" -echo -e " ${YELLOW}https://hub.docker.com/r/alanpurestake/claude-nexus-dashboard${NC}" +echo -e " ${YELLOW}https://hub.docker.com/r/moonsonglabs/claude-nexus-proxy${NC}" +echo -e " ${YELLOW}https://hub.docker.com/r/moonsonglabs/claude-nexus-dashboard${NC}" echo -e "\nTo pull and run:" -echo -e " ${BLUE}docker pull alanpurestake/claude-nexus-proxy:${TAG}${NC}" -echo -e " ${BLUE}docker pull alanpurestake/claude-nexus-dashboard:${TAG}${NC}" \ No newline at end of file +echo -e " ${BLUE}docker pull moonsonglabs/claude-nexus-proxy:${TAG}${NC}" +echo -e " ${BLUE}docker pull moonsonglabs/claude-nexus-dashboard:${TAG}${NC}" \ No newline at end of file diff --git a/docs/00-Overview/architecture.md b/docs/00-Overview/architecture.md index cfb5ac50..e0432d46 100644 --- a/docs/00-Overview/architecture.md +++ b/docs/00-Overview/architecture.md @@ -10,7 +10,7 @@ Claude Nexus has been refactored into a microservices architecture with two sepa ## Directory Structure ``` -claude-nexus-proxy/ +claude-nexus/ ├── packages/ │ └── shared/ # Shared types and configurations ├── services/ diff --git a/docs/00-Overview/quickstart.md b/docs/00-Overview/quickstart.md index fd92d164..3e16d9c1 100644 --- a/docs/00-Overview/quickstart.md +++ b/docs/00-Overview/quickstart.md @@ -10,8 +10,8 @@ ### 1. Clone and configure ```bash -git clone https://github.com/moonsong-labs/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/moonsong-labs/claude-nexus.git +cd claude-nexus cp .env.example .env # ⚠️ CRITICAL: Edit .env and set DASHBOARD_API_KEY! diff --git a/docs/01-Getting-Started/development.md b/docs/01-Getting-Started/development.md index a86b8561..ce0b0f70 100644 --- a/docs/01-Getting-Started/development.md +++ b/docs/01-Getting-Started/development.md @@ -13,8 +13,8 @@ This guide covers setting up and developing Claude Nexus Proxy. ### 1. Clone and Install ```bash -git clone https://github.com/yourusername/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/yourusername/claude-nexus.git +cd claude-nexus bun install ``` @@ -60,7 +60,7 @@ bun run dev:dashboard # Port 3001 ## Project Structure ``` -claude-nexus-proxy/ +claude-nexus/ ├── packages/ │ └── shared/ # Shared types and utilities ├── services/ diff --git a/docs/01-Getting-Started/installation.md b/docs/01-Getting-Started/installation.md index cc235e7a..32e4c971 100644 --- a/docs/01-Getting-Started/installation.md +++ b/docs/01-Getting-Started/installation.md @@ -19,8 +19,8 @@ Before you begin, ensure you have the following: #### 1. Clone the Repository ```bash -git clone https://github.com/yourusername/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/yourusername/claude-nexus.git +cd claude-nexus ``` #### 2. Install Dependencies @@ -100,8 +100,8 @@ bun run dev:dashboard # Dashboard on port 3001 ```bash # Clone the repository -git clone https://github.com/yourusername/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/yourusername/claude-nexus.git +cd claude-nexus # Create .env file cp .env.example .env @@ -118,7 +118,7 @@ docker compose logs -f ```bash # Pull the images -docker pull alanpurestake/claude-nexus-proxy:latest +docker pull alanpurestake/claude-nexus:latest docker pull alanpurestake/claude-nexus-dashboard:latest # Run PostgreSQL @@ -137,7 +137,7 @@ docker run -d \ -e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/claude_nexus \ -e STORAGE_ENABLED=true \ -v $(pwd)/credentials:/app/credentials \ - alanpurestake/claude-nexus-proxy:latest + alanpurestake/claude-nexus:latest # Run the dashboard docker run -d \ diff --git a/docs/03-Operations/deployment/aws-infrastructure.md b/docs/03-Operations/deployment/aws-infrastructure.md index c278044b..b98de39e 100644 --- a/docs/03-Operations/deployment/aws-infrastructure.md +++ b/docs/03-Operations/deployment/aws-infrastructure.md @@ -29,7 +29,7 @@ Each EC2 instance should have the following structure in the ubuntu user's home ``` /home/ubuntu/ ├── .env # Environment configuration -├── claude-nexus-proxy/ # Git repository +├── claude-nexus/ # Git repository │ └── scripts/ops/ # Operational scripts ├── credentials/ # Domain credential files │ ├── domain1.com.credentials.json @@ -68,8 +68,8 @@ resource "aws_instance" "nexus_proxy_prod" { curl -fsSL https://get.docker.com | bash # Clone repository - git clone https://github.com/yourusername/claude-nexus-proxy.git /home/ubuntu/claude-nexus-proxy - chown -R ubuntu:ubuntu /home/ubuntu/claude-nexus-proxy + git clone https://github.com/yourusername/claude-nexus.git /home/ubuntu/claude-nexus + chown -R ubuntu:ubuntu /home/ubuntu/claude-nexus # Create required directories mkdir -p /home/ubuntu/credentials diff --git a/docs/03-Operations/deployment/docker-compose.md b/docs/03-Operations/deployment/docker-compose.md index e7160ba8..c856f0d6 100644 --- a/docs/03-Operations/deployment/docker-compose.md +++ b/docs/03-Operations/deployment/docker-compose.md @@ -25,8 +25,8 @@ The Docker Compose configuration includes: ```bash # Clone the repository -git clone https://github.com/yourusername/claude-nexus-proxy.git -cd claude-nexus-proxy +git clone https://github.com/yourusername/claude-nexus.git +cd claude-nexus # Copy and edit environment file cp .env.example .env @@ -89,7 +89,7 @@ services: retries: 5 proxy: - image: alanpurestake/claude-nexus-proxy:latest + image: moonsonglabs/claude-nexus-proxy:latest depends_on: postgres: condition: service_healthy @@ -104,7 +104,7 @@ services: restart: unless-stopped dashboard: - image: alanpurestake/claude-nexus-dashboard:latest + image: moonsonglabs/claude-nexus-dashboard:latest depends_on: postgres: condition: service_healthy diff --git a/docs/03-Operations/deployment/docker.md b/docs/03-Operations/deployment/docker.md index f1d761f2..36f4df30 100644 --- a/docs/03-Operations/deployment/docker.md +++ b/docs/03-Operations/deployment/docker.md @@ -17,7 +17,7 @@ The project provides optimized Docker images for each service. ./docker/build-images.sh # Or build individually -docker build -f docker/proxy/Dockerfile -t claude-nexus-proxy . +docker build -f docker/proxy/Dockerfile -t claude-nexus . docker build -f docker/dashboard/Dockerfile -t claude-nexus-dashboard . ``` @@ -44,7 +44,7 @@ docker run -d \ -p 3000:3000 \ -e DATABASE_URL=$DATABASE_URL \ -v $(pwd)/credentials:/app/credentials:ro \ - claude-nexus-proxy + claude-nexus # Run dashboard # ⚠️ CRITICAL: Always set DASHBOARD_API_KEY to prevent unauthorized access @@ -102,7 +102,7 @@ After=network.target postgresql.service [Service] Type=simple User=proxy -WorkingDirectory=/opt/claude-nexus-proxy +WorkingDirectory=/opt/claude-nexus Environment="DATABASE_URL=postgresql://..." ExecStart=/usr/local/bin/bun run services/proxy/dist/index.js Restart=always @@ -379,12 +379,12 @@ networks: ```bash # Secure credentials -chmod 700 /opt/claude-nexus-proxy/credentials -chmod 600 /opt/claude-nexus-proxy/credentials/* +chmod 700 /opt/claude-nexus/credentials +chmod 600 /opt/claude-nexus/credentials/* # Application files -chown -R proxy:proxy /opt/claude-nexus-proxy -chmod -R 755 /opt/claude-nexus-proxy +chown -R proxy:proxy /opt/claude-nexus +chmod -R 755 /opt/claude-nexus ``` ## Backup and Recovery @@ -401,7 +401,7 @@ BACKUP_DIR=/backups pg_dump $DATABASE_URL | gzip > $BACKUP_DIR/db_$DATE.sql.gz # Credentials backup -tar czf $BACKUP_DIR/credentials_$DATE.tar.gz /opt/claude-nexus-proxy/credentials +tar czf $BACKUP_DIR/credentials_$DATE.tar.gz /opt/claude-nexus/credentials # Retention (keep 7 days) find $BACKUP_DIR -name "*.gz" -mtime +7 -delete @@ -431,7 +431,7 @@ docker-compose up -d ```bash # Update proxy without downtime -docker service update --image claude-nexus-proxy:new proxy +docker service update --image claude-nexus:new proxy # Update dashboard docker service update --image claude-nexus-dashboard:new dashboard @@ -456,7 +456,7 @@ psql $DATABASE_URL -c "REINDEX DATABASE claude_nexus;" docker stats # Limit container memory -docker run -m 1g claude-nexus-proxy +docker run -m 1g claude-nexus ``` ### Slow Queries diff --git a/docs/04-Architecture/ADRs/adr-001-monorepo-structure.md b/docs/04-Architecture/ADRs/adr-001-monorepo-structure.md index db32fc9d..7617c714 100644 --- a/docs/04-Architecture/ADRs/adr-001-monorepo-structure.md +++ b/docs/04-Architecture/ADRs/adr-001-monorepo-structure.md @@ -38,7 +38,7 @@ The Claude Nexus Proxy project consists of multiple interconnected services: a p We will use a **monorepo structure with Bun workspaces**, organizing the codebase as follows: ``` -claude-nexus-proxy/ +claude-nexus/ ├── packages/shared/ # Shared types and utilities ├── services/ │ ├── proxy/ # Proxy API service @@ -54,7 +54,7 @@ Root `package.json`: ```json { - "name": "claude-nexus-proxy", + "name": "claude-nexus", "private": true, "workspaces": ["packages/*", "services/*"], "scripts": { diff --git a/docs/04-Architecture/ADRs/adr-002-separate-docker-images.md b/docs/04-Architecture/ADRs/adr-002-separate-docker-images.md index e0b940bd..2d8f800e 100644 --- a/docs/04-Architecture/ADRs/adr-002-separate-docker-images.md +++ b/docs/04-Architecture/ADRs/adr-002-separate-docker-images.md @@ -37,7 +37,7 @@ Given our monorepo structure (ADR-001), we need to decide how to package and dep We will use **completely separate Docker images** for each service: -- `claude-nexus-proxy`: Contains only the proxy service +- `claude-nexus`: Contains only the proxy service - `claude-nexus-dashboard`: Contains only the dashboard service ### Implementation Details diff --git a/docs/04-Architecture/ADRs/adr-003-conversation-tracking.md b/docs/04-Architecture/ADRs/adr-003-conversation-tracking.md index 2a291a69..bcb0b277 100644 --- a/docs/04-Architecture/ADRs/adr-003-conversation-tracking.md +++ b/docs/04-Architecture/ADRs/adr-003-conversation-tracking.md @@ -121,7 +121,7 @@ CREATE INDEX idx_message_hashes ON api_requests(parent_message_hash, current_mes ## Links -- [Implementation PR #13](https://github.com/your-org/claude-nexus-proxy/pull/13) +- [Implementation PR #13](https://github.com/your-org/claude-nexus/pull/13) - [Conversation Visualization](../../02-User-Guide/dashboard-guide.md#conversation-tracking) - [Database Schema](../../03-Operations/database.md) diff --git a/docs/04-Architecture/ADRs/adr-004-proxy-authentication.md b/docs/04-Architecture/ADRs/adr-004-proxy-authentication.md index e353b2dc..d0f45ad1 100644 --- a/docs/04-Architecture/ADRs/adr-004-proxy-authentication.md +++ b/docs/04-Architecture/ADRs/adr-004-proxy-authentication.md @@ -136,7 +136,7 @@ We will implement **Bearer Token Authentication** with domain-specific API keys ## Links -- [PR #2: Proxy-level authentication](https://github.com/your-org/claude-nexus-proxy/pull/2) +- [PR #2: Proxy-level authentication](https://github.com/your-org/claude-nexus/pull/2) - [Security Guide](../../03-Operations/security.md) - [Authentication Guide](../../02-User-Guide/authentication.md) diff --git a/docs/04-Architecture/ADRs/adr-005-token-usage-tracking.md b/docs/04-Architecture/ADRs/adr-005-token-usage-tracking.md index 58d10511..725d4d9e 100644 --- a/docs/04-Architecture/ADRs/adr-005-token-usage-tracking.md +++ b/docs/04-Architecture/ADRs/adr-005-token-usage-tracking.md @@ -156,7 +156,7 @@ We will implement **direct storage in the api_requests table** with account-leve ## Links -- [PR #20: Comprehensive token tracking](https://github.com/your-org/claude-nexus-proxy/pull/20) +- [PR #20: Comprehensive token tracking](https://github.com/your-org/claude-nexus/pull/20) - [Monitoring Guide](../../03-Operations/monitoring.md) - [API Reference](../../02-User-Guide/api-reference.md#token-usage) diff --git a/docs/04-Architecture/ADRs/adr-006-long-running-requests.md b/docs/04-Architecture/ADRs/adr-006-long-running-requests.md index 4a97660c..a0357e0e 100644 --- a/docs/04-Architecture/ADRs/adr-006-long-running-requests.md +++ b/docs/04-Architecture/ADRs/adr-006-long-running-requests.md @@ -158,7 +158,7 @@ We will implement **configurable timeouts** with sensible defaults for long-runn ## Links -- [PR #16: Long-running request support](https://github.com/your-org/claude-nexus-proxy/pull/16) +- [PR #16: Long-running request support](https://github.com/your-org/claude-nexus/pull/16) - [Configuration Guide](../../01-Getting-Started/configuration.md#timeouts) - [Performance Guide](../../05-Troubleshooting/performance.md) diff --git a/docs/04-Architecture/ADRs/adr-007-subtask-tracking.md b/docs/04-Architecture/ADRs/adr-007-subtask-tracking.md index c81308f6..06c4e426 100644 --- a/docs/04-Architecture/ADRs/adr-007-subtask-tracking.md +++ b/docs/04-Architecture/ADRs/adr-007-subtask-tracking.md @@ -285,7 +285,7 @@ In January 2025, we completed a major architectural evolution to consolidate all ## Links -- [PR #13: Conversation and sub-task tracking](https://github.com/your-org/claude-nexus-proxy/pull/13) +- [PR #13: Conversation and sub-task tracking](https://github.com/your-org/claude-nexus/pull/13) - [Dashboard Guide](../../02-User-Guide/dashboard-guide.md#sub-task-visualization) - [API Reference](../../02-User-Guide/api-reference.md#subtasks) diff --git a/docs/04-Architecture/ADRs/adr-008-cicd-strategy.md b/docs/04-Architecture/ADRs/adr-008-cicd-strategy.md index c9654ca8..5b459355 100644 --- a/docs/04-Architecture/ADRs/adr-008-cicd-strategy.md +++ b/docs/04-Architecture/ADRs/adr-008-cicd-strategy.md @@ -174,7 +174,7 @@ We will use **GitHub Actions** for all CI/CD workflows. ## Links -- [PR #1: CI/CD Setup](https://github.com/your-org/claude-nexus-proxy/pull/1) +- [PR #1: CI/CD Setup](https://github.com/your-org/claude-nexus/pull/1) - [GitHub Actions Documentation](https://docs.github.com/actions) - [Deployment Guide](../../03-Operations/deployment/) diff --git a/docs/04-Architecture/ADRs/adr-009-dashboard-architecture.md b/docs/04-Architecture/ADRs/adr-009-dashboard-architecture.md index f28554e3..d8508813 100644 --- a/docs/04-Architecture/ADRs/adr-009-dashboard-architecture.md +++ b/docs/04-Architecture/ADRs/adr-009-dashboard-architecture.md @@ -164,7 +164,7 @@ We will use **HTMX with server-side rendering** for the dashboard. ## Links -- [PR #11: Enhanced Dashboard](https://github.com/your-org/claude-nexus-proxy/pull/11) +- [PR #11: Enhanced Dashboard](https://github.com/your-org/claude-nexus/pull/11) - [HTMX Documentation](https://htmx.org) - [Dashboard Guide](../../02-User-Guide/dashboard-guide.md) diff --git a/docs/04-Architecture/ADRs/adr-010-docker-cli-integration.md b/docs/04-Architecture/ADRs/adr-010-docker-cli-integration.md index e53f3f40..f1038fe4 100644 --- a/docs/04-Architecture/ADRs/adr-010-docker-cli-integration.md +++ b/docs/04-Architecture/ADRs/adr-010-docker-cli-integration.md @@ -177,8 +177,8 @@ We will provide **Docker-based Claude CLI integration** with pre-configured cont ## Links -- [PR #17: Docker CLI Setup](https://github.com/your-org/claude-nexus-proxy/pull/17) -- [PR #19: CLI Enhancements](https://github.com/your-org/claude-nexus-proxy/pull/19) +- [PR #17: Docker CLI Setup](https://github.com/your-org/claude-nexus/pull/17) +- [PR #19: CLI Enhancements](https://github.com/your-org/claude-nexus/pull/19) - [Claude CLI Guide](../../02-User-Guide/claude-cli.md) --- diff --git a/docs/04-Architecture/ADRs/adr-014-sql-query-logging.md b/docs/04-Architecture/ADRs/adr-014-sql-query-logging.md index 56e0d635..db3a383c 100644 --- a/docs/04-Architecture/ADRs/adr-014-sql-query-logging.md +++ b/docs/04-Architecture/ADRs/adr-014-sql-query-logging.md @@ -6,7 +6,7 @@ Accepted ## Context -During development and troubleshooting of the claude-nexus-proxy, developers need visibility into SQL queries being executed by the application. This is particularly important for: +During development and troubleshooting of the claude-nexus, developers need visibility into SQL queries being executed by the application. This is particularly important for: - Debugging conversation linking logic - Optimizing slow queries @@ -155,7 +155,7 @@ The SQL logging feature has been successfully implemented and provides valuable ## Links -- [Implementation PR #44](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/44) +- [Implementation PR #44](https://github.com/Moonsong-Labs/claude-nexus/pull/44) - [sql-logger.ts](../../../services/proxy/src/utils/sql-logger.ts) - [Database Configuration](../../../services/proxy/src/services/database.ts) diff --git a/docs/04-Architecture/ADRs/adr-017-mcp-prompt-sharing.md b/docs/04-Architecture/ADRs/adr-017-mcp-prompt-sharing.md index 3cb594a6..3b29fb2a 100644 --- a/docs/04-Architecture/ADRs/adr-017-mcp-prompt-sharing.md +++ b/docs/04-Architecture/ADRs/adr-017-mcp-prompt-sharing.md @@ -104,5 +104,5 @@ claude mcp add nexus-prompts --scope user -- bunx -y mcp-remote@latest \ ## References - [Model Context Protocol Specification](https://modelcontextprotocol.io) -- [PR #83: Initial MCP Implementation](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/83) -- [PR #87: MCP Server Fixes](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/87) +- [PR #83: Initial MCP Implementation](https://github.com/Moonsong-Labs/claude-nexus/pull/83) +- [PR #87: MCP Server Fixes](https://github.com/Moonsong-Labs/claude-nexus/pull/87) diff --git a/docs/04-Architecture/ADRs/adr-018-ai-powered-conversation-analysis.md b/docs/04-Architecture/ADRs/adr-018-ai-powered-conversation-analysis.md index 8a075530..57be9b46 100644 --- a/docs/04-Architecture/ADRs/adr-018-ai-powered-conversation-analysis.md +++ b/docs/04-Architecture/ADRs/adr-018-ai-powered-conversation-analysis.md @@ -219,7 +219,7 @@ Key files: - [Feature Plan](../feature-plan-ai-analysis.md) - [Database Schema Evolution ADR](./adr-012-database-schema-evolution.md) -- [PR #75: Database Schema Implementation](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/75) +- [PR #75: Database Schema Implementation](https://github.com/Moonsong-Labs/claude-nexus/pull/75) ## Notes diff --git a/docs/04-Architecture/internals.md b/docs/04-Architecture/internals.md index 95f603d9..b0024e31 100644 --- a/docs/04-Architecture/internals.md +++ b/docs/04-Architecture/internals.md @@ -577,7 +577,7 @@ spec: spec: containers: - name: proxy - image: claude-nexus-proxy:latest + image: claude-nexus:latest env: - name: DATABASE_URL valueFrom: diff --git a/docs/04-Architecture/technical-debt.md b/docs/04-Architecture/technical-debt.md index 7dcafd7e..895ffac6 100644 --- a/docs/04-Architecture/technical-debt.md +++ b/docs/04-Architecture/technical-debt.md @@ -44,7 +44,7 @@ setInterval(() => { }, 300000); // Every 5 minutes ``` -**Reference**: [PR #13 Review](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/13#review) +**Reference**: [PR #13 Review](https://github.com/Moonsong-Labs/claude-nexus/pull/13#review) ### 2. ✅ N+1 Query Pattern in Conversations API [RESOLVED] @@ -68,7 +68,7 @@ setInterval(() => { - Reduced query complexity from O(n\*m) to O(n log n) - Added proper indexes aligned with window function partitioning -**Reference**: [PR #13 Review](https://github.com/Moonsong-Labs/claude-nexus-proxy/pull/13#review) +**Reference**: [PR #13 Review](https://github.com/Moonsong-Labs/claude-nexus/pull/13#review) ## Medium Priority diff --git a/docs/06-Reference/environment-vars.md b/docs/06-Reference/environment-vars.md index 19340d93..281de842 100644 --- a/docs/06-Reference/environment-vars.md +++ b/docs/06-Reference/environment-vars.md @@ -292,13 +292,13 @@ config() Pass environment variables to Docker: ```bash -docker run -e DATABASE_URL=postgresql://... claude-nexus-proxy +docker run -e DATABASE_URL=postgresql://... claude-nexus ``` Or use env file: ```bash -docker run --env-file .env claude-nexus-proxy +docker run --env-file .env claude-nexus ``` ### From Docker Compose diff --git a/docs/README.md b/docs/README.md index 4b296dba..21c98c21 100644 --- a/docs/README.md +++ b/docs/README.md @@ -63,7 +63,7 @@ Welcome to the Claude Nexus Proxy documentation. This guide will help you unders ## Project Links -- [GitHub Repository](https://github.com/your-org/claude-nexus-proxy) +- [GitHub Repository](https://github.com/your-org/claude-nexus) - [Main README](../README.md) - [Contributing Guidelines](../CONTRIBUTING.md) - [License](../LICENSE) diff --git a/package.json b/package.json index 731a4b4c..91a57df5 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "type": "module", "repository": { "type": "git", - "url": "https://github.com/moonsong-labs/claude-nexus-proxy.git" + "url": "https://github.com/moonsong-labs/claude-nexus.git" }, "workspaces": [ "packages/*", diff --git a/scripts/ops/README.md b/scripts/ops/README.md index 80028e16..84f051cf 100644 --- a/scripts/ops/README.md +++ b/scripts/ops/README.md @@ -24,8 +24,8 @@ Manages Claude Nexus Proxy Docker containers across all EC2 instances tagged wit **Commands:** -- `up` - Pull latest code (git pull) and start/update the claude-nexus-proxy container -- `down` - Stop the claude-nexus-proxy container +- `up` - Pull latest code (git pull) and start/update the claude-nexus container +- `down` - Stop the claude-nexus container - `status` - Check container status **Options:** @@ -63,7 +63,7 @@ The script filters EC2 instances based on the `env` tag: - EC2 instances must have: - "Nexus Proxy" in their Name tag - Optional `env` tag with value `prod` or `staging` - - Git repository cloned at `~/claude-nexus-proxy` on each server + - Git repository cloned at `~/claude-nexus` on each server - Git access configured (for pulling from origin/main) - `.env` file located at `~/.env` (in user's home directory) - `credentials` directory at `~/credentials` (if using credential files) diff --git a/scripts/ops/manage-nexus-proxies.sh b/scripts/ops/manage-nexus-proxies.sh index 5ed6752c..f31c147c 100755 --- a/scripts/ops/manage-nexus-proxies.sh +++ b/scripts/ops/manage-nexus-proxies.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Script to manage claude-nexus-proxy Docker containers across all Nexus Proxy EC2 instances +# Script to manage claude-nexus Docker containers across all Nexus Proxy EC2 instances # Dynamically fetches EC2 instances from AWS # Colors for output @@ -16,9 +16,9 @@ usage() { echo "Usage: $0 [--env {prod|staging}] {up|down|status|exec} [server-name|command]" echo "" echo "Commands:" - echo " up - Enable/start the claude-nexus-proxy container" - echo " down - Disable/stop the claude-nexus-proxy container" - echo " status - Check the status of the claude-nexus-proxy container" + echo " up - Enable/start the claude-nexus container" + echo " down - Disable/stop the claude-nexus container" + echo " status - Check the status of the claude-nexus container" echo " exec - Execute a bash command on the server(s)" echo "" echo "Options:" @@ -129,7 +129,7 @@ pull_latest_code() { echo -e "${BLUE}Pulling latest code on $name...${NC}" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "cd ~/claude-nexus-proxy && git pull origin main" 2>&1 + "cd ~/claude-nexus && git pull origin main" 2>&1 if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Code updated successfully${NC}" @@ -224,14 +224,14 @@ execute_on_server_async() { "up") # Pull latest code before updating ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "cd ~/claude-nexus-proxy && git pull origin main" 2>&1 + "cd ~/claude-nexus && git pull origin main" 2>&1 if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Code updated${NC}" # Now run the update script ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "cd ~ && ./claude-nexus-proxy/scripts/ops/update-proxy.sh latest proxy" 2>&1 + "cd ~ && ./claude-nexus/scripts/ops/update-proxy.sh latest proxy" 2>&1 else echo -e "${RED}✗ Failed to pull latest code. Aborting update for $name.${NC}" echo -e "${RED}Please resolve git issues on the server before retrying.${NC}" @@ -240,11 +240,11 @@ execute_on_server_async() { ;; "down") ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "docker stop claude-nexus-proxy 2>/dev/null || true" 2>&1 + "docker stop claude-nexus 2>/dev/null || true" 2>&1 ;; "status") ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "docker ps -a --filter name=claude-nexus-proxy --format 'table {{.Names}}\t{{.Status}}'" 2>&1 + "docker ps -a --filter name=claude-nexus --format 'table {{.Names}}\t{{.Status}}'" 2>&1 ;; "exec") # Execute the custom command - SSH handles escaping properly @@ -283,14 +283,14 @@ execute_on_server() { "up") # Pull latest code before updating ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "cd ~/claude-nexus-proxy && git pull origin main" 2>&1 + "cd ~/claude-nexus && git pull origin main" 2>&1 if [ $? -eq 0 ]; then echo -e "${GREEN}✓ Code updated${NC}" # Now run the update script ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "cd ~ && ./claude-nexus-proxy/scripts/ops/update-proxy.sh latest proxy" 2>&1 + "cd ~ && ./claude-nexus/scripts/ops/update-proxy.sh latest proxy" 2>&1 else echo -e "${RED}✗ Failed to pull latest code. Aborting update for $name.${NC}" echo -e "${RED}Please resolve git issues on the server before retrying.${NC}" @@ -299,11 +299,11 @@ execute_on_server() { ;; "down") ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "docker stop claude-nexus-proxy 2>/dev/null || true" 2>&1 + "docker stop claude-nexus 2>/dev/null || true" 2>&1 ;; "status") ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 ubuntu@$ip \ - "docker ps -a --filter name=claude-nexus-proxy --format 'table {{.Names}}\t{{.Status}}'" 2>&1 + "docker ps -a --filter name=claude-nexus --format 'table {{.Names}}\t{{.Status}}'" 2>&1 ;; "exec") # Execute the custom command - SSH handles escaping properly diff --git a/scripts/ops/update-proxy.sh b/scripts/ops/update-proxy.sh index 1c27646c..daabca19 100755 --- a/scripts/ops/update-proxy.sh +++ b/scripts/ops/update-proxy.sh @@ -7,10 +7,14 @@ # ./update-proxy.sh v8 proxy # Updates only proxy # ./update-proxy.sh v8 dashboard # Updates only dashboard +# Get the script directory and repository root +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" + VERSION=$1 SERVICE=$2 -PROXY_IMAGE="alanpurestake/claude-nexus-proxy" -DASHBOARD_IMAGE="alanpurestake/claude-nexus-dashboard" +PROXY_IMAGE="moonsonglabs/claude-nexus-proxy" +DASHBOARD_IMAGE="moonsonglabs/claude-nexus-dashboard" if [ -z "$VERSION" ]; then echo "Error: Version not specified" @@ -29,15 +33,15 @@ update_proxy() { fi echo "Updating proxy container to $VERSION..." - docker stop claude-nexus-proxy 2>/dev/null - docker rm claude-nexus-proxy 2>/dev/null + docker stop claude-nexus 2>/dev/null + docker rm claude-nexus 2>/dev/null - docker run -d --name claude-nexus-proxy \ + docker run -d --name claude-nexus \ --network claude-nexus-network \ --restart unless-stopped \ -p 3000:3000 \ -e SERVICE=proxy \ - -v $(pwd)/.env:/app/.env \ + -v "$REPO_ROOT/.env":/app/.env \ -v ~/credentials:/app/credentials \ "$PROXY_IMAGE:$VERSION" @@ -67,7 +71,7 @@ update_dashboard() { --restart unless-stopped \ -p 3001:3001 \ -e SERVICE=dashboard \ - -v $(pwd)/.env:/app/.env \ + -v "$REPO_ROOT/.env":/app/.env \ "$DASHBOARD_IMAGE:$VERSION" if [ $? -eq 0 ]; then @@ -101,4 +105,4 @@ esac echo "" echo "Container status:" -docker ps | grep -E "claude-nexus-proxy|claude-nexus-dashboard" \ No newline at end of file +docker ps | grep -E "claude-nexus|claude-nexus-dashboard" \ No newline at end of file diff --git a/services/proxy/package.json b/services/proxy/package.json index 3e688709..86a4f997 100644 --- a/services/proxy/package.json +++ b/services/proxy/package.json @@ -3,9 +3,9 @@ "version": "2.0.0", "description": "Claude Nexus Proxy Service - API proxy for Claude with telemetry and multi-subscription support", "type": "module", - "main": "dist/main.js", + "main": "dist/index.js", "bin": { - "claude-nexus-proxy": "./dist/main.js" + "claude-nexus": "./dist/index.js" }, "scripts": { "dev": "bun run src/main.ts", diff --git a/services/proxy/src/app.ts b/services/proxy/src/app.ts index bab98ca4..a27c0c7b 100644 --- a/services/proxy/src/app.ts +++ b/services/proxy/src/app.ts @@ -282,7 +282,7 @@ export async function createProxyApp(): Promise< } return c.json({ - service: 'claude-nexus-proxy', + service: 'claude-nexus', version: process.env.npm_package_version || 'unknown', status: 'operational', endpoints, diff --git a/services/proxy/src/main.ts b/services/proxy/src/main.ts index d1ceb972..036eec54 100644 --- a/services/proxy/src/main.ts +++ b/services/proxy/src/main.ts @@ -99,7 +99,7 @@ function getPackageVersion(): string { function showHelp() { console.log(`Claude Nexus Proxy Service v${getPackageVersion()} -Usage: claude-nexus-proxy [options] +Usage: claude-nexus [options] Options: -v, --version Show version number @@ -123,11 +123,11 @@ Environment Variables: SLACK_ENABLED Enable/disable Slack notifications (default: true if webhook provided) Examples: - claude-nexus-proxy - claude-nexus-proxy --port 8080 - claude-nexus-proxy --host localhost --port 3000 - claude-nexus-proxy --env-file .env.production - PORT=8787 HOST=127.0.0.1 claude-nexus-proxy + claude-nexus + claude-nexus --port 8080 + claude-nexus --host localhost --port 3000 + claude-nexus --env-file .env.production + PORT=8787 HOST=127.0.0.1 claude-nexus Note: The proxy automatically loads .env file from the current directory. Use --env-file to specify a different configuration file.`) diff --git a/services/proxy/src/routes/health.ts b/services/proxy/src/routes/health.ts index 07896807..e2ede935 100644 --- a/services/proxy/src/routes/health.ts +++ b/services/proxy/src/routes/health.ts @@ -12,7 +12,7 @@ export function createHealthRoutes(options: HealthRouteOptions): Hono { app.get('/', async c => { const health: any = { status: 'healthy', - service: 'claude-nexus-proxy', + service: 'claude-nexus', version: options.version || 'unknown', timestamp: new Date().toISOString(), }