SkyCode

A browser-based code editor with integrated terminal, built on Skykit.

Features

  • Monaco Editor - The same editor that powers VS Code
  • Integrated Terminal - Run commands directly in your browser
  • Cloud Storage - Files saved automatically to your account
  • Multi-language Support - Syntax highlighting for Go, Python, JavaScript, TypeScript, and more

Running Locally

Prerequisites

  • Go 1.24+
  • Skykit (via local replace directive)

Development

go run .

Visit http://localhost:5000

Docker

docker build -t skycode .
docker run -p 5000:5000 skycode

Usage

  1. Sign in with your Skyscape account
  2. Create files using the "+" button in the sidebar
  3. Edit code in the Monaco editor
  4. Use the integrated terminal to run commands
  5. Files are saved automatically to your account

Keyboard Shortcuts

Shortcut Action
Ctrl+S Save file
`Ctrl+`` Toggle terminal

API

Endpoint Method Description
/api/files GET List all files
/api/files/open?path=... GET Get file content
/api/files/save POST Save file
/api/files/rename POST Rename file
/api/files DELETE Delete file
/api/exec POST Execute command (SSE)

Architecture

  • Frontend: Monaco Editor + xterm.js + DaisyUI
  • Backend: Skykit (Go)
  • Database: LibSQL (via Skykit)
  • Auth: Skyscape OAuth

Files are stored in the database. When terminal commands are executed, files are materialized to a temporary workspace directory.

Environment Variables

Variable Description
PORT Server port (default: 5000)
APP_ID OAuth client ID
OAUTH_CLIENT_SECRET OAuth client secret
DB_NAME Database name (for replica mode)
DB_URL LibSQL primary URL
DB_TOKEN Database JWT token

License

Part of The Skyscape platform.

7e2ccdf

Update skykit to fix database replica corruption

Connor McCutcheon
@connor
1 stars

Coding tools for The Skyscape

Sign in to comment Sign In
Awesome app everyone should try for building their ideas on The Skyscape
Connor McCutcheon
@connor
1 month ago