Skip to content

Latest commit

 

History

History
169 lines (129 loc) · 4.61 KB

File metadata and controls

169 lines (129 loc) · 4.61 KB

Quick Start

Get Apoch-AI up and running in five minutes.


1. Install

# Install uv (Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and sync
git clone https://github.com/guigerdts/Apoch-AI.git
cd Apoch-AI
uv sync

Verify the CLI works:

$ uv run apoch --version
0.9.0-alpha

2. Check Component Status

See which stack components are installed on your system:

$ uv run apoch stack status

CodeGraph (integrations)
  State:       NOT_INSTALLED
  Version:     —
  Project:     https://colbymchenry.github.io/codegraph/
  Repository:  https://github.com/colbymchenry/codegraph
  Docs:        https://colbymchenry.github.io/codegraph/
  Install:     npm install -g @colbymchenry/codegraph

Context7 (integrations)
  State:       NOT_INSTALLED
  Version:     —
  Project:     https://context7.com
  Repository:  https://github.com/upstash/context7
  Docs:        https://context7.com/docs
  Install:     npm install -g ctx7

Engram (integrations)
  State:       NOT_INSTALLED
  Version:     —
  Project:     https://github.com/Gentleman-Programming/engram
  Repository:  https://github.com/Gentleman-Programming/engram
  Docs:        https://github.com/Gentleman-Programming/engram/blob/main/DOCS.md
  Install:     brew install gentleman-programming/tap/engram

OpenSpec (integrations)
  State:       NOT_INSTALLED
  Version:     —
  Project:     https://openspec.dev/
  Repository:  https://github.com/fission-ai/OpenSpec
  Docs:        https://openspec.dev/docs/
  Install:     npm install -g @fission-ai/openspec@latest

All four show NOT_INSTALLED — none are found on your system yet.

3. Install All Components

$ uv run apoch stack install
  ✓ codegraph: CodeGraph 1.3.1 installed
  ✓ context7: Context7 0.5.4 installed
  ✓ engram: Engram 1.19.0 installed
  ✓ openspec: OpenSpec 1.6.0 installed

If a component is already installed, it is skipped (idempotent).

4. Verify Installations

$ uv run apoch stack verify
  ✓ codegraph: CodeGraph 1.3.1 verified
  ✓ context7: Context7 0.5.4 verified
  ✓ engram: Engram 1.19.0 verified
  ✓ openspec: OpenSpec 1.6.0 verified

Each component runs its own diagnostic: OpenSpec and Engram use doctor, Context7 and CodeGraph use --help as a responsiveness check.

5. Full Health Check

$ uv run apoch stack status

CodeGraph (integrations)
  State:       INSTALLED
  Version:     1.3.1
  Project:     https://colbymchenry.github.io/codegraph/
  Repository:  https://github.com/colbymchenry/codegraph
  Docs:        https://colbymchenry.github.io/codegraph/

Context7 (integrations)
  State:       INSTALLED
  Version:     0.5.4
  Project:     https://context7.com
  Repository:  https://github.com/upstash/context7
  Docs:        https://context7.com/docs

Engram (integrations)
  State:       INSTALLED
  Version:     1.19.0
  Project:     https://github.com/Gentleman-Programming/engram
  Repository:  https://github.com/Gentleman-Programming/engram
  Docs:        https://github.com/Gentleman-Programming/engram/blob/main/DOCS.md

OpenSpec (integrations)
  State:       INSTALLED
  Version:     1.6.0
  Project:     https://openspec.dev/
  Repository:  https://github.com/fission-ai/OpenSpec
  Docs:        https://openspec.dev/docs/

All four show INSTALLED — ready to use.

6. Start the MCP Gateway

Apoch-AI exposes 7 MCP tools that AI agents can call. Start the gateway:

$ uv run apoch mcp serve

This starts a stdio MCP server that registers 12 tools (7 public + 5 legacy aliases). The gateway remains running and blocks until interrupted.

Test that tools are registered

In a second terminal:

$ uv run python -c "
import asyncio, json
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    async with stdio_client(StdioServerParameters(
        command='uv', args=['run', 'apoch', 'mcp', 'serve']
    )) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            result = await session.list_tools()
            for t in result.tools:
                print(json.dumps({'name': t.name, 'params': list(t.inputSchema.get('properties', {}).keys())}, indent=2))

asyncio.run(main())
"

Expected output: 12 tools listed (7 apoch_* tools + 5 legacy aliases).

Next Steps