diff --git a/.clauderc b/.clauderc new file mode 100644 index 0000000000..22e5c7b439 --- /dev/null +++ b/.clauderc @@ -0,0 +1 @@ +{"systemPromptFile": "CLAUDE.md"} diff --git a/.gptrc b/.gptrc new file mode 100644 index 0000000000..1c5ffcedbd --- /dev/null +++ b/.gptrc @@ -0,0 +1 @@ +{"configFile": "GPT.json"} diff --git a/CLAUDE.md b/CLAUDE.md new file mode 120000 index 0000000000..f539fe5a97 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +.continuum/claude/config.md \ No newline at end of file diff --git a/GPT.json b/GPT.json new file mode 120000 index 0000000000..3ef8097aff --- /dev/null +++ b/GPT.json @@ -0,0 +1 @@ +.continuum/gpt/config.json \ No newline at end of file diff --git a/README.md b/README.md index 5d278992c3..b523fb8211 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,20 @@ ## 🧠 What is Continuum? -**Continuum** is a protocol and CLI tool that configures AI assistants across all your projects, repos, and teams — giving you **persistent, personalized, and policy-aware AI behavior**, no matter where or how you're working. +**Continuum** is a context-aware protocol and CLI tool that configures AI assistants across all your projects, repos, and teams — giving you **persistent, personalized, and policy-aware AI behavior**, no matter where or how you're working. It's like `.editorconfig` or `tsconfig.json` — but for **your AI collaborators**. +### 🌟 Context-Aware Intelligence + +Continuum's CLI is designed with a "zero-friction cognition" paradigm: + +- **Run `continuum` → and the AI figures out what to do** based on your environment +- **Intelligent context detection** analyzes your repository state, configs, and integrations +- **Automatic action determination** so you don't need to remember command verbs +- **Personalized suggestions** based on your project's specific needs +- **Seamless integration** with Claude, GPT, and other AI assistants + ## šŸš€ Quick Start ### Requirements @@ -35,26 +45,30 @@ npm link ### Usage ```bash +# Just run continuum - it will intelligently detect what to do +continuum + # Initialize a new .continuum configuration -continuum init +continuum --template tdd -# Use a specific template -continuum init --template tdd +# Generate assistant-specific configurations +continuum --assistant claude +continuum --assistant gpt -# Validate an existing .continuum file -continuum validate +# Create symlinks for tool integration +continuum --assistant claude --create-link # Creates CLAUDE.md symlink +continuum --assistant gpt --create-link # Creates GPT.json symlink -# Generate assistant-specific configurations -continuum adapt --assistant claude -continuum adapt --assistant gpt +# Ask your configured AI assistant a question +continuum --ask "How do I improve error handling in this codebase?" -# Generate configs with symlinks for tool integration -continuum adapt --assistant claude --create-link # Creates CLAUDE.md symlink -continuum adapt --assistant gpt --create-link # Creates GPT.json symlink +# Legacy command format (still supported) +continuum init --template tdd +continuum adapt --assistant claude +continuum validate ``` - -> Note: The CLI is currently in development mode with placeholder functionality. +Continuum is context-aware and will automatically detect what to do based on your repository's state. Just run `continuum` and it will figure out the right action! ## šŸš€ How Continuum Helps @@ -72,10 +86,13 @@ continuum adapt --assistant gpt --create-link # Creates GPT.json symlink ## āš™ļø What's Automated -- āœ… **CLI wizard** (`continuum init`) generates `.continuum/config.yml` for your repo +- āœ… **Context detection** analyzes your environment and automatically determines the right action +- āœ… **CLI wizard** (`continuum` or `continuum init`) generates `.continuum/config.yml` for your repo - āœ… **Symlinks** (e.g. `CLAUDE.md`, `GPT.json`) auto-created for integration with AI dev tools -- āœ… **Validation** (`continuum validate`) checks for config conflicts, missing agents, and more -- āœ… **Adapters** convert unified config into Claude, GPT, Aria-compatible prompts and JSON +- āœ… **Validation** automatically checks for config conflicts, missing agents, and suggests fixes +- āœ… **Adapters** convert unified config into Claude, GPT, and other AI-compatible formats +- āœ… **Assistant integration** with the `--ask` feature to interact with your configured assistants +- āœ… **Environment awareness** includes repository, branch, and project-specific context - āœ… **Merging logic** (coming soon): blends personal + org + project preferences with conflict resolution ## 🧩 Templates & Personas @@ -89,7 +106,7 @@ Continuum ships with pre-configured templates for common development approaches: ## šŸ“Š Configuration Schema -AI configurations in Continuum follow a standardized schema stored in `.continuum/default/config.md`: +AI configurations in Continuum follow a standardized schema stored in `.continuum/default/config.md`. The system automatically detects and includes environment information: ```yaml ai_protocol_version: "0.1" @@ -97,26 +114,44 @@ identity: name: "ProjectAssistant" role: "Development collaborator" purpose: "Help maintain code quality and guide development" +environment: + type: "Node.js/JavaScript" + vcs: "git" + branch: "main" behavior: voice: "professional" autonomy: "suggest" verbosity: "concise" + risk_tolerance: "medium" capabilities: - allowed: ["code_review", "refactoring", "documentation"] + allowed: ["code_review", "refactoring", "documentation", "testing"] restricted: ["deployment", "database_management"] ``` -Continuum uses this configuration to generate assistant-specific files in the `.continuum` directory: +Continuum automatically detects: +- Your development environment (Node.js, Python, etc.) +- Version control system and current branch +- Existing configurations and integrations + +Continuum uses this information to generate context-aware assistant-specific files: - `.continuum/claude/config.md` for Anthropic's Claude - `.continuum/gpt/config.json` for OpenAI's GPT models +- Additional configurations for other assistants as they're added ## šŸ”Œ Assistant Adapters Continuum translates your configuration to various AI assistants: -- **Claude**: Generates config for Claude in `.continuum/claude/config.md` with optional `CLAUDE.md` symlink -- **ChatGPT**: Creates prompt configurations compatible with OpenAI models in `.continuum/gpt/config.json` -- *(and more coming soon)* +### AI Assistant Compatibility + +| Assistant | Status | Configuration | Integration | Notes | +|-----------|--------|---------------|------------|-------| +| **Claude** | āœ… Available | `.continuum/claude/config.md` | `CLAUDE.md` symlink | Fully supported with Claude Code integration | +| **GPT** | āœ… Available | `.continuum/gpt/config.json` | `GPT.json` symlink | Full support for ChatGPT and OpenAI models | +| **Gemini** | šŸ”œ Planned | `.continuum/gemini/config.json` | `GEMINI.json` symlink | Google Gemini support coming soon | +| **Llama** | šŸ”œ Planned | `.continuum/llama/config.md` | `LLAMA.md` symlink | Meta Llama support in development | +| **Mistral** | šŸ”œ Planned | `.continuum/mistral/config.json` | `MISTRAL.json` symlink | Mistral AI support planned | +| **GitHub Copilot** | šŸ”„ Exploring | TBD | TBD | Investigating integration options | ### Claude Code Integration @@ -130,6 +165,10 @@ For Claude Code, you can add the following to your `.clauderc`: When you run `continuum adapt --assistant claude --create-link`, the symlink will ensure Claude Code picks up your configuration. +### GPT Integration + +For OpenAI's models, the generated configuration includes appropriate system prompts and parameters that can be used with the OpenAI API or CLI tools. + ## šŸ› ļø Use Cases - **Standardize Team Practices**: Ensure all developers get consistent AI help diff --git a/package.json b/package.json index 4cb652a7e7..715cb76129 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,19 @@ "assistant", "claude", "gpt", + "gemini", + "llama", + "mistral", + "meta", + "anthropic", + "openai", + "google", + "copilot", "standardization", "cognitive-systems", - "devops" + "contextual", + "devops", + "devsecops" ], "author": "Cambrian Technologies", "license": "MIT", diff --git a/packages/cli/bin/continuum.js b/packages/cli/bin/continuum.js index 0e6800d769..5a9a3201d2 100755 --- a/packages/cli/bin/continuum.js +++ b/packages/cli/bin/continuum.js @@ -1,13 +1,15 @@ #!/usr/bin/env node -// Simple CLI implementation for Continuum -// Beta version - full features coming soon +/** + * Continuum - A contextually aware AI configuration protocol + * + * This CLI is designed to be simple and automatically do the right thing + * based on the context of your project, user profile, and organization. + */ import { Command } from 'commander'; import chalk from 'chalk'; -import fs from 'fs'; -import path from 'path'; -// No need for path and fileURLToPath in this simplified version +import { analyzeContext, executeAction } from '../src/context.js'; // Check Node.js version const currentNodeVersion = process.versions.node; @@ -25,171 +27,80 @@ if (major < 18) { process.exit(1); } -// Setup CLI +// Setup CLI with a simpler interface const program = new Command(); program .name('continuum') .description('Continuum - Designed by AI and humans for AI and humans') .version('0.1.0') + .option('-a, --assistant ', 'Target assistant to configure (claude, gpt)') + .option('-t, --template