Ask the repository live
Type a question in plain words, such as "what changed on coupons today?". The page reshapes itself around it: the files that matter, their diffs, the beans behind them and the decisions taken. Nothing is generated; the page picks from views Gitstalk already has.
Try it
-
Open the Ask tab
Open a repository and choose Ask. Until the first bean has been pushed there is nothing to ask about, and you see the start page instead.
-
Type a question
Click the bar (or press
/, or Cmd/Ctrl+K) to see suggested questions, or write your own.Questions that work in any repository what changed recently? what's being worked on right now? why did the sprout go red? what's on sprout but not on stalk? what did we decide? -
Read the answer, and why it looks that way
The page answers in one sentence, then shows the views that fit: the files, a bean's journey with its diff, a decision card, a red-validation card, or who overlaps with whom. A line under the sentence lists the views it chose. Choose Clear the question to go back.
What you see
2 files about coupons changed in 2 landings the last 1440 minutes.
You asked "what changed on coupons today?" Clear the question
This view: 1 Files · 2 Bean journey + diff · 3 Decision card
src/coupons/apply.ts - const total = price - coupon.amount; + const total = Math.max(0, price - sum(coupons));
Stacking coupons: allow two, or only one?
The Files explorer: chips and the line
On the Ask tab, before you ask anything, choose Browse all files (or click a file in its list) and you are in the Files explorer. It has its own ask bar. It turns a question into chips: the area, the time range, the agent, the bean and the files it picked. Remove a chip and the answer is asked again without it. The Line menu switches between the sprout (staged) and the stalk (stable).
Where it lives
| Place | What you get |
|---|---|
| A repository's Ask tab | The ask bar with completions on focus and example questions under it, then the answer sentence and the chosen views. Before you ask, it shows the stalk, what is growing now and what happened. |
| The Files explorer (Browse all files on the Ask tab's start view) | The chips, the line menu, the file tree, the main pane (file, diff or bean) and a side rail of beans, decisions, tests or agents. |
Your agent: ask_repo |
The same answer as JSON (the question's kind, files, beans, decisions and who
picked them) with a preview_url that opens the same view for you.
See MCP tools and scopes.
|
What it understands
Every question lands in one of ten kinds, and each kind has a fixed arrangement of views. That is why the answers feel the same from one question to the next.
| Kind | Example | Shows |
|---|---|---|
| Recent changes | what changed recently on coupons? |
Diffs of the files, with beans and decisions beside them |
| Who and why | who changed tax rounding and why? |
The file with blame by bean, in the Files explorer |
| In flight | what's being worked on in billing right now? |
Beans not landed yet, their agents and overlaps |
| What broke | why did the sprout go red? |
Red validations, failing tests, culprits and reverts |
| Waiting for the stalk | what's on sprout but not on stalk? |
Commits the stalk does not have yet |
| Decisions | what did we decide about money formatting? |
Decision cards: two specs that disagreed and which won |
| Tests | what tests cover checkout? |
The tests that exercise some code, passing or not |
| Agent activity | what has a3 done? |
One agent's beans and the files they touch |
| Bean | show bean t032 |
One bean: intent, diff, checks, reworks and decision |
| Explore | src/lib/money.ts |
The repository, with search hits for the words |
The router recognises bean ids written like t032 and agent slots like
a3, the names benchmark races use. For a bean named
add-truncate in your own repository, open it from its link in a list
instead of asking for it by name.
How the answer is chosen
-
A keyword router reads the question
A plain, deterministic keyword router decides the kind of question and which area, time range, agent or bean it names. Its answer stands whenever the words match one of the kinds.
-
Code finds the candidates
Gitstalk lists the files, beans, decisions and sections it could show, from the repository's own history.
-
A small model only chooses among them
A decision model (Clef Flash by default; Clef 27B or Jev can be configured) is asked three things, each with a fixed list of options: which kind the question is, but only when the keywords could not place it; which of the many matching files the answer is about; and in what order to show the views. It never writes code, text or layout.
-
Every pick leaves a receipt
Click the small info mark beside a pick, or open "How this was ordered" on the status line, to see what was asked, the candidates, what was chosen and which model answered. If no model answered, the receipt says a fixed rule did.
The same models rank other choices in the product, such as how a bean is routed under approval rules. Where they appear they only choose a route or an order, and a fixed rule is always the fallback.
Blame in the Files explorer
When you ask a who or why question ("who changed tax rounding and why?"), the Files explorer opens the first matching file with a column that shows which bean last changed each run of lines, linked to the bean. Lines from before the first landing show as base. The rest of that story is on Why this line: blame by bean.
Limits
- Ask reads the sprout or the stalk, not other branches.
- A private repository answers 404 to anyone without a role on it, as every page of it does. See collaborators and visibility.
-
A question is up to 300 characters through
ask_repo. Answers leave out file bodies and diffs; the handles and thepreview_urllead to them.