braaand 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,12 +1,18 @@
1
1
  #!/usr/bin/env node
2
+ import { readFileSync } from "fs";
3
+ import { dirname, join } from "path";
4
+ import { fileURLToPath } from "url";
2
5
  import { login, logout, status } from "./commands/auth.js";
3
6
  import * as assets from "./commands/assets.js";
4
7
  import * as brands from "./commands/brands.js";
5
8
  import * as templates from "./commands/templates.js";
6
- import { render } from "./commands/render.js";
9
+ import * as projects from "./commands/projects.js";
10
+ import * as render from "./commands/render.js";
11
+ import * as config from "./commands/config.js";
7
12
  import { onboard } from "./commands/onboard.js";
8
13
  import { sync } from "./commands/sync.js";
9
- import { saveConfig } from "./config.js";
14
+ import { whoami } from "./commands/whoami.js";
15
+ import { handleError } from "./errors.js";
10
16
  const args = process.argv.slice(2);
11
17
  const command = args[0];
12
18
  const subcommand = args[1];
@@ -14,53 +20,93 @@ function getFlag(name) {
14
20
  const idx = args.indexOf(`--${name}`);
15
21
  return idx >= 0 ? args[idx + 1] : undefined;
16
22
  }
23
+ function hasFlag(name) {
24
+ return args.includes(`--${name}`);
25
+ }
26
+ function getVersion() {
27
+ try {
28
+ const here = dirname(fileURLToPath(import.meta.url));
29
+ const pkg = JSON.parse(readFileSync(join(here, "..", "package.json"), "utf-8"));
30
+ return pkg.version ?? "0.0.0";
31
+ }
32
+ catch {
33
+ return "0.0.0";
34
+ }
35
+ }
17
36
  function printHelp() {
18
37
  console.log(`
19
- braaand — CLI for Braaand
38
+ braaand — CLI for Braaand (v${getVersion()})
20
39
 
21
40
  USAGE
22
41
  braaand <command> [subcommand] [options]
23
42
 
24
43
  AUTH
25
- auth login Authenticate via browser (device flow)
26
- auth logout Remove stored credentials
27
- auth status Show auth status and test connectivity
44
+ auth login Authenticate via browser (device flow)
45
+ auth logout Remove stored credentials
46
+ auth status Show auth status and test connectivity
47
+ whoami Show the authenticated user + brand counts
48
+
49
+ BRANDS
50
+ brands list List your brands
51
+ brands get <id> Get brand details
52
+ brands config <id> Get brand config (colors, fonts, voice, tokens)
53
+ brands info <id> Full brand dump (config + assets with URLs)
54
+ brands knowledge <id> [sectionId] Query brand knowledge sections
55
+ brands portal <id> Open brand portal in browser
56
+ brands create <name> [--description <d>]
57
+ brands update <id> [--name <n>] [--description <d>]
58
+ brands delete <id> --yes --confirm-brand-id <id>
28
59
 
29
60
  ASSETS
30
61
  assets list <brandId>
31
- assets upload <brandId> <file> [--name <name>] [--type logo|image|font|icon|symbol] [--tags <comma-sep>]
32
-
33
- BRANDS
34
- brands list List your brands
35
- brands create <name> [--description <desc>]
36
- brands get <id> Get brand details
37
- brands config <id> Get brand config (colors, fonts, voice, tokens)
38
- brands info <id> Full brand dump (config + assets with URLs)
39
- brands knowledge <id> [sectionId] Query brand knowledge sections
40
- brands portal <id> Open brand portal in browser
62
+ assets get <brandId> <assetId> [--meta] [--output <path>]
63
+ assets upload <brandId> <file> [--name <n>] [--type logo|image|font|icon|symbol|document] [--tags <csv>]
64
+ assets delete <brandId> <assetId>
41
65
 
42
66
  TEMPLATES
43
67
  templates list <brandId>
44
68
  templates get <brandId> <templateId>
45
- templates discover <brandId> Full agent-facing catalog
69
+ templates discover <brandId> Full agent-facing catalog
70
+ templates create <brandId> <name> [--description <d>] [--from <file.json>]
71
+ templates delete <brandId> <templateId> [--force]
46
72
 
47
73
  SYSTEM TEMPLATES
48
74
  system-templates list
49
75
  system-templates instantiate <templateId> --brand <brandId> [--name <name>]
50
76
 
77
+ PROJECTS
78
+ projects list <brandId>
79
+ projects get <brandId> <projectId>
80
+ projects create <brandId> <name> [--description <d>] [--external-id <id>]
81
+ projects update <brandId> <projectId> [--name <n>] [--description <d>]
82
+ projects delete <brandId> <projectId>
83
+
84
+ AD SETS
85
+ adsets list <brandId> <projectId>
86
+ adsets get <brandId> <projectId> <adSetId>
87
+ adsets create <brandId> <projectId> <name> [--description <d>] [--ads <json|@file.json>]
88
+ adsets update <brandId> <projectId> <adSetId> [--name <n>] [--description <d>] [--ads <json|@file.json>]
89
+ adsets delete <brandId> <projectId> <adSetId>
90
+
51
91
  RENDER
52
- render <brandId> <templateId> [--format 1x1] [--output file.png] [--overrides '{...}']
92
+ render <brandId> <templateId> [--format 1x1|1x1,9x16] [--all-formats] [--output <name|path>] [--overrides '{...}'|@file.json]
93
+ render batch <brandId> <projectId> <adSetId> [--formats 1x1,9x16] [--output-dir <dir>]
53
94
 
54
95
  SYNC
55
- sync [brandId] Sync brand assets to local folders
56
- sync --dir <path> Sync into a specific directory (default: cwd)
96
+ sync [brandId] Sync brand assets to local folders
97
+ sync --dir <path> Sync into a specific directory (default: cwd)
57
98
 
58
99
  ONBOARD
59
- onboard <file.json> Create brand + config + assets from JSON
60
- cat brand.json | onboard Pipe JSON from stdin
100
+ onboard <file.json> Create brand + config + assets from JSON
101
+ cat brand.json | onboard Pipe JSON from stdin
61
102
 
62
103
  CONFIG
63
- config set-url <url> Set API URL (default: https://braaand.ai)
104
+ config show Show current API URL and auth state
105
+ config set-url <url> Set API URL (default: https://www.braaand.ai)
106
+
107
+ MISC
108
+ --version, -v Print version
109
+ --help, -h Show this help
64
110
 
65
111
  OUTPUT
66
112
  All commands output JSON to stdout. Pipe to jq for formatting:
@@ -70,6 +116,10 @@ OUTPUT
70
116
  async function main() {
71
117
  try {
72
118
  switch (command) {
119
+ case "--version":
120
+ case "-v":
121
+ console.log(getVersion());
122
+ return;
73
123
  case "auth":
74
124
  switch (subcommand) {
75
125
  case "login": return await login();
@@ -77,9 +127,16 @@ async function main() {
77
127
  case "status": return await status();
78
128
  default: return printHelp();
79
129
  }
130
+ case "whoami":
131
+ return await whoami({ json: hasFlag("json") });
80
132
  case "assets":
81
133
  switch (subcommand) {
82
134
  case "list": return await assets.list(args[2]);
135
+ case "get":
136
+ return await assets.get(args[2], args[3], {
137
+ meta: hasFlag("meta"),
138
+ output: getFlag("output"),
139
+ });
83
140
  case "upload":
84
141
  return await assets.upload(args[2], args[3], {
85
142
  name: getFlag("name"),
@@ -87,6 +144,7 @@ async function main() {
87
144
  tags: getFlag("tags"),
88
145
  description: getFlag("description"),
89
146
  });
147
+ case "delete": return await assets.remove(args[2], args[3]);
90
148
  default: return printHelp();
91
149
  }
92
150
  case "brands":
@@ -98,6 +156,16 @@ async function main() {
98
156
  case "info": return await brands.info(args[2]);
99
157
  case "knowledge": return await brands.knowledge(args[2], args[3]);
100
158
  case "portal": return await brands.portal(args[2]);
159
+ case "update":
160
+ return await brands.update(args[2], {
161
+ name: getFlag("name"),
162
+ description: getFlag("description"),
163
+ });
164
+ case "delete":
165
+ return await brands.remove(args[2], {
166
+ yes: hasFlag("yes"),
167
+ confirmBrandId: getFlag("confirm-brand-id"),
168
+ });
101
169
  default: return printHelp();
102
170
  }
103
171
  case "templates":
@@ -105,6 +173,15 @@ async function main() {
105
173
  case "list": return await templates.list(args[2]);
106
174
  case "get": return await templates.get(args[2], args[3]);
107
175
  case "discover": return await templates.discover(args[2]);
176
+ case "create":
177
+ return await templates.create(args[2], args[3], {
178
+ description: getFlag("description"),
179
+ from: getFlag("from"),
180
+ });
181
+ case "delete":
182
+ return await templates.remove(args[2], args[3], {
183
+ force: hasFlag("force"),
184
+ });
108
185
  default: return printHelp();
109
186
  }
110
187
  case "system-templates":
@@ -114,9 +191,49 @@ async function main() {
114
191
  return await templates.systemInstantiate(args[2], getFlag("brand"), getFlag("name"));
115
192
  default: return printHelp();
116
193
  }
194
+ case "projects":
195
+ switch (subcommand) {
196
+ case "list": return await projects.list(args[2]);
197
+ case "get": return await projects.get(args[2], args[3]);
198
+ case "create":
199
+ return await projects.create(args[2], args[3], getFlag("description"), getFlag("external-id"));
200
+ case "update":
201
+ return await projects.update(args[2], args[3], {
202
+ name: getFlag("name"),
203
+ description: getFlag("description"),
204
+ externalId: getFlag("external-id"),
205
+ });
206
+ case "delete": return await projects.remove(args[2], args[3]);
207
+ default: return printHelp();
208
+ }
209
+ case "adsets":
210
+ switch (subcommand) {
211
+ case "list": return await projects.adsetsList(args[2], args[3]);
212
+ case "get": return await projects.adsetsGet(args[2], args[3], args[4]);
213
+ case "create":
214
+ return await projects.adsetsCreate(args[2], args[3], args[4], {
215
+ description: getFlag("description"),
216
+ ads: getFlag("ads"),
217
+ });
218
+ case "update":
219
+ return await projects.adsetsUpdate(args[2], args[3], args[4], {
220
+ name: getFlag("name"),
221
+ description: getFlag("description"),
222
+ ads: getFlag("ads"),
223
+ });
224
+ case "delete": return await projects.adsetsRemove(args[2], args[3], args[4]);
225
+ default: return printHelp();
226
+ }
117
227
  case "render":
118
- return await render(args[1], args[2], {
228
+ if (subcommand === "batch") {
229
+ return await render.batch(args[2], args[3], args[4], {
230
+ formats: getFlag("formats"),
231
+ outputDir: getFlag("output-dir"),
232
+ });
233
+ }
234
+ return await render.single(args[1], args[2], {
119
235
  format: getFlag("format"),
236
+ allFormats: hasFlag("all-formats"),
120
237
  output: getFlag("output"),
121
238
  overrides: getFlag("overrides"),
122
239
  });
@@ -127,12 +244,14 @@ async function main() {
127
244
  case "onboard":
128
245
  return await onboard(args[1]);
129
246
  case "config":
130
- if (subcommand === "set-url" && args[2]) {
131
- saveConfig({ apiUrl: args[2] });
132
- console.log(`API URL set to ${args[2]}`);
133
- return;
247
+ switch (subcommand) {
248
+ case "show": return config.show();
249
+ case "set-url":
250
+ if (!args[2])
251
+ return printHelp();
252
+ return config.setUrl(args[2]);
253
+ default: return printHelp();
134
254
  }
135
- return printHelp();
136
255
  case "help":
137
256
  case "--help":
138
257
  case "-h":
@@ -145,13 +264,7 @@ async function main() {
145
264
  }
146
265
  }
147
266
  catch (err) {
148
- if (err instanceof Error) {
149
- console.error(`Error: ${err.message}`);
150
- }
151
- else {
152
- console.error(err);
153
- }
154
- process.exit(1);
267
+ handleError(err);
155
268
  }
156
269
  }
157
270
  main();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAE3B,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM;gBACT,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,OAAO,CAAC,CAAC,OAAO,MAAM,KAAK,EAAE,CAAC;oBACnC,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC;oBAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM,EAAE,CAAC;oBACrC,OAAO,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;gBAC9B,CAAC;YAEH,KAAK,QAAQ;gBACX,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,KAAK,QAAQ;wBACX,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;4BAC3C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;4BACrB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;4BACrB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;4BACrB,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC;yBACpC,CAAC,CAAC;oBACL,OAAO,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;gBAC9B,CAAC;YAEH,KAAK,QAAQ;gBACX,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxC,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC3E,KAAK,KAAK,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,KAAK,WAAW,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClE,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,OAAO,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;gBAC9B,CAAC;YAEH,KAAK,WAAW;gBACd,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,KAAK,KAAK,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,KAAK,UAAU,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;gBAC9B,CAAC;YAEH,KAAK,kBAAkB;gBACrB,QAAQ,UAAU,EAAE,CAAC;oBACnB,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;oBACjD,KAAK,aAAa;wBAChB,OAAO,MAAM,SAAS,CAAC,iBAAiB,CACtC,IAAI,CAAC,CAAC,CAAC,EACP,OAAO,CAAC,OAAO,CAAE,EACjB,OAAO,CAAC,MAAM,CAAC,CAChB,CAAC;oBACJ,OAAO,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;gBAC9B,CAAC;YAEH,KAAK,QAAQ;gBACX,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;oBACpC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;oBACzB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;oBACzB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;iBAChC,CAAC,CAAC;YAEL,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,SAAS;gBACZ,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhC,KAAK,QAAQ;gBACX,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,OAAO,SAAS,EAAE,CAAC;YAErB,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,OAAO,SAAS,EAAE,CAAC;YAErB;gBACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;gBAC7C,SAAS,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "braaand",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "CLI for Braaand — brand infrastructure for agentic automation",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "braaand": "./dist/index.js"
8
8
  },
9
- "files": ["dist", "package.json"],
9
+ "files": ["dist", "package.json", "README.md"],
10
10
  "engines": { "node": ">=20" },
11
11
  "scripts": {
12
12
  "build": "tsc",