Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
"$sdk" "$desktop" "$native" "$package" "$site" | tee -a "$GITHUB_OUTPUT"

boundary:
name: Standalone boundary
name: Atet standalone boundary
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
Expand All @@ -94,7 +94,7 @@ jobs:
- run: bun run check:standalone

sdk:
name: SDK
name: Atet SDK
needs: plan
if: needs.plan.outputs.sdk == 'true'
runs-on: ubuntu-latest
Expand All @@ -120,7 +120,7 @@ jobs:
- run: node --input-type=module -e 'await Promise.all(["./dist/index.js","./dist/cli.js","./dist/code/index.js","./dist/code/advanced.js","./dist/generate.js","./dist/host-resources.js","./dist/operations.js","./dist/workflow.js"].map(path => import(path)))'

desktop:
name: Local host
name: Atet local runtime
needs: plan
if: needs.plan.outputs.desktop == 'true'
runs-on: ubuntu-latest
Expand All @@ -147,7 +147,7 @@ jobs:
fi

site:
name: Static site
name: Atet site
needs: plan
if: needs.plan.outputs.site == 'true'
runs-on: ubuntu-latest
Expand All @@ -163,7 +163,7 @@ jobs:
- run: bun run check:web

package:
name: Packed consumer
name: Atet packed consumer
needs: plan
if: needs.plan.outputs.package == 'true'
runs-on: ubuntu-latest
Expand All @@ -178,7 +178,7 @@ jobs:
- run: bun run test:package

native:
name: macOS native shell
name: Atet macOS shell
needs: plan
if: needs.plan.outputs.native == 'true'
runs-on: macos-15
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
- run: node --input-type=module -e 'await Promise.all(["./dist/index.js", "./dist/cli.js", "./dist/code/index.js", "./dist/code/advanced.js", "./dist/generate.js", "./dist/host-resources.js", "./dist/operations.js", "./dist/workflow.js"].map((specifier) => import(specifier)))'

official_vtracer:
name: Official VTracer (${{ matrix.target }})
name: Atet VTracer (${{ matrix.target }})
needs: verify
permissions:
contents: read
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
EXPECTED_ARCH: ${{ matrix.arch }}

native_macos:
name: macOS native shell
name: Atet macOS shell
needs: verify
permissions:
contents: read
Expand Down Expand Up @@ -187,7 +187,7 @@ jobs:
--verify-tag \
--generate-notes \
--latest \
--title "Transmute $GITHUB_REF_NAME"
--title "Atet $GITHUB_REF_NAME"
fi
release_state="$(gh release view "$GITHUB_REF_NAME" \
--json assets,isDraft,isImmutable,isPrerelease,tagName \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/vectorizer.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Official VTracer
name: Atet VTracer

on:
push:
Expand All @@ -10,7 +10,7 @@ permissions:

jobs:
official_vtracer:
name: Official VTracer (${{ matrix.target }})
name: Atet VTracer (${{ matrix.target }})
runs-on: ${{ matrix.runner }}
timeout-minutes: 15
strategy:
Expand Down
13 changes: 7 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Contents

- `src/` – portable declarative and imperative workflow SDKs, host-resource admission, diagrams, direct Vercel AI Gateway generation, local vectorization, semantic operations, MCP, and canvas integration.
- `apps/desktop/` – the canonical `transmute` CLI, complete local media host, durable scheduler, HTML and Three.js overlays, native capture helpers, frontend, and desktop shell.
- `apps/web/` – the dependency-free static `transmute.rocks` site, with no API, account, or credential surface.
- `apps/desktop/` – the canonical `atet` CLI, complete local media host, durable scheduler, HTML and Three.js overlays, native capture helpers, frontend, and desktop shell.
- `apps/web/` – the dependency-free static `atet.sh` site, with no API, account, or credential surface.
- `packages/scene/` – the shared local scene-analysis contract.
- `src/code/` – portable declarative graph authoring, the closed public capability projection, compilation, planning, and execution contracts.
- `schema/` – version-one diagram JSON Schema.
- `skills/transmute/` – the canonical Transmute Agent Skill.
- `skills/atet/` – the canonical Atet Agent Skill.
- `examples/` – checked diagram, configuration, and executable imperative and declarative Bun workflow examples.
- `scripts/` – schema, skill, package, release, and official-vectorizer verification.
- `dist/` and `apps/desktop/dist/cli/` – committed Bun-targeted entrypoints consumed by package and Git installs.
Expand All @@ -17,13 +17,14 @@
# Guidelines

