@dboio/cli 0.16.2 → 0.17.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/README.md CHANGED
@@ -233,7 +233,7 @@ Use `dbo status` to see how many pending migrations exist.
233
233
  | Key | Values | Description |
234
234
  |-----|--------|-------------|
235
235
  | `domain` | hostname | DBO.io instance to connect to |
236
- | `AppID` | number | App ID (set by `dbo clone`, used by `dbo add`/`dbo input`) |
236
+ | `AppID` | number | App ID (set by `dbo clone`, used by `dbo adopt`/`dbo input`) |
237
237
  | `AppUID` | string | App UID |
238
238
  | `AppName` | string | App display name |
239
239
  | `AppShortName` | string | App short name (used for `dbo clone --app`) |
@@ -305,7 +305,7 @@ A gitignore-style file in the project root that controls which files and directo
305
305
 
306
306
  **Used by:**
307
307
  - `dbo init` — scaffold empty-check (determines if directory is "effectively empty")
308
- - `dbo add .` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo add file.html`)
308
+ - `dbo adopt ./` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo adopt file.html`)
309
309
  - `dbo push` — metadata file discovery: skips matching `.metadata.json` / `_output~*.json` files AND any record whose companion content file (`@reference`) matches an ignore pattern
310
310
 
311
311
  **Bypass:** Use `dbo input -d '...'` to submit expressions for a file that would otherwise be ignored — `dbo input` never does file discovery so `.dboignore` does not apply.
@@ -591,7 +591,7 @@ dbo clone -e extension # Clone all extensions (all
591
591
  dbo clone -e extension --descriptor-types false # Flat layout (no descriptor sorting)
592
592
  ```
593
593
 
594
- **`dbo add` auto-inference**: Running `dbo add docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `extension/documentation/` with the correct `@/` reference.
594
+ **`dbo adopt` auto-inference**: Running `dbo adopt docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `lib/extension/documentation/` with the correct `@/` reference.
595
595
 
596
596
  #### Output structure
597
597
 
@@ -749,11 +749,11 @@ During `dbo clone`, the CLI auto-generates `.dbo/metadata_schema.json` (formerly
749
749
  | `String10=@reference` | Content reference — links to the file being added |
750
750
  | `String5=@reference:@Name[js]` | Content reference with filename source and extension |
751
751
 
752
- `dbo add` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo add extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
752
+ `dbo adopt` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo adopt lib/extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
753
753
 
754
754
  #### `@reference` expression syntax
755
755
 
756
- The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo add`. The full grammar:
756
+ The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo adopt`. The full grammar:
757
757
 
758
758
  ```
759
759
  Column=@reference[:filenameSource][extPart][{title}]
@@ -1407,7 +1407,7 @@ Apply macOS Finder color tags or Linux gio emblems to companion files based on t
1407
1407
  |-----|-------|---------|
1408
1408
  | `dbo:Synced` | 🟢 Green | File matches server — no local changes |
1409
1409
  | `dbo:Modified` | 🔵 Blue | Local edits not yet pushed |
1410
- | `dbo:Untracked` | 🟡 Yellow | No metadata — not yet added with `dbo add` |
1410
+ | `dbo:Untracked` | 🟡 Yellow | No metadata — not yet adopted with `dbo adopt` |
1411
1411
  | `dbo:Trashed` | 🔴 Red | File is in the `trash/` directory |
1412
1412
 
1413
1413
  ```bash
@@ -1507,73 +1507,87 @@ The next `dbo push` processes all pending deletions before pushing file changes.
1507
1507
 
1508
1508
  ---
1509
1509
 
1510
- ### `dbo add`
1510
+ ### `dbo adopt`
1511
1511
 
1512
- Add a new file to DBO.io by creating a server record. Similar to `git add`, this registers a local file with the server.
1512
+ Create a metadata companion file for a local file, making it ready for server insertion on the next `dbo push`. This is a **local-only operation** no server requests are made.
1513
1513
 
1514
- Files matching `.dboignore` patterns are skipped — both in directory-scan mode (`dbo add .`) and single-file mode (`dbo add file.html`). Use `dbo input` to create a record for an ignored file directly.
1514
+ Files matching `.dboignore` patterns are skipped — both in directory mode (`dbo adopt ./`) and single-file mode (`dbo adopt file.html`). Use `dbo input` to create a record for an ignored file directly.
1515
1515
 
1516
1516
  #### Single file
1517
1517
 
1518
1518
  ```bash
