Skip to content

GitHub Codespaces

Fukuii includes a preconfigured GitHub Codespaces environment for development.

Quick Start

  1. Navigate to the Fukuii repository
  2. Click the green Code button
  3. Select Codespaces → Create codespace on develop
  4. Wait for the environment to initialize (first time takes a few minutes)

What's Included

The devcontainer configuration sets up a complete Scala development environment with:

  • JDK 25 (Temurin distribution)
  • sbt 1.13.0+ — Scala Build Tool
  • Scala 3.3.7 LTS — Primary Scala version
  • Metals — Scala Language Server for VS Code
  • Git submodules — Automatically initialized

Environment Variables

The following environment variables are pre-configured:

Variable Value Purpose
FUKUII_DEV true Enables developer-friendly settings
JAVA_OPTS Memory settings Optimized for build process

Building and Testing

Once your Codespace is ready:

# Compile all modules
sbt compile-all

# Run tests
sbt testAll

# Build distribution
sbt dist

# Prepare for PR (format, lint, test)
sbt pp

VS Code Extensions

These extensions are automatically installed:

  • Metals — Scala language support with IntelliSense
  • Scala Syntax — Syntax highlighting
  • TypeScript — For tooling support

Cache Directories

The following directories persist across container rebuilds:

  • .ivy2 — Ivy2 dependency cache
  • .sbt — SBT cache

This makes subsequent builds much faster.

Troubleshooting

Metals Not Working

If the Metals language server doesn't start:

  1. Open Command Palette (Cmd+Shift+P or Ctrl+Shift+P)
  2. Run Metals: Import build
  3. Wait for the import to complete

Out of Memory Errors

If you encounter OOM errors:

  1. The JVM is configured to use up to 4GB heap
  2. Increase the Codespace machine size in GitHub settings

Build Failures

Ensure git submodules are initialized:

git submodule update --init --recursive

More Information