terrace terr.app

Reference

.terrace.yml

An optional file at the root of your repository. Terrace reads it on every survey and merges it into the hill. Use it for what the code can’t show: where things really run, why a folder exists, which other repos belong to the same system.

The quickest way to write one: open your terrace, add notes and declare hosts in the viewer, then chooseExport .terrace.yml. It opens GitHub’s new-file page with the content filled in.

Example

hosting:
  - name: Neon Postgres
    kind: database
    description: Primary database for the API
    url: https://neon.tech
    from: [app:worker]
  - name: Cloudflare R2
    kind: object storage
    from: [app:worker]

notes:
  repo: The public site and API for Lantern.
  folder:infra: Only the platform team edits this.
  fw:hono: Chosen for its tiny cold start on Workers.

related:
  - lantern-org/lantern-mobile
  - lantern-org/lantern-infra

Fields

KeyWhat it does
hostingA list of hosts added to the summit. Each needs a name; kind, description, url (http/https only) and from are optional. Up to 20.
hosting[].fromStone ids (or app names) that this host is built from. Draws the threads up to it.
notesA map of stone id → text, shown as the owner’s note on that stone. Up to 1,000 characters each.
relatedUp to 8 owner/repo names drawn as neighbouring hills.

Stone ids

Every stone has a stable id. You can see it in the viewer’s export, or build it from these patterns:

TerracePatternExample
Repositoryrepo, doc:readme, doc:license, doc:docsrepo
Foldersfolder:<top-level folder>, folder:. for root filesfolder:src
Languagesformat:<id>format:typescript
Frameworksfw:<id>fw:astro
Appsapp:<folder path>, app:rootapp:packages/api
Hostinghost:<id>, declared:<slug of name>host:cloudflare-workers

Rules