Resource Flags Reference
Use this as the canonical flag catalog to avoid duplicating long flag lists in other skills.
Mode policy
- Default: non-interactive (
--defaults --yes+ explicit flags) - Optional: interactive (no
--defaults) by user request
Common create commands (non-interactive)
tau --defaults --yes new domain --name <domain> --fqdn <fqdn> --type auto --description "<desc>"
tau --defaults --yes new database --name <db> --match <matcher> --min 1 --max 2 --size 1GB
tau --defaults --yes new storage --name <storage> --match <matcher> --size 1GB --bucket Object --public
tau --defaults --yes new messaging --name <msg> --match <matcher> --mqtt --ws
MSYS_NO_PATHCONV=1 tau --defaults --yes new service --name <svc> --protocol /api
MSYS_NO_PATHCONV=1 tau --defaults --yes new function --name <fn> --type http --domains <domain> --method GET --paths /api/x --source . --call Handler --template empty --language Go --timeout 30s --memory 64MB
MSYS_NO_PATHCONV=1 tau --defaults --yes new website --name <site> --domains <domain> --paths / --template empty --generate-repository --no-private --no-embed-token --branch main
MSYS_NO_PATHCONV=1 tau --defaults --yes new library --name <lib> --path /libraries/<lib> --template empty --generate-repository --no-private --no-embed-token --branch mainDomain generation guardrails
- Never add
--generated-fqdn-prefixby default. - Only use
--generated-fqdn-prefix <prefix>when the user explicitly requests a specific prefix. - If the user does not request a prefix and generated FQDN is needed, use:
tau --defaults --yes new domain --name <domain> --generated-fqdn --type auto --description "<desc>"Function post-create guardrail
- Immediately after
new function --template empty, replace scaffold content in<function_path>/empty.goat the function root (same directory asgo.mod— never underlib/) before push/test. - Never create
lib/, never relocateempty.gointolib/, and never hand-authormain.goin the function tree. To test the WASM build locally, use thetaubyte/go-wasiDocker command intaubyte-go-sdk-constraints. See that skill for the full layout rules.
Repository binding guardrails (website/library)
- Never call
new website/new librarywithout explicit repository strategy. - Preferred deterministic creation:
MSYS_NO_PATHCONV=1 tau --defaults --yes new website \
--name <site> \
--domains <domain> \
--paths / \
--template empty \
--generate-repository \
--repository-name tb_code_<project>_<site> \
--private \
--no-embed-token \
--branch main- If using existing repository, pass explicit
--repository-nameor--repository-id. - After creation, run import before push:
tau import website --name <site>
tau import library --name <lib>- After creation/import, verify repo fullname/ID in generated config YAML before any push.
Build/runtime config references
- Use
taubyte-build-runtime-configfor.taubyte/build.shand.taubyte/config.yamlmanagement. - Add runtime variables under
environment.variables(or resource-equivalent schema) when server-side config is required. - For websites, build script must place deployable output in
/out.
Config YAML anchors (database, messaging, PubSub)
Illustrative fragments for hand-edited config/applications/<app>/... (prefer tau new... then adjust). Strings must match Go: database.New("<match>"), pubsubnode.Channel("<channel>"), and PubSub trigger.channel.
Database (databases/<name>.yaml):
match: appdata
useRegex: false
access:
network: all
storage:
size: 1GB
replicas:
min: 1
max: 2Messaging (messaging/<name>.yaml):
local: false
channel:
regex: false
match: chat
bridges:
mqtt:
enable: false
websocket:
enable: truePubSub consumer function (snippet):
trigger:
type: pubsub
local: false
channel: chat
execution:
call: handleChatEventsLegacy-style interactive note
- In interactive mode, prompts are expected for visibility, template choice, embed-token, path/domain/method selections, and confirmation.