Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cmd ¶
type Cmd struct {
Protos []string `` /* 282-byte string literal not displayed */
Imports []string `` /* 188-byte string literal not displayed */
ProjectID string `` /* 151-byte string literal not displayed */
Console string `` /* 192-byte string literal not displayed */
LockPath string `` /* 166-byte string literal not displayed */
NoLock bool `name:"no-lock" help:"Skip lock-file write."`
FixturesDir string `` /* 229-byte string literal not displayed */
Decide []string `` /* 210-byte string literal not displayed */
Initiative string `` /* 257-byte string literal not displayed */
}
Cmd implements `w17ctl push` — the **single** unified command that ships every artifact the project has to console in one call. Today: compiled IR schema + every fixtures/<domain>/<name>.json. Tomorrow: any other artifact types we add (initial_data once it lands, …).
⚠️ THIS IS A CI COMMAND. It is what turns a merged schema into a STORED MIGRATION — a permanent, ordered record the console plans every later migration against and a deployed database applies in series.
Run by hand from a feature branch, it mints a migration for code that may still change or may never merge, and nothing removes it afterwards: the next migration is then planned on top of a state the repository never reached. The generated CI configs run it on the default branch, after the e2e suite passes, which is the moment the code is final.
The developer loop needs none of it — `w17ctl stack build` applies the diff to the local stores and persists NO migration, however many times it runs.
Idempotent: calling repeatedly with the same inputs is safe. Server-side stores latest body; in the future the PR/approval workflow gates promotion, but the wire contract stays the same — caller always sends "everything I have."
Per docs/conventions-global/structure.md the operator never has to think about "which subcommand"; one command, server figures out what changed.