{"id":19713757,"url":"https://github.com/hyperb1iss/contexter","last_synced_at":"2026-06-14T15:32:16.653Z","repository":{"id":251335782,"uuid":"837110133","full_name":"hyperb1iss/contexter","owner":"hyperb1iss","description":"Chrome extension and CLI for quickly copying code into LLMs","archived":false,"fork":false,"pushed_at":"2024-08-02T08:35:01.000Z","size":300,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T23:29:19.141Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperb1iss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-02T08:30:28.000Z","updated_at":"2025-02-21T15:59:28.000Z","dependencies_parsed_at":"2024-08-02T10:22:26.593Z","dependency_job_id":null,"html_url":"https://github.com/hyperb1iss/contexter","commit_stats":null,"previous_names":["hyperb1iss/contexter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperb1iss%2Fcontexter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperb1iss%2Fcontexter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperb1iss%2Fcontexter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperb1iss%2Fcontexter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperb1iss","download_url":"https://codeload.github.com/hyperb1iss/contexter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241032052,"owners_count":19897414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T22:24:45.117Z","updated_at":"2026-06-14T15:32:16.648Z","avatar_url":"https://github.com/hyperb1iss.png","language":"Rust","funding_links":["https://ko-fi.com/hyperb1iss)!"],"categories":[],"sub_categories":[],"readme":"# 🚀 Contexter\n\n\u003cdiv align=\"center\"\u003e\n\n![Rust](https://img.shields.io/badge/rust-%23000000.svg?style=for-the-badge\u0026logo=rust\u0026logoColor=white\u0026color=ff1493)\n![License](https://img.shields.io/github/license/hyperb1iss/contexter?style=for-the-badge\u0026logo=apache\u0026logoColor=white\u0026color=00ffff)\n![Chrome Extension](https://img.shields.io/badge/Chrome-Extension-green?style=for-the-badge\u0026logo=googlechrome\u0026logoColor=white\u0026color=00ff7f)\n\n*A powerful server and extension ecosystem for gathering intelligent context from codebases, designed for the LLM era.*\n\n[Features](#features) • [Quick Start](#quick-start) • [Server API](#server-api) • [Chrome Extension](#chrome-extension) • [CLI Tools](#cli-tools)\n\n\u003c/div\u003e\n\n## ✨ Features\n\n### 🖥️ **Server Mode**\n- **RESTful API** for project context management\n- **Multi-project support** with persistent configuration\n- **API key authentication** for secure access\n- **Smart file filtering** with extension and pattern-based exclusions\n- **Intelligent content concatenation** with duplicate detection and categorization\n\n### 🌐 **Chrome Extension**\n- **Beautiful, intuitive UI** for seamless LLM workflow integration\n- **One-click context copying** directly to clipboard\n- **Interactive file selection** from project metadata\n- **Direct text input** for immediate LLM prompting\n- **Configurable server connections** (local or remote)\n\n### 💻 **CLI Tools**\n- **Project management** commands for adding/removing projects\n- **API key generation** and management\n- **Server configuration** (ports, addresses)\n- **Direct file gathering** for scripting workflows\n\n### 🧠 **LLM-Optimized**\n- **Structured output** with file metadata and categorization\n- **Binary file detection** and automatic exclusion\n- **Content deduplication** based on file hashes\n- **Consistent file ordering** for reproducible context\n- **Gitignore integration** for smart exclusions\n\n## 🚀 Quick Start\n\n### 1. Install \u0026 Build\n```bash\ngit clone https://github.com/hyperb1iss/contexter.git\ncd contexter/server\ncargo build --release\n```\n\n### 2. Configure Your First Project\n```bash\n# Generate an API key\n./target/release/contexter config generate-key main\n\n# Add a project\n./target/release/contexter config add-project my-project /path/to/project\n\n# Start the server\n./target/release/contexter server\n```\n\n### 3. Install Chrome Extension\n1. Open Chrome and navigate to `chrome://extensions/`\n2. Enable \"Developer mode\"\n3. Click \"Load unpacked\" and select the `chrome-extension` folder\n4. Configure your API key and server settings in the extension\n\n### 4. Start Gathering Context!\n- Click the Contexter extension icon\n- Select your project\n- Choose specific files or gather the entire project\n- Copy context directly to clipboard for your LLM\n\n## 🔧 Server API\n\nThe Contexter server provides a clean REST API for programmatic access:\n\n### Authentication\nAll endpoints require an `X-API-Key` header:\n```bash\ncurl -H \"X-API-Key: your_api_key_here\" http://localhost:3030/api/v1/projects\n```\n\n### Endpoints\n- `GET /api/v1/projects` - List all configured projects\n- `GET /api/v1/projects/{name}` - Get project metadata and file listing\n- `POST /api/v1/projects/{name}` - Generate context for project or specific paths\n\nSee [SERVER.md](server/SERVER.md) for complete API documentation.\n\n## 🌐 Chrome Extension\n\nThe Chrome extension provides a beautiful interface for common LLM workflows:\n\n### Key Features\n- **Project browser** with file tree visualization\n- **Smart file selection** with preview\n- **One-click copying** to clipboard\n- **Direct LLM integration** with popular platforms\n- **Custom server configuration** for team setups\n\nSee [EXTENSION.md](chrome-extension/EXTENSION.md) for detailed usage instructions.\n\n## 💻 CLI Tools\n\n### Project Management\n```bash\n# Add projects\ncontexter config add-project web-app ~/code/my-web-app\ncontexter config add-project api ~/code/my-api\n\n# List configuration\ncontexter config list\n\n# Remove projects\ncontexter config remove-project old-project\n```\n\n### API Key Management\n```bash\n# Generate keys for different users/tools\ncontexter config generate-key alice\ncontexter config generate-key ci-system\ncontexter config generate-key extension\n\n# List and remove keys\ncontexter config list-keys\ncontexter config remove-key old-key\n```\n\n### Server Configuration\n```bash\n# Configure server settings\ncontexter config set-port 8080\ncontexter config set-address 0.0.0.0  # For remote access\n\n# Start server with options\ncontexter server --verbose  # Debug mode\ncontexter server --quiet    # Minimal output\n```\n\n### Direct File Gathering\n```bash\n# Traditional CLI mode for scripts\ncontexter gather /path/to/project --extensions rs toml --ignore \".*test.*\"\n```\n\n## 🔧 Configuration\n\nContexter stores configuration in your system's config directory:\n- **macOS**: `~/Library/Application Support/contexter/config.json`\n- **Linux**: `~/.config/contexter/config.json`\n- **Windows**: `%APPDATA%\\contexter\\config.json`\n\nExample configuration:\n```json\n{\n  \"projects\": {\n    \"my-project\": \"/path/to/project\"\n  },\n  \"port\": 3030,\n  \"listen_address\": \"127.0.0.1\",\n  \"api_keys\": {\n    \"main\": \"hashed_api_key_here\"\n  }\n}\n```\n\n## 🎯 Use Cases\n\n### For Individual Developers\n- **Code reviews**: Generate context for entire features or modules\n- **LLM prompting**: Get properly formatted codebase context\n- **Documentation**: Create comprehensive project overviews\n\n### For Teams\n- **Shared context server**: Central context service for team LLM workflows\n- **Code onboarding**: New team members can quickly understand project structure\n- **Architecture discussions**: Generate context for specific subsystems\n\n### For CI/CD\n- **Automated documentation**: Generate context for documentation tools\n- **Code analysis**: Feed context to automated analysis systems\n- **Release notes**: Generate context for change summaries\n\n## 🤝 Contributing\n\nContributions welcome! This project is actively used and maintained. Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for details.\n\n## 📄 License\n\nDistributed under the Apache 2.0 License. See `LICENSE` for more information.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n🐛 [Report Bug](https://github.com/hyperb1iss/contexter/issues) • 💡 [Request Feature](https://github.com/hyperb1iss/contexter/issues)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nCreated by [Stefanie Jane 🌠](https://github.com/hyperb1iss)\n\nIf you find this project useful, [buy me a Monster Ultra Violet](https://ko-fi.com/hyperb1iss)! ⚡️\n\n\u003c/div\u003e\n\n[license-shield]: https://img.shields.io/github/license/hyperb1iss/contexter.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperb1iss%2Fcontexter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperb1iss%2Fcontexter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperb1iss%2Fcontexter/lists"}