Welcome to the Andromeda documentation! This directory contains comprehensive guides, API references for the Andromeda JavaScript/TypeScript runtime.
📚 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 with the broader JavaScript ecosystem. Our APIs follow established web standards including:
- WHATWG Standards - URL, Encoding, and Fetch specifications
- W3C Standards - Canvas 2D, Performance API, Web Crypto API
- ECMAScript Standards - Modern JavaScript/TypeScript features
✨ Key Features
- 🚀 Zero-configuration TypeScript - Run
.ts
files directly, no transpilation needed - 🎨 GPU-Accelerated Canvas - Hardware-accelerated 2D Canvas API with WGPU backend and PNG export
- 🔐 Web Crypto API - Industry-standard cryptographic primitives
- 📒 SQLite Support - Built-in support for SQLite databases
- 📁 File System Access - Simple APIs for reading/writing files with async support
- 💾 Web Storage - localStorage and sessionStorage APIs for data persistence
- 🗄️ Cache Storage - Web-standard cache storage for HTTP responses and offline functionality
- ⚡ Native Performance - Rust-powered execution with Nova's optimized JS engine
- 🛠️ Developer Tools - Interactive REPL, code formatter, bundler, linter, and single-file compilation
- 🌐 Web Standards - TextEncoder/Decoder, Performance API, Fetch API, File API, Streams API, and more
- 🔧 Extensible - Modular architecture with optional features
- 🔧 Self-Updating - Built-in upgrade system to stay current with latest releases
- 🔧 Shell Integration - Auto-completion support for bash, zsh, fish, and PowerShell
- 🧑💻 Language Server - Built-in LSP support for real-time diagnostics and linting
- 📦 Module Support - ES modules and TypeScript module resolution
- 🎯 Advanced Canvas - Linear gradients, hardware acceleration, and image manipulation
- ⏰ Task Scheduling - Built-in cron functionality for recurring tasks
- 🎨 Enhanced Console - CSS-style formatting for beautiful console output
- 🌊 Streaming Data - Web-standard Streams API for efficient data processing
- ⚙️ Configuration - Flexible project configuration with JSON, TOML, and YAML support
🆘 Getting Help
- 💬 Discord Community - Chat with the community
- 🐛 GitHub Issues - Report bugs or request features
- 📧 Discussions - Ask questions and share ideas
📄 License
This documentation is licensed under the Mozilla Public License Version 2.0.
Found an issue with this page?Edit on GitHub
Last updated: