PageSourceSearch

https://dbdeux-docs.web.app/assets/js/7bb1691b.f4aadefc.js

js dbdeux-docs.web.app collected 2026-10-03 12:21:20 UTC 23,354 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdbdeux_docs=self.webpackChunkdbdeux_docs||[]).push([["3526"],{6503(e,s,t){t.r(s),t.d(s,{metadata:()=>n,default:()=>M,frontMatter:()=>L,contentTitle:()=>E,toc:()=>F,assets:()=>q});var n=JSON.parse('{"id":"features/global-search","title":"Search Anything","description":"One search box sits in the header of every page, and Ctrl + K (Cmd + K on a Mac) opens it from anywhere. Type what you remember, a model name, a column, a warehouse table, a job, a person, a line of SQL, and the results arrive grouped by what they are, each one with its current state and the actions you would take next. You never have to know which page a thing lives on before you can find it.","source":"@site/docs/features/global-search.mdx","sourceDirName":"features","slug":"/features/global-search","permalink":"/docs/features/global-search","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1.5,"frontMatter":{"sidebar_position":1.5},"sidebar":"docsSidebar","previous":{"title":"Cloud IDE","permalink":"/docs/features/ide"},"next":{"title":"DAG Explorer","permalink":"/docs/features/dag-explorer"}}'),r=t(4848),o=t(8453),i=t(6540);let d=[{query:"",step:"Press Ctrl or Cmd + K anywhere, or click Search anything in the header",syntax:!0,hits:[{group:"Recently opened",title:"fct_orders",sub:"Model \xb7 marts"},{group:"Recent searches",title:"col: order_id",sub:""}]},{query:"fct_ordrs",step:"A typo still finds it: close matches are marked so you know",hits:[{group:"Catalog",title:"fct_orders",sub:"Model \xb7 marts \xb7 12 columns",fuzzy:!0,chips:[{text:"last run passed \xb7 4.2s",tone:"ok"},{text:"changed on your branch",tone:"warn"}],actions:["Show in DAG","Preview","Run","Test","Compiled SQL"]},{group:"Files",title:"models/marts/fct_orders.sql",sub:"Opens in the editor",fuzzy:!0},{group:"Scheduled jobs",title:"Nightly marts build",sub:"Runs fct_orders+",chips:[{text:"last run failed",tone:"bad"}],actions:["Run now","Failure summary"]}]},{query:"col: order_id",step:"Prefixes narrow the search: col: finds every model and warehouse table with that column",hits:[{group:"Columns",title:"order_id",sub:"fct_orders \xb7 number",actions:["Lineage"]},{group:"Columns",title:"order_id",sub:"stg_orders \xb7 number",actions:["Lineage"]},{group:"Warehouse objects",title:"ANALYTICS.MARTS.FCT_ORDERS.ORDER_ID",sub:"Column \xb7 Snowflake"}]},{query:"sql: surrogate_key",step:"sql: searches inside your SQL and YAML, and the compiled SQL of the last build, line by line",hits:[{group:"Code",title:"models/marts/dim_customers.sql",sub:"L14  {{ dbt_utils.generate_surrogate_key([...]) }}",actions:["Open at line 14"]},{group:"Code",title:"models/marts/fct_orders.sql",sub:"L9   {{ dbt_utils.generate_surrogate_key([...]) }}",actions:["Open at line 9"]},{group:"Code",title:"compiled \xb7 dim_customers",sub:"L22  md5(cast(coalesce(cast(customer_id ...",chips:[{text:"last build",tone:"muted"}],actions:["Open compiled SQL"]}]},{query:"why did the nightly build fail?",step:"Ask a question, or get few results, and Atlas is one Enter away with the same words",hits:[{group:"Runs",title:"Nightly marts build \xb7 #482",sub:"Failed \xb7 2h ago",chips:[{text:"failed",tone:"bad"}],actions:["Failure summary"]}],ask:"Ask Atlas: why did the nightly build fail?"},{query:"> notif",step:"Type > for commands: jump to any page or setting, toggle the theme, see shortcuts",hits:[{group:"Commands",title:"Organization settings: Notifications",sub:"Slack, Teams, rules, digest"},{group:"Commands",title:"Go to Scheduled Jobs",sub:"Alt 5"},{group:"Commands",title:"Toggle light / dark theme",sub:"Ctrl J"}]}],a={ok:{bg:"#23863626",fg:"#3fb950"},bad:{bg:"#f8514926",fg:"#f85149"},warn:{bg:"#d2992226",fg:"#d29922"},muted:{bg:"#30363d",fg:"#8b949e"}},l={maxWidth:800,margin:"2rem auto",borderRadius:12,overflow:"hidden",background:"#0d1117",border:"1px solid #21262d",boxShadow:"0 20px 40px rgba(0,0,0,0.25)",fontFamily:"system-ui, -apple-system, sans-serif"},c={display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,padding:"10px 16px",background:"#161b22",borderBottom:"1px solid #21262d",flexWrap:"wrap"},h={fontSize:13,fontWeight:600,color:"#e6edf3"},x={fontSize:11,color:"#8b949e",transition:"opacity 0.4s ease",textAlign:"right",flex:1,minWidth:200},u={display:"flex",alignItems:"center",gap:10,margin:"14px 16px 0",padding:"10px 14px",borderRadius:8,background:"#161b22",border:"1px solid #388bfd",boxShadow:"0 0 0 1px #388bfd55"},p={fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:13,color:"#e6edf3",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},j={display:"inline-block",width:1.5,height:14,background:"#58a6ff",marginLeft:2,verticalAlign:"middle"}
1,g={fontSize:10,color:"#8b949e",border:"1px solid #30363d",borderRadius:4,padding:"1px 5px",whiteSpace:"nowrap"},f={fontSize:10,color:"#8b949e",whiteSpace:"nowrap"},m={padding:"10px 16px 16px",display:"flex",flexDirection:"column",gap:4,minHeight:250},y={fontSize:10,color:"#8b949e",textTransform:"uppercase",letterSpacing:.6,marginTop:6,padding:"0 6px"},b={display:"flex",flexDirection:"column",gap:4,padding:"7px 8px",borderRadius:6,transition:"background 0.4s ease, opacity 0.5s ease, transform 0.5s ease"},w={display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},v={fontSize:12,color:"#e6edf3",fontWeight:600},k={fontSize:10.5,color:"#8b949e",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"},S={fontSize:9.5,padding:"1px 6px",borderRadius:999,fontWeight:600,whiteSpace:"nowrap"},C={fontSize:9.5,color:"#d29922",whiteSpace:"nowrap"},R={display:"flex",gap:5,flexWrap:"wrap"},T={fontSize:9.5,padding:"1px 7px",borderRadius:4,border:"1px solid #30363d",color:"#c9d1d9"},_={marginTop:8,padding:"8px 10px",borderRadius:6,border:"1px dashed #bc8cff",background:"#bc8cff14",fontSize:11,color:"#e6edf3",display:"flex",justifyContent:"space-between",gap:8,flexWrap:"wrap"},A={marginTop:8,padding:"8px 10px",borderRadius:6,border:"1px solid #21262d",fontSize:10,color:"#8b949e",lineHeight:1.6,display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"0 12px"},W={fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"#c9d1d9",marginRight:6};function z(){let e=(0,i.useRef)(null),[s,t]=(0,i.useState)(!1),[n,o]=(0,i.useState)(0);(0,i.useEffect)(()=>{let s=e.current;if(!s)return;let n=new IntersectionObserver(e=>{e[0].isIntersecting&&t(!0)},{threshold:.15});return n.observe(s),()=>n.disconnect()},[]),(0,i.useEffect)(()=>{if(!s)return;let e=setInterval(()=>o(e=>(e+1)%d.length),3200);return()=>clearInterval(e)},[s]);let z=d[n],L="";return(0,r.jsxs)("div",{ref:e,style:l,children:[(0,r.jsxs)("div",{style:c,children:[(0,r.jsx)("span",{style:h,children:"Search anything"}),(0,r.jsx)("span",{style:{...x,opacity:+!!s},children:z.step})]}),(0,r.jsxs)("div",{style:u,children:[(0,r.jsx)("span",{style:{color:"#58a6ff",fontSize:13},children:"\u2315"}),(0,r.jsxs)("span",{style:p,children:[z.query||(0,r.jsx)("span",{style:{color:"#484f58"},children:"Search files, models, columns, tables, jobs, runs, people... or type > for commands"}),(0,r.jsx)("span",{style:j})]}),(0,r.jsx)("span",{style:f,children:"This project"}),(0,r.jsx)("span",{style:g,children:"Ctrl K"})]}),(0,r.jsxs)("div",{style:m,children:[z.hits.map((e,s)=>{let t=e.group!==L;return L=e.group,(0,r.jsxs)(i.Fragment,{children:[t&&(0,r.jsx)("div",{style:y,children:e.group}),(0,r.jsxs)("div",{style:{...b,background:0===s?"#388bfd1f":"transparent",transitionDelay:`${80*s}ms`},children:[(0,r.jsxs)("div",{style:w,children:[(0,r.jsx)("span",{style:v,children:e.title}),e.fuzzy&&(0,r.jsx)("span",{style:C,children:"~ close match"}),e.chips?.map(e=>(0,r.jsx)("span",{style:{...S,background:a[e.tone].bg,color:a[e.tone].fg},children:e.text},e.text))]}),e.sub&&(0,r.jsx)("span",{style:k,children:e.sub}),e.actions&&(0,r.jsx)("div",{style:R,children:e.actions.map(e=>(0,r.jsx)("span",{style:T,children:e},e))})]})]},`${n}-${s}`)}),z.ask&&(0,r.jsxs)("div",{style:_,children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:{color:"#bc8cff",fontWeight:600},children:"Or ask Atlas \xb7 "}),z.ask]}),(0,r.jsx)("span",{style:g,children:"Enter"})]}),z.syntax&&(0,r.jsxs)("div",{style:A,children:[(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:">"}),"commands and pages"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:"@"}),"owned by a person"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:"#finance"}),"everything tagged"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:"col:"}),"column name"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:"sql:"}),"inside your code"]}),(0,r.jsxs)("span",{children:[(0,r.jsx)("span",{style:W,children:"run: failed"}),"runs by status"]})]})]},n)]})}let L={sidebar_position:1.5},E="Search Anything",q={},F=[{value:"What It Finds",id:"what-it-finds",level:2},{value:"Close Enough Counts",id:"close-enough-counts",level:2},{value:"Narrow With a Prefix",id:"narrow-with-a-prefix",level:2},{value:"Searching Inside Your Code",id:"searching-inside-your-code",level:2},{value:"Results Carry Their Current State",id:"results-carry-their-current-state",level:2},{value:"When Search Is Not the Right Tool",id:"when-search-is-not-the-right-tool",level:2},{value:"Commands and Pages",id:"commands-and-pages",level:2},{value:"How It Compares",id:"how-it-compares",level:2}];function I(e){let s={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"search-anything",children:"Search Anything"})}),"\n",(0,r.jsxs)(s.p,{children:["One search box sits in the header of every page, and ",(0,r.jsx)(s.code,{children:"Ctrl + K"})," (",(0,r.jsx)(s.code,{children:"Cmd + K"})," on a Mac) opens it from anywhere. Type what you remember, a model name, a column, a warehouse table, a job, a person, a line of SQL, and the results arrive grouped by what they are, each one with its current state and the actions you would take next. You never have to know which page a thing lives on before you can find it."]}),"\n",(0,r.jsx)(z,{}),"\n",(0,r.jsx)(s.h2,{id:"what-it-finds",children:"What It Finds"}),"\n",(0,r.jsx)(s.p,{children:"Results come back in groups, in a fixed order so your eye learns where to look:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Group"}),(0,r.jsx)(s.th,{children:"What is in it"}),(0,r.jsx)(s.th,{children:"Enter opens"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Files"})}),(0,r.jsx)(s.td,{children:"Files in your project on the branch you are working on"}),(0,r.jsx)(s.td,{children:"The editor, on that file"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Code"})}),(0,r.jsx)(s.td,{children:"Lines inside your SQL and YAML, and in the compiled SQL of the last build"}),(0,r.jsx)(s.td,{children:"The editor at that exact line"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Catalog"})}),(0,r.jsx)(s.td,{children:"Models, sources, seeds, snapshots, tests, exposures, metrics, macros, and dbt 2.0 functions"}),(0,r.jsxs)(s.td,{children:["The object in ",(0,r.jsx)(s.a,{href:"/docs/features/atlas-catalog",children:"Atlas Catalog"})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Columns"})}),(0,r.jsx)(s.td,{children:"Columns across catalog models and warehouse tables"}),(0,r.jsx)(s.td,{children:"The column, with its lineage one click away"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Warehouse objects"})}),(0,r.jsx)(s.td,{children:"Tables, views, and columns in your connected warehouses, including connections you have never expanded"}),(0,r.jsxs)(s.td,{children:["The ",(0,r.jsx)(s.a,{href:"/docs/features/database-explorer",children:"Database Explorer"}),", selected"]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.strong,{children:"Scheduled jobs"})," and ",(0,r.jsx)(s.strong,{children:"Runs"})]}),(0,r.jsx)(s.td,{children:"Jobs by name or tag, runs by status or number"}),(0,r.jsx)(s.td,{children:"The job, or the run with its log"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.strong,{children:"Environments"}),", ",(0,r.jsx)(s.strong,{children:"Connections"}),", ",(0,r.jsx)(s.strong,{children:"Projects"}
1),", ",(0,r.jsx)(s.strong,{children:"Workspaces"})]}),(0,r.jsx)(s.td,{children:"Your workspace's setup"}),(0,r.jsx)(s.td,{children:"The matching settings page"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"People"})}),(0,r.jsx)(s.td,{children:"Members of your organization"}),(0,r.jsx)(s.td,{children:"Their profile and what they own"})]})]})]}),"\n",(0,r.jsxs)(s.p,{children:["Pick a ",(0,r.jsx)(s.strong,{children:"scope"})," at the right of the box: this project, this workspace, or the whole organization. It starts at the narrowest scope that makes sense for where you are and remembers the project you were last in."]}),"\n",(0,r.jsx)(s.h2,{id:"close-enough-counts",children:"Close Enough Counts"}),"\n",(0,r.jsxs)(s.p,{children:["A typo does not send you back to the box. ",(0,r.jsx)(s.code,{children:"fct_ordrs"})," still finds ",(0,r.jsx)(s.code,{children:"fct_orders"}),"; the row is marked ",(0,r.jsx)(s.strong,{children:"~ close match"})," so you can tell an exact hit from a near one. Wrap a phrase in quotes for an exact match, and combine alternatives with ",(0,r.jsx)(s.code,{children:"OR"}),"."]}),"\n",(0,r.jsx)(s.h2,{id:"narrow-with-a-prefix",children:"Narrow With a Prefix"}),"\n",(0,r.jsxs)(s.p,{children:["Plain text searches everything. A prefix narrows the search to one kind of thing. Click ",(0,r.jsx)(s.strong,{children:"Search syntax"})," at the bottom of the box for the full list, and click any prefix to insert it:"]}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Prefix"}),(0,r.jsx)(s.th,{children:"Finds"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"col: order_id"})}),(0,r.jsx)(s.td,{children:"Every model and warehouse table with that column"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"sql: surrogate_key"})," or ",(0,r.jsx)(s.code,{children:"code:"})]}),(0,r.jsx)(s.td,{children:"Every file and compiled model containing that text, with the matching lines"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"model: fct_"})}),(0,r.jsxs)(s.td,{children:["Models by name, also ",(0,r.jsx)(s.code,{children:"source:"}),", ",(0,r.jsx)(s.code,{children:"seed:"}),", ",(0,r.jsx)(s.code,{children:"snapshot:"}),", ",(0,r.jsx)(s.code,{children:"test:"}),", ",(0,r.jsx)(s.code,{children:"exposure:"}),", ",(0,r.jsx)(s.code,{children:"metric:"}),", ",(0,r.jsx)(s.code,{children:"macro:"}),", ",(0,r.jsx)(s.code,{children:"function:"})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"@maria"})}),(0,r.jsxs)(s.td,{children:["Everything owned by a person, from catalog owners or dbt ",(0,r.jsx)(s.code,{children:"meta"})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"#finance"})}),(0,r.jsx)(s.td,{children:"Everything carrying a tag"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"run: failed"})}),(0,r.jsxs)(s.td,{children:["Recent runs by status or number, also ",(0,r.jsx)(s.code,{children:"job:"}),", ",(0,r.jsx)(s.code,{children:"env:"}),", ",(0,r.jsx)(s.code,{children:"conn:"}),", ",(0,r.jsx)(s.code,{children:"db:"}),", ",(0,r.jsx)(s.code,{children:"project:"}),", ",(0,r.jsx)(s.code,{children:"workspace:"})]})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:">"})}),(0,r.jsx)(s.td,{children:"Commands: go to a page, open a settings tab, toggle the theme, list shortcuts"})]})]})]}),"\n",(0,r.jsx)(s.h2,{id:"searching-inside-your-code",children:"Searching Inside Your Code"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:"sql:"})," and ",(0,r.jsx)(s.code,{children:"code:"})," look inside the text of your project, not just at names. Every hit shows the line number and the line itself, so you can tell which occurrence you want before you open anything:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Hits on your ",(0,r.jsx)(s.strong,{children:"branch"})," open in the editor with the cursor on that line"]}),"\n",(0,r.jsxs)(s.li,{children:["Hits in the ",(0,r.jsx)(s.strong,{children:"compiled SQL"})," of the last build open the read-only compiled version, so you can see exactly what ran, macros expanded and all"]}),"\n",(0,r.jsx)(s.li,{children:"A hit in the source of the last build opens the authored file, with a note that the line may have moved since that build"}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:'"Which models still use the old surrogate key macro" is a two-second question instead of a project-wide grep followed by a walk through the results.'}),"\n",(0,r.jsx)(s.h2,{id:"results-carry-their-current-state",children:"Results Carry Their Current State"}),"\n",(0,r.jsx)(s.p,{children:"A result is not just a name. Where dbdeux knows the state of a thing, it shows it on the row so you can act without opening it:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Models"}),": whether the last run passed or failed and how long it took, freshness for sources, the owner, and a ",(0,r.jsx)(s.strong,{children:"changed on your branch"})," marker when the file differs from the default branch"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Jobs and runs"}),": last run status and time, and a ",(0,r.jsx)(s.strong,{children:"Frozen"})," note when ",(0,r.jsx)(s.a,{href:"/docs/features/scheduling#maintenance-mode",children:"maintenance mode"})," is on for the workspace"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Warehouse objects"}),": the connection and type"]}),"\n"]}),"\n",(0,r.jsxs)(s.p,{children:["Under each result are the actions you would take next. A model offers ",(0,r.jsx)(s.strong,{children:"Show in DAG"}),", ",(0,r.jsx)(s.strong,{children:"Preview"}),", ",(0,r.jsx)(s.strong,{children:"Run"}),", ",(0,r.jsx)(s.strong,{children:"Test"}),", and ",(0,r.jsx)(s.strong,{children:"Compiled SQL"}),"; a column offers ",(0,r.jsx)(s.strong,{children:"Lineage"}),"; a job whose last run failed offers ",(0,r.jsx)(s.strong,{children:"Run now"})," and ",(0,r.jsx)(s.strong,{children:"Failure summary"}),"; an environment offers its ",(0,r.jsx)(s.strong,{children:"Variables"}),", ",(0,r.jsx)(s.strong,{children:"Validate"}),", and ",(0,r.jsx)(s.strong,{children:"Test connection"})," tabs directly. Run and Test hand the selector to the editor's run toolbar with the target already filled in, so you confirm rather than retype."]}),"\n",(0,r.jsx)(s.h2,{id:"when-search-is-not-the-right-tool",children:"When Search Is Not the Right Tool"}),"\n",(0,r.jsxs)(s.p,{children:["Sometimes what you typed is a question, not a name. If the query reads like one, or the results are thin or empty, the last row offers ",(0,r.jsx)(s.strong,{children:"Ask Atlas"})," with the same words. Press Enter and ",(0,r.jsx)(s.a,{href:"/docs/features/atlas-ai",children:"Atlas"})," opens with your question already sent, grounded in the project you were searching. You do not have to decide up front whether to search or to ask."]}),"\n",(0,r.jsx)(s.h2,{id:"commands-and-pages",children:"Commands and Pages"}),"\n",(0,r.jsxs)(s.p,{children:["Type ",(0,r.jsx)(s.code,{children:">"})," and the box becomes a command list: go to any page (",(0,r.jsx)(s.strong,{children:"Go to Scheduled Jobs"}),", ",(0,r.jsx)(s.strong,{children:"Go to Atlas Catalog"}),"), open a specific settings tab (",(0,r.jsx)(s.strong,{children:"Organization settings: Notifications"}),", ",(0,r.jsx)(s.strong,{children:"Project settings: Slimmer CI"}),", ",(0,r.jsx)(s.strong,{children:"User preferences"}),"), create a new environment, toggle light and dark theme, hide the sidebar, or show the keyboard shortcuts. Each command shows its shortcut where one exists, so the list doubles as a way to learn them."]}),"\n",(0,r.jsx)(s.p,{children:"The box remembers what you opened and what you searched for recently, so the empty state is usually the fastest route back to the thing you were just looking at. Both lists can be cleared with one click."}),"\n",(0,r.jsx)(s.h2,{id:"how-it-compares",children:"How It Compares"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{}),(0,r.jsx)(s.th,{children:"dbdeux"}),(0,r.jsx)(s.th,{children:"Separate tools"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"One box for everything"})}),(0,r.jsx)(s.td,{children:"Files, code, catalog, warehouse, jobs, runs, people, and settings from one shortcut on every page"}),(0,r.jsx)(s.td,{children:"Editor search for files, a catalog search for models, a warehouse console for tables, a scheduler for jobs"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Searching inside compiled SQL"})}),(0,r.jsx)(s.td,{children:"Line hits in the SQL that actually ran, opened read-only"}),(0,r.jsx)(s.td,{children:"Download artifacts and grep them"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Typos"})}),(0,r.jsx)(s.td,{children:"Close matches found and marked"}),(0,r.jsx)(s.td,{children:"Exact match or nothing"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"State on the row"})}),(0,r.jsx)(s.td,{children:"Last run, duration, freshness, owner, branch changes, frozen"}),(0,r.jsx)(s.td,{children:"Open the object to find out"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Act from the result"})}),(0,r.jsx)(s.td,{children:"Run, test, preview, lineage, failure summary, settings tabs"}),(0,r.jsx)(s.td,{children:"Navigate first, then act"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"When it is a question"})}),(0,r.jsx)(s.td,{children:"Hand it to Atlas with one key"}),(0,r.jsx)(s.td,{children:"Copy the words into a different window"})]})]})]})]})}function M(e={}){let{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(I,{...e})}):I(e)}},8453(e,s,t){t.d(s,{R:()=>i,x:()=>d});var n=t(6540);let r={},o=n.createContext(r);function i(e){let s=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function d(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.