1519
- # Add a file (interactive metadata setup if no .metadata.json exists)
1520
- dbo add assets/css/colors.css
1519
+ # Single file entity inferred from directory
1520
+ dbo adopt lib/bins/app/assets/css/colors.css
1521
1521
 
1522
- # Add with auto-accept prompts
1523
- dbo add assets/css/colors.css -y
1522
+ # Single file explicit entity
1523
+ dbo adopt lib/bins/app/assets/css/colors.css -e content
1524
1524
 
1525
- # Add with ticket ID
1526
- dbo add assets/css/colors.css --ticket abc123
1525
+ # Extension with explicit column
1526
+ dbo adopt lib/extension/widget/button.html -e extension.String5
1527
+
1528
+ # Skip all confirmation prompts
1529
+ dbo adopt lib/bins/app/assets/css/colors.css -e content -y
1527
1530
  ```
1528
1531
 
1529
- If the file has no companion `.metadata.json`, an interactive wizard prompts for the entity name, content column, AppID, BinID, SiteID, and Path. It then creates the metadata file and submits the insert.
1532
+ If the file lives in a recognized directory (e.g. `lib/bins/`, `lib/extension/`, `docs/`), the entity is auto-inferred via `resolveDirective()`. Otherwise, pass `-e <entity>` or follow the interactive wizard.
1530
1533
 
1531
- #### Directory scan
1534
+ #### Attach to existing record (`--into`)
1532
1535
 
1533
1536
  ```bash
1534
- # Scan current directory for un-added files
1535
- dbo add .
1536
-
1537
- # Scan a specific directory
1538
- dbo add assets/
1537
+ # Attach a second file to the same record
1538
+ dbo adopt file2.css --into file1.metadata.json -e String6
1539
1539
  ```
1540
1540
 
1541
- Recursively finds files that either have no `.metadata.json` companion or have metadata without `_CreatedOn` (never been on the server). Lists them and prompts for confirmation before adding.
1542
-
1543
- When adding multiple files, the entity and column defaults from the first file are reused for subsequent files.
1544
-
1545
- #### After adding
1541
+ Adds `String6: "@file2.css"` to `file1.metadata.json` and appends `String6` to `_companionReferenceColumns`. No separate `file2.metadata.json` is created. Requires `-e <column>`.
1546
1542
 
1547
- After a successful add, the server returns a UID which is written back to the metadata file. To populate all server-side columns (like `_CreatedOn`, `Extension`, etc.), run:
1543
+ #### Directory mode
1548
1544
 
1549
1545
  ```bash
1550
- dbo pull -e content <uid>
1546
+ # Adopt all untracked media files in a directory
1547
+ dbo adopt lib/bins/app/assets/img/ -e media
1548
+
1549
+ # Adopt all untracked files in the entire project as media
1550
+ dbo adopt . -e media -y
1551
1551
  ```
1552
1552
 
1553
- #### Metadata generated by add
1553
+ Recursively finds files that have no `.metadata.json` companion (or have metadata without a UID/`_CreatedOn`). Lists them and prompts for confirmation before creating metadata. The `-e` flag is required in directory mode.
1554
+
1555
+ #### After adopting
1556
+
1557
+ After `dbo adopt`, run `dbo push` to insert the new record(s) on the server. Push detects metadata files without a UID and submits them as new inserts.
1554
1558
 
1555
- Minimal (no optional fields provided):
1559
+ #### Metadata generated by adopt
1560
+
1561
+ Content entity (auto-detected from `lib/bins/`):
1556
1562
  ```json
1557
1563
  {
1564
+ "_entity": "content",
1565
+ "_companionReferenceColumns": ["Content"],
1558
1566
  "Name": "colors",
1559
- "Path": "assets/css/colors.css",
1560
1567
  "Content": "@colors.css",
1561
- "_entity": "content",
1562
- "_companionReferenceColumns": ["Content"]
1568
+ "Extension": "CSS",
1569
+ "Path": "assets/css/colors.css",
1570
+ "Active": 1,
1571
+ "Public": 0,
1572
+ "BinID": 11045,
1573
+ "AppID": 10100
1563
1574
  }
1564
1575
  ```
1565
1576
 
1566
- With optional fields (only included if the user provides values during the wizard):
1577
+ Media entity:
1567
1578
  ```json
