uc-apx search
uc-apx search <term> scans every node in the app for a case-insensitive substring match. It searches node IDs, all property values, and SQL/PL-SQL code blocks recursively. A single broad term can match hundreds of nodes; use --kind to narrow by construct type or --group to get a kind-level summary first.
uc-apx search <term> [flags]| Flag | Type | Default | Description |
|---|---|---|---|
--kind | string | Filter results to a specific construct kind (e.g. region, lov, page, pageItem) | |
--limit | int | 0 | Cap the number of flat results returned (0 = unlimited; ignored in grouped mode) |
--group | Return a grouped-by-kind summary instead of a flat list |
Global Flags
Section titled “Global Flags”| Flag | Type | Default | Description |
|---|---|---|---|
--app-dir | string | . | Path to the APEX application directory |
--json | Output in JSON format instead of TOON |
Auto-grouping
Section titled “Auto-grouping”--kind and --group are mutually exclusive — passing both returns an error.
Example: focused search (flat output)
Section titled “Example: focused search (flat output)”A specific term that matches only a handful of nodes returns a flat array directly.
uc-apx --app-dir examples/brookstrut search food-types[2]{kind,id,name,file,line}: pageItem,P12_ITEM_TYPE,P12_ITEM_TYPE,pages/p00012.apx,140 lov,food-types,FOOD TYPES,shared-components/lovs.apx,62JSON output
[ { "kind": "pageItem", "id": "P12_ITEM_TYPE", "name": "P12_ITEM_TYPE", "file": "pages/p00012.apx", "line": 140 }, { "kind": "lov", "id": "food-types", "name": "FOOD TYPES", "file": "shared-components/lovs.apx", "line": 62 }]Example: broad search (auto-grouped)
Section titled “Example: broad search (auto-grouped)”A broad term like store matches 173 nodes across 24 kinds. The output switches automatically to a grouped summary — each group shows up to 3 example nodes.
uc-apx --app-dir examples/brookstrut search storetotalCount: 173groups[24]: - kind: column count: 54 examples[3]{id,name,file,line}: STORE,STORE,pages/p00002-sales-history-content-row.apx,344 STORE_ID,STORE_ID,pages/p00002-sales-history-content-row.apx,354 STORE_NAME,STORE_NAME,pages/p00003.apx,212 - kind: region count: 31 examples[3]{id,name,file,line}: sales-history,Sales History,pages/p00002-sales-history-content-row.apx,181 store-performance,Store Performance,pages/p00003.apx,52 store-products,Store Products,pages/p00003.apx,241 - kind: entry count: 16 ...JSON output (truncated to top 2 groups)
{ "totalCount": 173, "groups": [ { "kind": "column", "count": 54, "examples": [ { "id": "STORE", "name": "STORE", "file": "pages/p00002-sales-history-content-row.apx", "line": 344 }, { "id": "STORE_ID", "name": "STORE_ID", "file": "pages/p00002-sales-history-content-row.apx", "line": 354 }, { "id": "STORE_NAME", "name": "STORE_NAME", "file": "pages/p00003.apx", "line": 212 } ] }, { "kind": "region", "count": 31, "examples": [ { "id": "sales-history", "name": "Sales History", "file": "pages/p00002-sales-history-content-row.apx", "line": 181 }, { "id": "store-performance", "name": "Store Performance", "file": "pages/p00003.apx", "line": 52 }, { "id": "store-products", "name": "Store Products", "file": "pages/p00003.apx", "line": 241 } ] } ]}Example: kind-filtered
Section titled “Example: kind-filtered”Once you know which kind you want from the grouped summary, use --kind to get all matching nodes of that type as a flat array.
uc-apx --app-dir examples/brookstrut search store --kind region[31]{kind,id,name,file,line}: region,sales-history,Sales History,pages/p00002-sales-history-content-row.apx,181 region,store-performance,Store Performance,pages/p00003.apx,52 region,store-products,Store Products,pages/p00003.apx,241 region,facets,Facets,pages/p00006-stores-report-content-row.apx,47 region,stores,Stores,pages/p00006-stores-report-content-row.apx,135 ...JSON output (first 3 results)
[ { "kind": "region", "id": "sales-history", "name": "Sales History", "file": "pages/p00002-sales-history-content-row.apx", "line": 181 }, { "kind": "region", "id": "store-performance", "name": "Store Performance", "file": "pages/p00003.apx", "line": 52 }, { "kind": "region", "id": "store-products", "name": "Store Products", "file": "pages/p00003.apx", "line": 241 }]Example: grouped overview with —group
Section titled “Example: grouped overview with —group”Use --group to explicitly request the grouped schema regardless of how many results there are. Useful for a quick kind breakdown before deciding where to look.
uc-apx --app-dir examples/brookstrut search food --grouptotalCount: 4groups[3]: - kind: entry count: 2 examples[2]{id,name,file,line}: food,food,shared-components/lovs.apx,74 food,food,shared-components/lovs.apx,231 - kind: lov count: 1 examples[1]{id,name,file,line}: food-types,FOOD TYPES,shared-components/lovs.apx,62 - kind: pageItem count: 1 examples[1]{id,name,file,line}: P12_ITEM_TYPE,P12_ITEM_TYPE,pages/p00012.apx,140JSON output
{ "totalCount": 4, "groups": [ { "kind": "entry", "count": 2, "examples": [ { "id": "food", "name": "food", "file": "shared-components/lovs.apx", "line": 74 }, { "id": "food", "name": "food", "file": "shared-components/lovs.apx", "line": 231 } ] }, { "kind": "lov", "count": 1, "examples": [ { "id": "food-types", "name": "FOOD TYPES", "file": "shared-components/lovs.apx", "line": 62 } ] }, { "kind": "pageItem", "count": 1, "examples": [ { "id": "P12_ITEM_TYPE", "name": "P12_ITEM_TYPE", "file": "pages/p00012.apx", "line": 140 } ] } ]}Example: find SQL/PL-SQL usage
Section titled “Example: find SQL/PL-SQL usage”Search scans inside code blocks, so it finds table names referenced in queries — not just component names or IDs.
uc-apx --app-dir examples/customers search eba_cust_customers --kind region[38]{kind,id,name,file,line}: region,customer-summary-with-references-no-products,Customer Summary (with References & No Products),pages/p00001-dashboard.apx,48 region,customer-summary-with-references-products-but-no-issues,"Customer Summary (with References, Products, But No Issues)",pages/p00001-dashboard.apx,173 region,customer-summary-with-references-products-issues,"Customer Summary (with References, Products, & Issues)",pages/p00001-dashboard.apx,313 ...JSON output (first 2 results)
[ { "kind": "region", "id": "customer-summary-with-references-no-products", "name": "Customer Summary (with References & No Products)", "file": "pages/p00001-dashboard.apx", "line": 48 }, { "kind": "region", "id": "customer-summary-with-references-products-but-no-issues", "name": "Customer Summary (with References, Products, But No Issues)", "file": "pages/p00001-dashboard.apx", "line": 173 }]