AI-Cohort-July-2025

ADR-007: Development Environment (GitHub Codespaces)

Status

Accepted

Context

AutoDevHub development requires a consistent, quickly accessible environment that supports the 8-hour development timeline. The development environment must:

The choice directly impacts development velocity and the ability to meet aggressive timeline constraints.

Decision

We will use GitHub Codespaces as the primary development environment for AutoDevHub.

GitHub Codespaces provides:

Consequences

Positive Consequences

Negative Consequences

Risks

Alternatives Considered

Local Development

Docker Development Containers

Replit

GitPod

Cloud IDEs (Cloud9, etc.)

Implementation Strategy

Codespace Configuration

// .devcontainer/devcontainer.json
{
  "name": "AutoDevHub Development",
  "image": "mcr.microsoft.com/devcontainers/universal:2",
  "features": {
    "ghcr.io/devcontainers/features/python:1": {
      "version": "3.11"
    },
    "ghcr.io/devcontainers/features/node:1": {
      "version": "18"
    }
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.black-formatter",
        "ms-vscode.vscode-typescript-next",
        "bradlc.vscode-tailwindcss",
        "ms-vscode.vscode-json",
        "redhat.vscode-yaml"
      ],
      "settings": {
        "python.defaultInterpreterPath": "/usr/local/bin/python",
        "python.formatting.provider": "black"
      }
    }
  },
  "forwardPorts": [3000, 8000],
  "postCreateCommand": "pip install -r requirements.txt && npm install",
  "remoteUser": "codespace"
}

Development Workflow

  1. Start Codespace: Launch from GitHub repository in seconds
  2. Environment Setup: Automatic installation of dependencies via postCreateCommand
  3. Development: Full VS Code experience with integrated terminal
  4. Testing: Run frontend and backend servers with port forwarding
  5. Commit/Push: Integrated Git workflow directly from Codespace
  6. CI/CD: Automatic trigger of GitHub Actions on push

Resource Management

Collaboration Features

Backup and Recovery