taubyte-orchestrator
Taubyte Orchestrator
When to Use
Use for any Taubyte request before running resource-specific operations.
Mandatory gate order
taubyte-cli-prereqs(hard gate: Node.js and Docker — install/start when possible, else prompt;@taubyte/cli/@taubyte/dream; auth viataubyte-auth-and-profilebefore GitHub-backed repo work)taubyte-auth-and-profile(profiles,tau login --new, switches — complements Step 1 login)taubyte-execution-modestaubyte-core-constraintstaubyte-cloud-selectiontaubyte-scope-routingtaubyte-project-and-applicationtaubyte-context-logtaubyte-resource-creationtaubyte-go-sdk-constraints(Go HTTP handlers: function scaffold = rootempty.goonly—never hand-createlib/there; library WASM = separate skill section + multi-//export/execution.callwiring)taubyte-build-runtime-config(if server-side vars/config/build logic is needed)taubyte-push-build-verifytaubyte-dream-local-operationsortaubyte-remote-cloud-operationstaubyte-debugging-and-recoveryon failure
Optional local host access gates (Dream)
taubyte-hosts-file-editorwhen.localtauresources must open by hostname.taubyte-local-host-launchto validate/launch website or API URLs using FQDN + port.
Auto-execution policy for local runtime checks
- When user asks to "execute locally", "open URL", "run function", or "test website/function", do this automatically after push/deploy:
- run
taubyte-hosts-file-editor(attempt automatic hosts update first), - run
taubyte-local-host-launch(hostname-based curl/browser-ready URLs), - return concrete URLs and curl commands.
- run
- If hosts elevation fails, provide exact manual hosts lines and continue verification with
curl --resolve. - If Docker is unavailable on Dream path, stop runtime claims and report the blocker explicitly.
New project hard gate (before imports or resources)
When the user’s request means create a new Taubyte project (not “add to the current one”):
- Run
taubyte-project-and-application→tau --defaults --yes new project --name <new>thentau select project --name <new>— never skip this becausetau --json currentalready showed another project. - Immediately run
tau --json currentand confirmProjectequals<new>(exact name). If it does not match, stop and fix selection before continuing. - Do not run
tau import website,tau import library,tau push project, ortau new/ mutate domains, databases, functions, etc. until step 2 passes. - Do not treat an old workspace folder, old
tb_config_*clone, or stale chat context as the source of truth for which project is active — onlytau --json currentaftertau select project.
Log steps 1–2 in taubyte-context-log (project_intent=new, intended name, verified Project field).
Rules
- New projects: when the user asks to create a new project, follow the New project hard gate above and
taubyte-project-and-application→ New project vs reusing an existing project (alwaystau new project+ select; do not silently reuse the current project unless they said to). - Applications: do not create or select an application by default. Follow
taubyte-scope-routingandtaubyte-project-and-application: use project-only context for simple website or function (and global resources) unless the user wants multiple contexts/applications or the task is application-scoped. - Websites: follow
taubyte-scope-routing→ Website when logically appropriate. If a browser UI is the natural fit, plantau new website(and usually a Frontend app in multi-app layouts) — avoid defaulting to API-only for user-facing app briefs unless the user asked for headless / API-only scope. - Config notification + sequencing: ensure
config/config.yamlhas a realnotification.email(not"") before pushing config; push config first, wait for the latest Config build to succeed, then push website/library repos that depend on those config resources (seetaubyte-push-build-verify). - Config notification + sequencing: ensure
config/config.yamlhas a realnotification.email(not"") before pushing config; push config first, wait for the latest Config build to succeed, then push website/library repos that depend on those config resources (seetaubyte-push-build-verify). - Do not skip or reorder gates.
- If
taubyte-cli-prereqsfails (missing Node or Docker / daemon not running, missingtau loginwhen GitHub is needed, or missingtau/dream), stop immediately. - Default to non-interactive mode.
- Use JSON verification (
tau --json current) after context changes. - Keep commands sequential when selection/context can change.
- Load
taubyte-reference-indexwhen additional command/topic depth is needed; for site +/api/*+ database/library layouts, use its Full-stack worked example (multi-repo, multi-app) instead of assuming project-only scope. - Load
taubyte-spore-drive-sdkonly for cloud deployment/self-hosting requests.
More from taubyte/skills
verifying-taubyte-functions
Verifies a Taubyte Go function locally via the `taubyte/go-wasi` Docker recipe (preferred over `tau build`, with tmpfs+bind-mount-ro to avoid root-owned artifacts in the source tree), and verifies a function actually serves on Dream by curling the gateway with the right `Host:` header (plus `/etc/hosts` mapping for `*.localtau`). Use when locally compiling a Go function to WASM, when smoke-testing a function before pushing, or when probing a Dream-hosted HTTP function from the laptop.
12creating-taubyte-resources
Creates Taubyte resources non-interactively via `tau new` for domain, website, library, function, application, database, storage, messaging, and service. Encodes the project-vs-application scope rule, the database `min < max` constraint, the website/library `--generate-repository` + import sequence, and the forbidden `--generated-fqdn-prefix` flag. Use when adding any resource to a Taubyte project's config repo.
12diagnosing-dream-builds
Diagnoses Dream local-cloud builds when `tau list/query builds` is empty or unreliable, by hitting the jobs HTTP endpoint directly (`GET /jobs/<project_id>`, `GET /job/<job_id>`) using the GitHub token from `~/tau.yaml`, then downloading logs with `tau query logs --jid`. Use when Dream builds appear silent, the build table is empty after `dream inject`, or you need raw job ids and logs for a failing build.
11taubyte-resource-creation
Scope-aware resource creation workflow. Uses non-interactive mode by default and references the shared flags catalog.
11taubyte-push-build-verify
Pushes config/code and verifies builds/logs. Includes website/library push handling with tau command first, git fallback.
11taubyte-scope-routing
Routes project-level vs application-scoped work; defaults to a website when a browser UI is logically appropriate; avoids unnecessary applications for simple website/function-only tasks unless needed.
11