Use when working with .gcl files or GreyCat projects - efficient language with unified temporal/graph/vector database, built-in web server, native MCP for billion-scale digital twins
View on GitHubSelect agents to install to:
npx add-skill https://github.com/datathings/marketplace/blob/main/plugins/greycat/skills/greycat/SKILL.md -a claude-code --skill greycatInstallation paths:
.claude/skills/greycat/# GreyCat
Unified language + database (temporal/graph/vector) + web server + MCP. Built for billion-scale digital twins.
**Nav**: [Types](#types) • [Nullability](#nullability) • [Nodes](#nodes-persistence) • [Collections](#indexed-collections) • [Commands](#commands) • [Testing](#testing) • [Pitfalls](#common-pitfalls)
**Quick Start**:
```gcl
// Model + index
var users_by_id: nodeIndex<int, node<User>>;
type User { name: String; email: String; }
// CRUD service
abstract type UserService {
static fn create(name: String): node<User> { var u = node<User>{User{name}}; users_by_id.set(u->id, u); return u; }
static fn find(id: int): node<User>? { return users_by_id.get(id); }
}
// API endpoint
@expose @permission("public") fn getUsers(): Array<UserView> { /* ... */ }
// Time-series query
for (t: time, temp: float in temperatures[start..end]) { info("${t}: ${temp}"); }
// Parallel processing
var jobs = Array<Job<Result>> {};
for (item in items) { jobs.add(Job<Result>{function: process, arguments: [item]}); }
await(jobs, MergeStrategy::last_wins);
```
## Installation
Verify with `which greycat` or `greycat --version`. If not found, confirm with user before installing:
**Linux/Mac/FreeBSD**: `curl -fsSL https://get.greycat.io/install.sh | bash -s dev`
**Windows**: `iwr https://get.greycat.io/install_dev.ps1 -useb | iex`
Verify with `greycat --version`, restart shell if needed.
## Commands
| Command | Description | Key Options |
|---------|-------------|-------------|
| `greycat build` | Compile project | `--log`, `--cache` |
| `greycat serve` | Start server (HTTP + MCP) | `--port=8080`, `--workers=N`, `--user=1` (dev only) |
| `greycat run` | Execute main() or function | `greycat run myFunction` |
| `greycat test` | Run @test functions | Exit 0 on success |
| `greycat install` | Download dependencies | From project.gcl @library |
| `greycat codegen` | Generate typed headers | TS, Python, C, Rust |
| `greycat defrag` | Compact storage | Safe anytime |
| `