https://github.com/mythetech/apollo
A WebAssembly powered c# code editor, running entirely in your browser
https://github.com/mythetech/apollo
blazor blazor-webassembly csharp dotnet pwa wasm
Last synced: about 1 year ago
JSON representation
A WebAssembly powered c# code editor, running entirely in your browser
- Host: GitHub
- URL: https://github.com/mythetech/apollo
- Owner: Mythetech
- License: mit
- Created: 2025-01-30T23:24:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-08T01:55:47.000Z (about 1 year ago)
- Last Synced: 2025-04-08T02:26:01.463Z (about 1 year ago)
- Topics: blazor, blazor-webassembly, csharp, dotnet, pwa, wasm
- Language: C#
- Homepage: https://mythetech.github.io/Apollo/
- Size: 9.71 MB
- Stars: 19
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: Roadmap.md
Awesome Lists containing this project
README
# Apollo Code Editor
Apollo is a web-based C# code editor powered by Roslyn that enables writing, testing, and running C# code directly in the browser using WebAssembly. It provides real-time compilation, diagnostics, web api emulation, ind IntelliSense features, but runs entirely in the browser.
[](https://github.com/Mythetech/Apollo/actions/workflows/static.yml)
[](LICENSE)

## Features
### Code Editing
- Real-time C# syntax highlighting and error detection
- IntelliSense support
- Multi-file project support
- WebAssembly-based compilation and execution
- Offline support
### Project Types
- Console Applications
- Web APIs (ASP.NET Core Minimal APIs)
- Test Files
### Development Experience
- Real-time error detection and diagnostics
- Integrated console output
- API endpoint testing for Web APIs
- Test runners
- Solution management
## Quick Start
1. Visit [Apollo Editor](https://mythetech.github.io/Apollo/)
2. Choose a project template or start with a blank console application
3. Write your C# code
4. Click Run (or press Ctrl+Enter) to execute
### Key Technologies
- Blazor WebAssembly for the UI
- Monaco Editor for code editing
- Roslyn for code analysis and compilation
- WebWorkers for processing
- MudBlazor & FluentUI
## Development Setup
### Prerequisites
- .NET 9.0 SDK
- DotNet Wasm Workload
- A modern web browser with WebAssembly support
You can install the WebAssembly workload with:
```bash
dotnet workload install wasm-tools
```
### Getting Started
1. Clone the repository
```bash
git clone https://github.com/mythetech/apollo.git
cd apollo
```
2. Install dependencies
```bash
dotnet restore
```
3. Build the solution
```bash
dotnet build
```
4. Run the development server
```bash
dotnet run --project Apollo.Web
```
5. Navigate to `https://localhost:7092`
## Contributing
We welcome contributions!
- Bug fixes
- Documentation updates
- Enhancing functionality
- Samples/Templates
- Full features! (Start discussion for guidance)
### Development Workflow
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Submit a pull request
## Project Status
Apollo is currently in alpha. While it's stable enough for learning and experimentation, we recommend against production use. Key areas under development:
- [ ] Expanded project support for class libraries
- [ ] Enhanced Web API testing features
- [ ] Improved intellisense
- [ ] Additional testing frameworks
- [ ] Performance optimizations
- [ ] Overall Application Stability
Please see our [Roadmap](Roadmap.md) for details
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.