cli/docs/index.md

76 lines
2.3 KiB
Markdown

# Core Framework
Core is a Web3 Framework for building production-grade Go desktop applications using [Wails v3](https://wails.io/). It replaces Electron with a native Go backend while providing a modern, service-based architecture.
## Why Core?
- **Native Performance**: Go backend with native webview, no Chromium bloat
- **Service Architecture**: Modular, testable services with dependency injection
- **MCP Integration**: Built-in Model Context Protocol support for AI tooling
- **Cross-Platform**: macOS, Windows, and Linux from a single codebase
- **TypeScript Bindings**: Auto-generated bindings for frontend integration
## Quick Example
```go
package main
import (
"embed"
"log"
"github.com/Snider/Core/pkg/core"
"github.com/Snider/Core/pkg/display"
"github.com/wailsapp/wails/v3/pkg/application"
)
//go:embed all:frontend/dist
var assets embed.FS
func main() {
// Create the Core with services
c, err := core.New(
core.WithAssets(assets),
core.WithService(display.NewService),
core.WithServiceLock(),
)
if err != nil {
log.Fatal(err)
}
// Create Wails app
app := application.New(application.Options{
Name: "MyApp",
})
// Run
if err := app.Run(); err != nil {
log.Fatal(err)
}
}
```
## Core Services
| Service | Description |
|---------|-------------|
| **Core** | Central service container and lifecycle management |
| **Display** | Window management, dialogs, tray, clipboard |
| **WebView** | JavaScript execution, DOM interaction, screenshots |
| **MCP** | Model Context Protocol server for AI tool integration |
| **Config** | Application configuration and state persistence |
| **Crypt** | Encryption, signing, key management |
| **I18n** | Internationalization and localization |
| **IO** | File system operations |
| **Workspace** | Project and path management |
## Getting Started
1. [Installation](getting-started/installation.md) - Install Go, Wails, and Core
2. [Quick Start](getting-started/quickstart.md) - Build your first app
3. [Architecture](getting-started/architecture.md) - Understand the design
## Links
- **Repository**: [github.com/Snider/Core](https://github.com/Snider/Core)
- **Issues**: [GitHub Issues](https://github.com/Snider/Core/issues)