1568
1579
  {
1580
+ "_entity": "media",
1581
+ "_mediaFile": "@logo.png",
1582
+ "Name": "logo",
1583
+ "Filename": "logo.png",
1584
+ "Extension": "png",
1585
+ "Ownership": "App",
1586
+ "BinID": 11048,
1569
1587
  "AppID": 10100,
1570
- "BinID": 11045,
1571
- "SiteID": 10061,
1572
- "Name": "colors",
1573
- "Path": "assets/css/colors.css",
1574
- "Content": "@colors.css",
1575
- "_entity": "content",
1576
- "_companionReferenceColumns": ["Content"]
1588
+ "Path": "assets/img",
1589
+ "MimeType": "image/png",
1590
+ "FullPath": "/media/myapp/app/assets/img/logo.png"
1577
1591
  }
1578
1592
  ```
1579
1593
 
@@ -1581,18 +1595,15 @@ The `@colors.css` reference tells the CLI to read the file content from `colors.
1581
1595
 
1582
1596
  | Flag | Description |
1583
1597
  |------|-------------|
1584
- | `<path>` | File or `.` to scan current directory |
1585
- | `-C, --confirm <true\|false>` | Commit (default: `true`) |
1586
- | `--ticket <id>` | Override ticket ID |
1587
- | `--modify-key <key>` | Provide ModifyKey directly (skips interactive prompt) |
1588
- | `--row-key <type>` | Row key type (`RowUID` or `RowID`) — `add` always uses `RowID:add1` for new records regardless |
1589
- | `-y, --yes` | Auto-accept all prompts |
1590
- | `--json` | Output raw JSON |
1591
- | `--jq <expr>` | Filter JSON response |
1598
+ | `<path>` | File path, directory path, or `.` for current directory |
1599
+ | `-e, --entity <spec>` | Entity and optional column: `content`, `media`, `extension.widget`, `extension.String5`. Required in directory mode. |
1600
+ | `--into <metaPath>` | Attach file to an existing metadata record as an additional companion column (single-file only) |
1601
+ | `-y, --yes` | Skip all confirmation prompts |
1602
+ | `--domain <host>` | Override domain |
1592
1603
 
1593
1604
  #### Column filtering
1594
1605
 
1595
- The `add` and `push` commands never submit these server-managed columns:
1606
+ The `push` command never submits these server-managed columns (applies to records created by `adopt`):
1596
1607
  - `_CreatedOn`, `_LastUpdated` — set by the server
1597
1608
  - `_LastUpdatedUserID`, `_LastUpdatedTicketID` — session-provided values
1598
1609
  - `UID` — assigned by the server on insert
@@ -1602,7 +1613,7 @@ The `add` and `push` commands never submit these server-managed columns:
1602
1613
 
1603
1614
  ### Automatic error recovery
1604
1615
 
1605
- The `input`, `push`, and `add` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
1616
+ The `input` and `push` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
1606
1617
 
1607
1618
  #### Ticket error recovery
1608
1619
 
@@ -1728,7 +1739,7 @@ To bypass the interactive prompt entirely, pass `--modify-key <key>` on any subm
1728
1739
  ```bash
1729
1740
  dbo push . --modify-key mySecretKey
1730
1741
  dbo input -d '...' --modify-key mySecretKey
1731
- dbo add myfile.css --modify-key mySecretKey
1742
+ dbo push myfile.css --modify-key mySecretKey
1732
1743
  ```
1733
1744
 
1734
1745
  #### User identity required
@@ -1891,7 +1902,7 @@ This replaces the curl commands typically embedded in `package.json` scripts.
1891
1902
 
1892
1903
  #### Automatic deploy config generation
1893
1904
 
1894
- When you run `dbo clone` or `dbo add`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
1905
+ When you run `dbo clone` or `dbo adopt`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
1895
1906
 
