sky-lattice/README.md
VG 611ad214fe Initial Sky Lattice scaffold: blueprint, platformctl, and docs.
Encode intent/decision/plan workflow for Snowflake platform delivery so engagements share a durable recipe instead of one-off LLM chats.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 01:48:36 -04:00

74 lines
2.4 KiB
Markdown

# Sky Lattice
Internal toolkit for standing up and evolving **Snowflake data platforms** across customers: durable **intent** + **decisions**, a versioned **blueprint**, deterministic **plan/apply**, and an optional **Cursor skill** front door.
Terraform remains the executor. Sky Lattice is the intent/decision/policy layer on top.
## Install
```bash
cd /path/to/sky-lattice
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
platformctl --version
platformctl doctor
```
## 5 commands to remember
| Command | Purpose |
|---|---|
| `platformctl wizard` | Guided setup / resume |
| `platformctl add domain …` | Incremental change |
| `platformctl plan` | Show what will be created |
| `platformctl apply` | Record/apply plan |
| `platformctl drift` | Compare inventory vs intent |
Also: `init`, `validate`, `discover`, `decision add|list`, `explain`, `destroy --env`, `skills install`, `doctor`.
## Quick start (greenfield demo)
```bash
platformctl init acme --mode greenfield
platformctl wizard --path customers/acme --answers examples/answers/acme.greenfield.yaml
platformctl validate --path customers/acme
platformctl plan --path customers/acme
platformctl apply --path customers/acme --yes
platformctl doctor --path customers/acme
```
Open `customers/acme` in Cursor — the `platform-ops` skill is already in `.cursor/skills/`.
## Brownfield
```bash
platformctl init globex --mode brownfield
# provide observed/inventory.yaml then:
platformctl discover --path customers/globex --inventory examples/answers/globex.inventory.yaml
platformctl wizard --path customers/globex --mode brownfield --answers examples/answers/globex.brownfield.yaml
platformctl plan --path customers/globex
```
## Layout
```text
blueprint/ # versioned IP: modules, schemas, wizard, policies, skills
src/skylattice/ # platformctl (Python)
customers/ # generated customer projects (demo)
docs/ # landing, recipes, product decisions
PLAN.md # design plan (reference)
```
## Customer environment landing
See [docs/customer-landing/README.md](docs/customer-landing/README.md). Default: customer gets git repo + CI + secrets + Snowflake automation user; blueprint stays pinned/versioned.
## LLM / skills
Skills drive `platformctl` and customer files — they do not own Snowflake. See skill at `blueprint/skills/platform-ops/`.
## License
Internal use — adapt as needed for your organization.