Welcome to the Andromeda documentation! Andromeda is a modern, fast, and secure JavaScript & TypeScript runtime built from the ground up in Rust 🦀 and powered by the Nova Engine. This documentation contains comprehensive guides and API references to help you get started.
📚 Documentation Structure
🚀 Getting Started
- Installation Guide - How to install and set up Andromeda
- Quick Start - Your first Andromeda program
- CLI Reference - Complete command-line interface documentation
🛠️ API Documentation
- File System API - File I/O operations and path manipulation
- Canvas API - 2D graphics and image generation
- Crypto API - Cryptographic operations and security
- Console API - Enhanced console output and debugging with CSS styling support
- Performance API - Timing and performance monitoring
- Process API - System interaction and environment access
- Time API - Date, time, and timing utilities
- Fetch API - HTTP client and Headers manipulation
- URL API - URL parsing, construction, and manipulation
- Web APIs - Standard web APIs (Events, TextEncoder/Decoder, etc.)
- SQLite API - Database operations with SQLite support
- Web Storage API - localStorage and sessionStorage with SQLite backend
- Cache Storage API - Web-standard cache storage for HTTP responses and offline functionality
- File API - Web-standard File objects and file metadata
- Streams API - Web-standard streaming data processing
- Cron API - Schedule and manage recurring tasks with cron expressions
🔧 Development
- Contributing Guide - How to contribute to Andromeda
- Building from Source - Compiling Andromeda yourself
- Testing Guide - Running and writing tests
- Language Server - LSP integration for editors
🛠️ Developer Tools
- REPL - Interactive development environment
- Formatter - Code formatting tool
- Bundler - Module bundling
- Linter - Code analysis and linting
- Compiler - Single-file executable creation
📋 Reference
- Examples Index - Code examples and practical demonstrations
- FAQ - Frequently asked questions
- Troubleshooting - Common issues and solutions
🎯 Standards Compliance
Andromeda aims to be WinterTC compliant, ensuring interoperability and compatibility with the broader JavaScript ecosystem. WinterTC provides a test suite for JavaScript engines to ensure they conform to ECMAScript standards and common runtime behaviors.
Our APIs follow established web standards including:
- WHATWG Standards - URL, Encoding, Fetch, and Streams specifications
- W3C Standards - Canvas 2D Context, Performance API, Web Crypto API, Cache Storage
- ECMAScript Standards - Modern JavaScript/TypeScript features with zero-config TypeScript support
✨ Key Features
- 🚀 Zero-configuration TypeScript - Run
.tsfiles directly, no compilation or transpilation needed - 🦀 Built in Rust - Memory-safe foundation leveraging Rust's performance and safety guarantees
- ⚡ Nova Powered - Innovative Nova JavaScript engine providing modern runtime experience with promising performance potential
- 🎨 GPU-Accelerated Canvas - Hardware-accelerated 2D Canvas API with WGPU backend, linear gradients, and PNG export capabilities
- 🔐 Web Crypto API - Industry-standard cryptographic primitives (randomUUID, getRandomValues, SubtleCrypto)
- 📒 SQLite Support - Built-in native SQLite database with DatabaseSync API
- 📁 File System Access - Simple synchronous and asynchronous APIs for reading/writing files
- 💾 Web Storage - localStorage and sessionStorage APIs for data persistence with SQLite backend
- 🗄️ Cache Storage - Web-standard cache storage for HTTP responses and offline functionality
- 🌐 Complete Web APIs - Fetch, Headers, Request, Response, TextEncoder/Decoder, URL, URLSearchParams, Blob, File
- 🌊 Streams API - Web-standard ReadableStream, WritableStream, and TransformStream for efficient data processing
- 🛠️ Complete Toolchain - REPL, formatter, bundler, linter, compiler, and self-updater - everything you need for modern development
- 🧑💻 Language Server Protocol - Built-in LSP with real-time diagnostics, comprehensive linting, and rich error messages
- 📦 Import Maps - Modern module resolution with bare specifiers and CDN integration
- 🚀 Sub-10ms Startup - Lightning-fast startup time (~12MB base memory usage)
- 🏗️ HTTP Server - Built-in HTTP server capabilities for web services and APIs
- ⏰ Task Scheduling - Built-in cron functionality for recurring tasks
- 🎨 Enhanced Console - CSS-style formatting support for beautiful console output
- ⚙️ Task System - Deno-inspired task system for defining and running custom scripts
- 🔄 Self-Updating - Built-in upgrade system to stay current with latest releases
- 🐚 Shell Integration - Auto-completion support for bash, zsh, fish, and PowerShell
- 🔧 Extensible Architecture - Modular architecture with optional runtime extensions
- 📦 Single-file Compilation - Compile scripts into standalone executables
- 🎯 WinterTC Compliant - Full compliance with WinterTC web standards
🏗️ Architecture
Andromeda features a modular architecture with runtime extensions that can be enabled or disabled as needed:
- Canvas - GPU-accelerated 2D graphics with WGPU backend
- Crypto - Web Crypto API implementation
- Console - Enhanced console output with CSS styling
- Fetch - HTTP client capabilities
- File System - File I/O operations
- Web Storage - localStorage and sessionStorage
- Cache Storage - HTTP response caching
- Process - System interaction and environment access
- SQLite - Native database operations
- Time - Timing utilities and scheduling
- URL - URL parsing and manipulation
- Web - Standard web APIs (Events, TextEncoder/Decoder, etc.)
- Streams - Web-standard streaming data processing
- Cron - Task scheduling with cron expressions
🛰️ Andromeda Satellites
Satellites are minimal, purpose-built executables designed for containerized environments and microservice architectures:
- andromeda-run - Execute JavaScript/TypeScript in production containers
- andromeda-compile - Compile JS/TS to executables
- andromeda-fmt - Format code
- andromeda-lint - Lint code for quality issues
- andromeda-check - Type-check TypeScript
- andromeda-bundle - Bundle and minify code
🆘 Getting Help
- 💬 Discord Community - Chat with the community
- 🐛 GitHub Issues - Report bugs or request features
- 📧 Discussions - Ask questions and share ideas
- 🌐 Official Website - Latest news and updates
📄 License
Andromeda is licensed under the Mozilla Public License Version 2.0.