1896
1907
  ```bash
1897
1908
  dbo clone # → .dbo/deploy_config.json auto-populated with one entry per companion file
package/bin/dbo.js CHANGED
@@ -24,7 +24,7 @@ import { instanceCommand } from '../src/commands/instance.js';
24
24
  import { deployCommand } from '../src/commands/deploy.js';
25
25
  import { pushCommand } from '../src/commands/push.js';
26
26
  import { pullCommand } from '../src/commands/pull.js';
27
- import { addCommand } from '../src/commands/add.js';
27
+ import { adoptCommand } from '../src/commands/adopt.js';
28
28
  import { installCommand } from '../src/commands/install.js';
29
29
  import { cloneCommand } from '../src/commands/clone.js';
30
30
  import { diffCommand } from '../src/commands/diff.js';
@@ -87,7 +87,7 @@ program.addCommand(instanceCommand);
87
87
  program.addCommand(deployCommand);
88
88
  program.addCommand(pushCommand);
89
89
  program.addCommand(pullCommand);
90
- program.addCommand(addCommand);
90
+ program.addCommand(adoptCommand);
91
91
  program.addCommand(installCommand);
92
92
  program.addCommand(cloneCommand);
93
93
  program.addCommand(diffCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dboio/cli",
3
- "version": "0.16.2",
3
+ "version": "0.17.0",
4
4
  "description": "CLI for the DBO.io framework",
5
5
  "type": "module",
6
6
  "bin": {
@@ -233,7 +233,7 @@ Use `dbo status` to see how many pending migrations exist.
233
233
  | Key | Values | Description |
234
234
  |-----|--------|-------------|
235
235
  | `domain` | hostname | DBO.io instance to connect to |
236
- | `AppID` | number | App ID (set by `dbo clone`, used by `dbo add`/`dbo input`) |
236
+ | `AppID` | number | App ID (set by `dbo clone`, used by `dbo adopt`/`dbo input`) |
237
237
  | `AppUID` | string | App UID |
238
238
  | `AppName` | string | App display name |
239
239
  | `AppShortName` | string | App short name (used for `dbo clone --app`) |
@@ -305,7 +305,7 @@ A gitignore-style file in the project root that controls which files and directo
305
305
 
306
306
  **Used by:**
307
307
  - `dbo init` — scaffold empty-check (determines if directory is "effectively empty")
308
- - `dbo add .` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo add file.html`)
308
+ - `dbo adopt ./` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo adopt file.html`)
309
309
  - `dbo push` — metadata file discovery: skips matching `.metadata.json` / `_output~*.json` files AND any record whose companion content file (`@reference`) matches an ignore pattern
310
310
 
311
311
  **Bypass:** Use `dbo input -d '...'` to submit expressions for a file that would otherwise be ignored — `dbo input` never does file discovery so `.dboignore` does not apply.
@@ -591,7 +591,7 @@ dbo clone -e extension # Clone all extensions (all
591
591
  dbo clone -e extension --descriptor-types false # Flat layout (no descriptor sorting)
592
592
  ```
593
593
 
594
- **`dbo add` auto-inference**: Running `dbo add docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `extension/documentation/` with the correct `@/` reference.
594
+ **`dbo adopt` auto-inference**: Running `dbo adopt docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `lib/extension/documentation/` with the correct `@/` reference.
595
595
 
596
596
  #### Output structure
597
597
 
