CTX: Context as Code (CaC) tool

Official
by context-hub
MIT License
80
  • Apple
  • Linux

Integrations

  • Extracts code changes from Git commits and diffs to provide contextual information about your project's history

  • Gathers code from GitHub repositories to provide context about your project to LLMs

  • Supports specialized handling of PHP code, including the ability to extract PHP signatures without implementation details

Table of Contents

CTX is a tool made to solve a big problem when chatting with LLMs like ChatGPT or Claude: giving them enough context about your project.

There is an article about Context Generator on Medium that explains the motivation behind the project and the problem it solves.

When you're using AI in development, context isn't just helpful — it's everything. Instead of manually copying or explaining your entire codebase each time, ctx automatically builds neat, organized context files from:

  • Code files,
  • GitHub and Gitlab repositories,
  • Git commits and diffs
  • Web pages (URLs) with CSS selectors,
  • MCP servers
  • and plain text.

It was created to solve a common problem: efficiently providing AI language models like Claude with necessary context about your codebase.

How it works

  1. Gathers code from files, directories, GitHub or Gitlab repositories, web pages, or plain text.
  2. Targets specific files through pattern matching, content search, size, or date filters
  3. Applies optional modifiers (like extracting PHP signatures without implementation details)
  4. Organizes content into well-structured markdown documents
  5. Saves context files ready to be shared with LLMs
  6. Optionally serves context through an MCP server, allowing AI assistants like Claude to directly access project information

Quick Start

Getting started with CTX is straightforward. Follow these simple steps to create your first context file.

1. Install CTX

Download and install the tool using our installation script:

curl -sSL https://raw.githubusercontent.com/context-hub/generator/main/download-latest.sh | sh

This installs the ctx command to your system (typically in /usr/local/bin).

Want more options? See the complete Installation Guide for alternative installation methods.

2. Initialize a Configuration File

Create a new configuration file in your project directory:

ctx init

This generates a context.yaml file with a basic structure to get you started.

Check the Command Reference for all available commands and options.

3. Describe Your Project Structure

Edit the generated context.yaml file to specify what code or content you want to include.

For example:

$schema: 'https://raw.githubusercontent.com/context-hub/generator/refs/heads/main/json-schema.json' documents: - description: "User Authentication System" outputPath: "auth-context.md" sources: - type: file description: "Authentication Controllers" sourcePaths: - src/Auth filePattern: "*.php" - type: file description: "Authentication Models" sourcePaths: - src/Models filePattern: "*User*.php"

This configuration will gather all PHP files from the src/Auth directory and any PHP files containing "User" in their name from the src/Models directory.

Need more advanced configuration?

4. Build the Context

Generate your context file by running:

ctx

CTX will process your configuration and create the specified output file (auth-context.md in our example).

Tip: Configure Logging with -v, -vv, or -vvv for detailed output

5. Share with an LLM

Upload or paste the generated context file to your favorite LLM (like ChatGPT or Claude). Now you can ask specific questions about your codebase, and the LLM will have the necessary context to provide accurate assistance.

Example prompt:

I've shared my authentication system code with you. Can you help me identify potential security vulnerabilities in the user registration process?

Next steps: Check out Development with Context Generator for best practices on integrating context generation into your AI-powered development workflow.

That's it! You're now ready to leverage LLMs with proper context about your codebase.

6. Connect to Claude AI (Optional)

For a more seamless experience, you can connect Context Generator directly to Claude AI using the MCP server:

There is a built-in MCP server that allows you to connect Claude AI directly to your codebase.

Point the MCP client to the Context Generator server:

{ "mcpServers": { "ctx": { "command": "ctx server -c /path/to/your/project" } } }

Note: Read more about MCP Server for detailed setup instructions.

Now you can ask Claude questions about your codebase without manually uploading context files!

Full Documentation

For complete documentation, including all available features and configuration options, please visit:

https://docs.ctxgithub.com


License

This project is licensed under the MIT License.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

CTX is a tool made to solve a big problem when chatting with LLMs like ChatGPT or Claude: giving them enough context about your project.

  1. Table of Contents
    1. How it works
      1. Quick Start
        1. 1. Install CTX
        2. 2. Initialize a Configuration File
        3. 3. Describe Your Project Structure
        4. 4. Build the Context
        5. 5. Share with an LLM
        6. 6. Connect to Claude AI (Optional)
        7. Full Documentation

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        Enables integration of Perplexity's AI API with LLMs, delivering advanced chat completion by utilizing specialized prompt templates for tasks like technical documentation, code review, and API documentation.
        Last updated -
        1
        94
        8
        JavaScript
        MIT License
        • Linux
      • -
        security
        F
        license
        -
        quality
        A Model Context Protocol server for Claude Desktop that provides structured memory management across chat sessions, allowing Claude to maintain context and build a knowledge base within project directories.
        Last updated -
        TypeScript
      • A
        security
        F
        license
        A
        quality
        A model context protocol server that allows interaction with TriliumNext Notes, providing tools to create, search, retrieve, update, and delete notes through natural language commands.
        Last updated -
        5
        1
        JavaScript
        • Apple
      • -
        security
        A
        license
        -
        quality
        An MCP server that provides integration with Microsoft's AutoGen framework, enabling multi-agent conversations through a standardized interface.
        Last updated -
        1
        Python
        MIT License

      View all related MCP servers

      ID: qn88dl0i3i