- Use Bun 1.3.14 and run `bun run check` before handing off a change.
- Keep `@hraness/transmute` at the repository root. The root package owns both the portable SDK and canonical `transmute` binary built from `apps/desktop/cli/main.ts`.
- Keep canonical commands namespaced as `transmute diagram init|check|render`, `transmute image generate|vectorize`, and the `code`, `mcp`, `canvas`, `skill`, and `doctor` surfaces.
- Keep `@hraness/atet` at the repository root. The root package owns both the portable SDK and canonical `atet` binary built from `apps/desktop/cli/main.ts`.
- Keep canonical commands namespaced as `atet diagram init|check|render`, `atet image generate|vectorize`, and the `code`, `mcp`, `canvas`, `skill`, and `doctor` surfaces.
- Keep local vectorization authentication-free and network-silent. Gateway generation reads `AI_GATEWAY_API_KEY` before `VERCEL_OIDC_TOKEN`, never persists credentials, pins the Gateway origin, bounds responses, and sets `maxRetries: 0`.
- Keep `/artifacts/`, `.env`, and `.env.*` ignored. Recordings, imported media, private project metadata, Gateway tokens, and provider options must never enter Git or a package artifact.
- Treat `vercel env run -- <command>` as the ergonomic local Vercel path. Never shell out to infer or scrape a token from the Vercel CLI.
- Preserve `.diagram.json` version one and the five same-stem render outputs: `.tldr`, light and dark SVG, and light and dark PNG.
- Keep one self-contained Transmute identity. Do not add hosted accounts, OAuth, an application database, a credential store, or legacy Graphics runtime aliases.
- Keep one self-contained Atet identity. Version 2 retains `transmute` as a one-major CLI bin alias and accepts reviewed version-1 serialized identifiers plus the four exact `@hraness/transmute/local/*` source imports at explicit input-only compatibility boundaries. Do not emit predecessor branding, package names, source names, or runtime implementations.
- Preserve every immutable version-1 tag and Release. Never rewrite a historical tag or recreate a repository at the former GitHub path, because doing so would replace GitHub's compatibility redirect.
- Treat diagram source as authoritative and generated media as replaceable. Defaults may resolve mechanics but must not invent claims, labels, legends, relationships, or decorative meaning.
- Parse foreign values from `unknown`, keep output deterministic, and test every parser, protocol, operation, path, credential, and compatibility boundary.
- Keep semantic registries fixed and typed. Never accept source text, evaluation, dynamic imports, executable workspace configuration, shell commands, or caller-selected remote URLs.
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ bun run check:web

Parser, layout, operation, protocol, configuration, or scheduler changes need deterministic examples. Add a property test for a law, round trip, ordering rule, or arbitrary-input boundary. A shrunk property failure should become a named regression.

Keep the portable declarative graph SDK canonical in `src/code/`. The complete local host extends that fixed model under `apps/desktop/`; it does not maintain a competing graph contract. Public local-host entrypoints use `@hraness/transmute/local/*`.
Keep the portable declarative graph SDK canonical in `src/code/`. The complete local host extends that fixed model under `apps/desktop/`; it does not maintain a competing graph contract. Public local-host entrypoints use `@hraness/atet/local/*`.

Generation uses Vercel AI Gateway directly. Do not add an account service, session store, custom OAuth flow, hosted proxy, billing dependency, or browser credential field. Tests must use inert credentials and controlled transports.

Expand Down
6 changes: 3 additions & 3 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Notices

Transmute is an independent project and is not affiliated with or endorsed by
Atet is an independent project and is not affiliated with or endorsed by
tldraw, Inc.

The runtime package does not include the tldraw SDK or tldraw Offline. It writes
Expand All @@ -9,7 +9,7 @@ diagram into compatible tldraw software. The development test suite optionally
uses the upstream `tldraw` package to check compatibility; that package remains
under the [tldraw license](https://tldraw.dev/community/license).

The optional `transmute canvas install` command downloads an unmodified installer
The optional `atet canvas install` command downloads an unmodified installer
from the official
[`tldraw/tldraw-offline`](https://github.com/tldraw/tldraw-offline) GitHub
release and verifies the SHA-256 digest published by GitHub. tldraw Offline is
Expand Down Expand Up @@ -40,5 +40,5 @@ Optional model-backed generation uses
[`@ai-sdk/gateway`](https://www.npmjs.com/package/@ai-sdk/gateway) and the
[`ai`](https://www.npmjs.com/package/ai) SDK. Prompts and referenced media are
sent to Vercel AI Gateway and the model provider selected by the caller, under
those services' terms. Transmute does not operate an intermediary generation
those services' terms. Atet does not operate an intermediary generation
service.
Loading
Loading