@@ -749,11 +749,11 @@ During `dbo clone`, the CLI auto-generates `.dbo/metadata_schema.json` (formerly
749
749
  | `String10=@reference` | Content reference — links to the file being added |
750
750
  | `String5=@reference:@Name[js]` | Content reference with filename source and extension |
751
751
 
752
- `dbo add` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo add extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
752
+ `dbo adopt` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo adopt lib/extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
753
753
 
754
754
  #### `@reference` expression syntax
755
755
 
756
- The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo add`. The full grammar:
756
+ The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo adopt`. The full grammar:
757
757
 
758
758
  ```
759
759
  Column=@reference[:filenameSource][extPart][{title}]
@@ -1407,7 +1407,7 @@ Apply macOS Finder color tags or Linux gio emblems to companion files based on t
1407
1407
  |-----|-------|---------|
1408
1408
  | `dbo:Synced` | 🟢 Green | File matches server — no local changes |
1409
1409
  | `dbo:Modified` | 🔵 Blue | Local edits not yet pushed |
1410
- | `dbo:Untracked` | 🟡 Yellow | No metadata — not yet added with `dbo add` |
1410
+ | `dbo:Untracked` | 🟡 Yellow | No metadata — not yet adopted with `dbo adopt` |
1411
1411
  | `dbo:Trashed` | 🔴 Red | File is in the `trash/` directory |
1412
1412
 
1413
1413
  ```bash
@@ -1507,73 +1507,87 @@ The next `dbo push` processes all pending deletions before pushing file changes.
1507
1507
 
1508
1508
  ---
1509
1509
 
1510
- ### `dbo add`
1510
+ ### `dbo adopt`
1511
1511
 
1512
- Add a new file to DBO.io by creating a server record. Similar to `git add`, this registers a local file with the server.
1512
+ Create a metadata companion file for a local file, making it ready for server insertion on the next `dbo push`. This is a **local-only operation** no server requests are made.
1513
1513
 
1514
- Files matching `.dboignore` patterns are skipped — both in directory-scan mode (`dbo add .`) and single-file mode (`dbo add file.html`). Use `dbo input` to create a record for an ignored file directly.
1514
+ Files matching `.dboignore` patterns are skipped — both in directory mode (`dbo adopt ./`) and single-file mode (`dbo adopt file.html`). Use `dbo input` to create a record for an ignored file directly.
1515
1515
 
1516
1516
  #### Single file
1517
1517
 
1518
1518
  ```bash
1519
- # Add a file (interactive metadata setup if no .metadata.json exists)
1520
- dbo add assets/css/colors.css
1519
+ # Single file entity inferred from directory
1520
+ dbo adopt lib/bins/app/assets/css/colors.css
1521
1521
 
1522
- # Add with auto-accept prompts
1523
- dbo add assets/css/colors.css -y
1522
+ # Single file explicit entity
1523
+ dbo adopt lib/bins/app/assets/css/colors.css -e content
1524
1524
 
1525
- # Add with ticket ID
1526
- dbo add assets/css/colors.css --ticket abc123
1525
+ # Extension with explicit column
1526
+ dbo adopt lib/extension/widget/button.html -e extension.String5
1527
+
1528
+ # Skip all confirmation prompts
1529
+ dbo adopt lib/bins/app/assets/css/colors.css -e content -y
1527
1530
  ```
1528
1531
 
1529
- If the file has no companion `.metadata.json`, an interactive wizard prompts for the entity name, content column, AppID, BinID, SiteID, and Path. It then creates the metadata file and submits the insert.
1532
+ If the file lives in a recognized directory (e.g. `lib/bins/`, `lib/extension/`, `docs/`), the entity is auto-inferred via `resolveDirective()`. Otherwise, pass `-e <entity>` or follow the interactive wizard.
1530
1533
 
1531
- #### Directory scan
1534
+ #### Attach to existing record (`--into`)
1532
1535
 
1533
1536
  ```bash
1534
- # Scan current directory for un-added files
1535
- dbo add .
1536
-
1537
- # Scan a specific directory
1538
- dbo add assets/
1537
+ # Attach a second file to the same record
1538
+ dbo adopt file2.css --into file1.metadata.json -e String6
1539
1539
  ```
1540
1540
 
1541
- Recursively finds files that either have no `.metadata.json` companion or have metadata without `_CreatedOn` (never been on the server). Lists them and prompts for confirmation before adding.
1542
-
1543
- When adding multiple files, the entity and column defaults from the first file are reused for subsequent files.
1544
-
1545
- #### After adding
1541
+ Adds `String6: "@file2.css"` to `file1.metadata.json` and appends `String6` to `_companionReferenceColumns`. No separate `file2.metadata.json` is created. Requires `-e <column>`.
1546
1542
 
1547
- After a successful add, the server returns a UID which is written back to the metadata file. To populate all server-side columns (like `_CreatedOn`, `Extension`, etc.), run:
1543
+ #### Directory mode
1548
1544
 
1549
1545
  ```bash
1550
- dbo pull -e content <uid>
1546
+ # Adopt all untracked media files in a directory
1547
+ dbo adopt lib/bins/app/assets/img/ -e media
1548
+
1549
+ # Adopt all untracked files in the entire project as media
1550
+ dbo adopt . -e media -y
1551
1551
  ```
1552
1552
 
1553
- #### Metadata generated by add
1553
+ Recursively finds files that have no `.metadata.json` companion (or have metadata without a UID/`_CreatedOn`). Lists them and prompts for confirmation before creating metadata. The `-e` flag is required in directory mode.
1554
+
1555
+ #### After adopting
1556
+
1557
+ After `dbo adopt`, run `dbo push` to insert the new record(s) on the server. Push detects metadata files without a UID and submits them as new inserts.
1554
1558
 
1555
- Minimal (no optional fields provided):
1559
+ #### Metadata generated by adopt
1560
+
1561
+ Content entity (auto-detected from `lib/bins/`):
1556
1562
  ```json
1557
1563
  {
1564
+ "_entity": "content",
1565
+ "_companionReferenceColumns": ["Content"],
1558
1566
  "Name": "colors",
1559
- "Path": "assets/css/colors.css",
1560
1567
  "Content": "@colors.css",
1561
- "_entity": "content",
1562
- "_companionReferenceColumns": ["Content"]
1568
+ "Extension": "CSS",
1569
+ "Path": "assets/css/colors.css",
1570
+ "Active": 1,
1571
+ "Public": 0,
1572
+ "BinID": 11045,
1573
+ "AppID": 10100
1563
1574
  }
1564
1575
  ```
1565
1576
 
1566
- With optional fields (only included if the user provides values during the wizard):
1577
+ Media entity:
1567
1578
  ```json
1568
1579
  {
1580
+ "_entity": "media",
1581
+ "_mediaFile": "@logo.png",
1582
+ "Name": "logo",
1583
+ "Filename": "logo.png",
1584
+ "Extension": "png",
1585
+ "Ownership": "App",
1586
+ "BinID": 11048,
1569
1587
  "AppID": 10100,
1570
- "BinID": 11045,
1571
- "SiteID": 10061,
1572
- "Name": "colors",
1573
- "Path": "assets/css/colors.css",
1574
- "Content": "@colors.css",
1575
- "_entity": "content",
1576
- "_companionReferenceColumns": ["Content"]
1588
+ "Path": "assets/img",
1589
+ "MimeType": "image/png",
1590
+ "FullPath": "/media/myapp/app/assets/img/logo.png"
1577
1591
  }
1578
1592
  ```
1579
1593
 
@@ -1581,18 +1595,15 @@ The `@colors.css` reference tells the CLI to read the file content from `colors.
1581
1595
 
1582
1596
  | Flag | Description |
1583
1597
  |------|-------------|
1584
- | `<path>` | File or `.` to scan current directory |
1585
- | `-C, --confirm <true\|false>` | Commit (default: `true`) |
1586
- | `--ticket <id>` | Override ticket ID |
1587
- | `--modify-key <key>` | Provide ModifyKey directly (skips interactive prompt) |
1588
- | `--row-key <type>` | Row key type (`RowUID` or `RowID`) — `add` always uses `RowID:add1` for new records regardless |
1589
- | `-y, --yes` | Auto-accept all prompts |
1590
- | `--json` | Output raw JSON |
1591
- | `--jq <expr>` | Filter JSON response |
1598
+ | `<path>` | File path, directory path, or `.` for current directory |
1599
+ | `-e, --entity <spec>` | Entity and optional column: `content`, `media`, `extension.widget`, `extension.String5`. Required in directory mode. |
1600
+ | `--into <metaPath>` | Attach file to an existing metadata record as an additional companion column (single-file only) |
1601
+ | `-y, --yes` | Skip all confirmation prompts |
1602
+ | `--domain <host>` | Override domain |
1592
1603
 
1593
1604
  #### Column filtering
1594
1605
 
1595
- The `add` and `push` commands never submit these server-managed columns:
1606
+ The `push` command never submits these server-managed columns (applies to records created by `adopt`):
1596
1607
  - `_CreatedOn`, `_LastUpdated` — set by the server
1597
1608
  - `_LastUpdatedUserID`, `_LastUpdatedTicketID` — session-provided values
1598
1609
  - `UID` — assigned by the server on insert
@@ -1602,7 +1613,7 @@ The `add` and `push` commands never submit these server-managed columns:
1602
1613
 
1603
1614
  ### Automatic error recovery
1604
1615
 
1605
- The `input`, `push`, and `add` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
1616
+ The `input` and `push` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
1606
1617
 
1607
1618
  #### Ticket error recovery
1608
1619
 
@@ -1728,7 +1739,7 @@ To bypass the interactive prompt entirely, pass `--modify-key <key>` on any subm
1728
1739
  ```bash
1729
1740
  dbo push . --modify-key mySecretKey
1730
1741
  dbo input -d '...' --modify-key mySecretKey
1731
- dbo add myfile.css --modify-key mySecretKey
1742
+ dbo push myfile.css --modify-key mySecretKey
1732
1743
  ```
1733
1744
 
1734
1745
  #### User identity required
@@ -1891,7 +1902,7 @@ This replaces the curl commands typically embedded in `package.json` scripts.
1891
1902
 
1892
1903
  #### Automatic deploy config generation
1893
1904
 
1894
- When you run `dbo clone` or `dbo add`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
1905
+ When you run `dbo clone` or `dbo adopt`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
1895
1906
 
1896
1907
  ```bash
1897
1908
  dbo clone # → .dbo/deploy_config.json auto-populated with one entry per companion file