Skip to content

Commit 044ab48

Browse files
committed
Refocus container as Linux-only GAIA runtime.
Remove AI IDE tooling references and align docs/tests with PyPI install flow.
1 parent e12fae3 commit 044ab48

19 files changed

Lines changed: 107 additions & 608 deletions

.cursor/rules/docker.mdc

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
description: Docker and container-specific development rules
2+
description: Docker and container-specific rules
33
globs:
44
- Dockerfile
55
- docker-compose.yml
@@ -16,8 +16,8 @@ globs:
1616

1717
## Image Architecture
1818
- Base: Python 3.12 slim
19-
- Includes: Node.js, zsh, git, Claude Code CLI
20-
- Entrypoint clones GAIA and installs dependencies at runtime
19+
- Includes: Node.js, zsh, git
20+
- Entrypoint installs GAIA from PyPI at runtime
2121
- Uses uv for 10-100x faster Python package installation
2222

2323
## Multi-Instance Support
@@ -27,11 +27,9 @@ The container is designed to spawn multiple instances:
2727
- Different container names for parallel development
2828

2929
## Volume Management
30-
- `/home/gaia/.claude`: Persists Claude Code credentials
31-
- `/source/gaia`: GAIA repository (cloned at startup, not bind-mounted)
30+
- `/source`: Working directory
3231
- `/host`: Optional host directory mount for file exchange
3332

3433
## Performance
35-
- First install: ~2-3 minutes (including git clone)
34+
- First install: ~2-3 minutes
3635
- Reinstall with cache: ~30 seconds
37-
- YOLO reset: ~2-3 minutes (fresh clone + install)

.cursor/rules/index.mdc

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
description: Main project rules for GAIA Docker development
2+
description: Main project rules for GAIA Docker
33
alwaysApply: true
44
---
55

66
# GAIA Docker Project Rules
77

88
## Project Overview
9-
This is a Docker containerization project for AMD GAIA (AI framework) development. The project creates an isolated, disposable development environment optimized for "YOLO mode" - where containers can be freely destroyed and recreated.
9+
This is a Linux Docker container for AMD GAIA (AI framework). GAIA is installed from PyPI at container startup.
1010

1111
## Tech Stack
1212
- **Base**: Docker & Docker Compose
@@ -16,26 +16,24 @@ This is a Docker containerization project for AMD GAIA (AI framework) developmen
1616
- **Target Application**: AMD GAIA framework
1717

1818
## Key Files
19-
- `Dockerfile`: Container image definition with Python 3.12, Node.js, and dev tools
19+
- `Dockerfile`: Container image definition with Python 3.12 and tools
2020
- `docker-compose.yml`: Service configuration with environment variables
21-
- `entrypoint.sh`: Container startup script (clones GAIA, installs dependencies)
21+
- `entrypoint.sh`: Container startup script (installs GAIA from PyPI)
2222
- `pyproject.toml`: Python project configuration with test dependencies
2323
- `tests/`: Integration and unit tests using pytest
2424

2525
## Container Architecture
26-
- GAIA is cloned INSIDE the container (not bind-mounted) for complete isolation
27-
- Credentials persist in Docker volumes (`/home/gaia/.claude`)
28-
- Container is designed to be disposable - fast recreation (~2-3 minutes)
26+
- GAIA is installed from PyPI at startup
27+
- Container is isolated and reproducible
2928
- Uses uv for Python package installation (much faster than pip)
3029

3130
## Environment Variables
3231
Key env vars in docker-compose.yml:
33-
- `GAIA_BRANCH`: Branch to clone (default: main)
34-
- `SKIP_INSTALL`: Skip pip install on restart (for faster iteration)
32+
- `LEMONADE_URL`: Lemonade server URL (default: http://localhost:5000/api/v1)
33+
- `GAIA_VERSION`: GAIA version to install from PyPI
34+
- `SKIP_INSTALL`: Skip pip install on restart (faster startup)
3535
- Ports: LEMONADE_PORT (5000), GAIA_API_PORT (8000), WEB_PORT (3000)
3636

3737
## Important Notes
38-
- This is a development container - optimized for speed, not production security
39-
- Credentials (Claude Code OAuth) persist in volumes, not in container
40-
- The container is "YOLO safe" - designed to be destroyed and recreated freely
38+
- This is a Linux container for GAIA
4139
- When suggesting changes to Dockerfile or entrypoint.sh, ensure tests still pass

.cursor/rules/python.mdc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,5 @@ uv run pytest
4141
## Inside Container
4242
The container uses `uv pip install` for installing GAIA:
4343
```bash
44-
cd /source/gaia
45-
uv pip install -e ".[dev,mcp,eval,rag]"
44+
uv pip install --system "amd-gaia[dev,mcp,eval,rag]==<version>"
4645
```

.cursorignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@ Thumbs.db
3737
# Logs
3838
*.log
3939

40-
# Docker volumes (if mounted locally)
41-
.claude/
42-
4340
# Build artifacts
4441
dist/
4542
build/

.env.example

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,5 @@ jobs:
6868
username: ${{ secrets.DOCKERHUB_USERNAME }}
6969
password: ${{ secrets.DOCKERHUB_TOKEN }}
7070
repository: ${{ env.IMAGE_NAME }}
71-
short-description: "Isolated development container for AMD GAIA framework"
71+
short-description: "GAIA Linux container"
7272
readme-filepath: ./docs/docker-hub-description.md

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ htmlcov/
1717

1818
# Docker
1919
.docker/
20-
*.env
2120

2221
# IDEs
2322
.vscode/

Dockerfile

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# GAIA Development Container
2-
# Provides isolated Python 3.12 environment with all tools for GAIA development
1+
# GAIA Linux Container
2+
# Provides isolated Python 3.12 environment for GAIA
33
# GAIA is installed from PyPI at runtime based on version
44

55
FROM python:3.12-slim
@@ -52,13 +52,6 @@ RUN useradd -m -s /bin/zsh $USERNAME && \
5252
RUN mkdir -p /source /host && \
5353
chown -R $USERNAME:$USERNAME /source /host
5454

55-
# Install git-delta (better git diffs)
56-
ARG GIT_DELTA_VERSION=0.18.2
57-
RUN ARCH=$(dpkg --print-architecture) && \
58-
wget -q "https://github.com/dandavison/delta/releases/download/${GIT_DELTA_VERSION}/git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb" && \
59-
dpkg -i "git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb" && \
60-
rm "git-delta_${GIT_DELTA_VERSION}_${ARCH}.deb"
61-
6255
# Copy entrypoint script
6356
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
6457
RUN chmod +x /usr/local/bin/entrypoint.sh
@@ -75,9 +68,6 @@ RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/
7568
# Install uv (fast Python package installer)
7669
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
7770

78-
# Install Claude Code CLI (interactive OAuth login)
79-
RUN curl -fsSL https://claude.ai/install.sh | bash
80-
8171
# Configure environment
8272
ENV SHELL=/bin/zsh
8373
ENV PATH="/home/gaia/.cargo/bin:/home/gaia/.local/bin:$PATH"

0 commit comments

Comments
 (0)