Conversation
Added by the manage Users endpoints (keboola/connection#8009): user list, the three membership sub-resource reads, and super-admin grant. Both Security event operations markdown lists and the security_operations diagram array get the five entries. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The kbagent Claude Code plugin now ships from the keboola/ai-kit marketplace (keboola-claude-kit) instead of the CLI's own marketplace (keboola-agent-cli). - cli/for-agents: update the install code block to `/plugin marketplace add keboola/ai-kit` + `/plugin install kbagent@keboola-claude-kit`, reword the lede that called it "the CLI's own marketplace", and refresh the marketplace name in the page's provenance comment. - ai/ai-kit: list `kbagent` alongside the other plugins in the "enable the plugins you need" block. The CLI's on-disk config directory (~/.config/keboola-agent-cli) and the CLI install instructions themselves are unchanged.
The CLI docs were behind the product: they pointed Windows readers at a git+https uv install, led with a Storage API token when browser login now needs none, and said nothing about per-client setup at all. - cli/getting-started: replace the Windows tab with the canonical PowerShell path from keboola/cli's README (winget uv, release wheel, `uv tool update-shell`, open a new shell), plus the Git-bash and self-contained-zip alternatives and the package-manager warning. Add the POSIX PATH note. Rewrite Step 2 to lead with `auth login --register-projects` and demote the token to the CI / headless route, prompting for it instead of passing `--token`. - cli/for-agents: add a "Set up your client" section covering Claude Code, Claude Desktop, the plugin-less clients (Cursor, VS Code, Codex, Devin Desktop) and a plain terminal, and describe `/kbagent:setup` and why a plugin slash command cannot be skipped or run in a shell. - ai/ai-kit: qualify the kbagent install with its marketplace and link across to the per-client steps. Claude Desktop's chat accepting /kbagent:setup is flagged with a VERIFY comment; it has not been checked against a live build. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tested against live clients on 2026-08-26, which contradicts what the
previous commit assumed: Cursor has a marketplace, Claude Desktop has no
slash-command surface at all, and /kbagent:setup completes nowhere.
- Claude Desktop: no /plugin and no /kbagent:setup ("Unknown command" and
"/plugin isn't available in this environment"), so its section is the
manual flow. Menu path corrected to Customise -> Plugins -> Add -> Add
from marketplace, install via the plus button on the card titled
"Kbagent". Drops the VERIFY comment the fact replaces.
- Cursor: promoted from the plugin-less group to its own section, with
the Import from Github full-URL requirement and the useless
[invalid_argument] Error the short form returns.
- /kbagent:setup: demoted to a shortcut that stops at the sign-in and
hands you a terminal command, with keboola/cli#704 as the tracking
issue for in-chat login. The manual sequence is the happy path again.
- Adds the once-per-machine sign-in tip (all clients share the local
config) and a line on asking the agent in plain language, which the
plugin's skill handles.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…t' into agent/kbagent-marketplace-repoint
Hand-testing each client showed the plugin installs everywhere, not only in Claude Code: Claude Desktop, Cursor, VS Code and the ChatGPT app all read the Claude plugin format that keboola/ai-kit publishes. The page claimed the opposite for VS Code and Codex, so a reader on those clients was told to skip the plugin that would have worked. Each client reaches it differently (short repo form vs full GitHub URL, a command palette entry, Developer mode), so the routes are written out per client rather than generalised. The terminal half is shared, because install, connect and doctor are the same everywhere and all three need a real TTY. Also drops the Devin section (hidden from the product's own setup surface) and adds the marketplace-move step for readers who followed the old keboola/cli instructions.
Step 2 sent readers to Project Settings → API Tokens to mint a Full Access token by hand. The UI now has a page that builds the whole `project add` command for the reader's project and stack, and can put a scoped read-only token in it, so the docs point there instead of walking through a token form they cannot fill in for you. Interactive setups need no token at all, which was the bigger gap: `project add` signs you in through the browser. The token route stays for CI and the features that still require a static token.
The install block already had kbagent in it, but the page still described three plugins and only documented those three, so the one plugin readers arrive for had no entry. It also claimed keboola-claude-kit is the only marketplace Keboola operates, which we cannot vouch for; what matters is that it is the one to install from. The CLI landing page called the same thing "the Claude Code plugin".
The branch's four CLI pages were written against an older main; merging now so the review fixes land on top of current content rather than diverging further.
Step 2 told readers `project add` would sign them in through the browser. It does not. In keboola/cli main `project add` resolves a token from `--token`, then `KBC_TOKEN`, then a hidden TTY prompt, and errors out. A reader arriving without a token hit that prompt with nothing on the page telling them what to type, and this branch had already removed the token-creation walkthrough. Browser sign-in is the separate `auth login` + `auth register-projects` pair, so document both routes and say which is which. The Agentic CLI settings page is feature-flagged off until launch while these docs deploy on merge, so the token route now also names Settings → API Tokens as the way in for anyone who cannot see it. Drops the orphaned screenshot the removed walkthrough used, and the internal VERIFY note that was shipping into the public page.
The /kbagent:setup section said the command "signs you in", while the sentence below it and the page's own HTML comment said the browser hands back to a terminal. keboola/cli#704 settles it: no client completes the sign-in in-chat, its table marks Claude Code "finishes: no". The command starts the browser sign-in and the reader finishes it in their terminal. Drops the customer-facing link to #704. It is an open issue whose title reads as an admission that the documented flow does not work, and this page links no other GitHub issues. The reference stays in the HTML comment. The "other four clients" sentence said they cannot run the command and then explained they cannot finish its sign-in, so it now just says they cannot run it and points at the terminal route. Also: - `keboola-cli` is a current v1.1.1 project-review toolkit built on the older `kbc` sync CLI, not "the unrelated legacy kbc CLI". - The terminal steps deferred to getting-started's Step 2 rather than forking its `project add` example under a different alias, and they no longer repeat the "no token needed interactively" claim that `project add` does not honour. - The sign-in tip contradicted every client section's unconditional "Do the terminal steps above", so it is now conditional on `project list`. - Two provenance comments were attesting reviews that did not cover what sits under them: Padak's v0.66.1 review predates the `keboola-claude-kit` marketplace, and "verified 2026-07-13" was covering 2026-08-26 claims.
Two pre-existing lines here disagreed with getting-started once Step 2 grew a browser-login route. The "in one minute" block demanded `--token YOUR_TOKEN` from a reader who has no token yet, and the page claimed kbagent "never needs a browser" one section later. The quickstart now signs in the way Step 2 does, and the browser sentence says what is actually true: one browser round-trip to sign in, or a Storage API token to skip it.
This branch pins the page to keboola/ai-kit and asserts a plugin count, so the count has to be right. The live `keboola-claude-kit` marketplace ships seven plugins, and none of them is named `developer`. The page promised four, told readers to run `/plugin install developer`, and linked `plugins/developer`, which 404s. Documents the four plugins that were missing (keboola-cli, keboola-git, sl-toolkit, powerbi-to-sl), drops the Developer Plugin section along with the intro and best-practice sentences that referred to it, and qualifies every install string with `@keboola-claude-kit` so they work as written.
The `auth login` lines carried `kbagent-check: skip-next` because the checked-in reference was v0.76.1, which predates the `auth` group. Bumping it to v0.91.0 removes the reason for all three skips. The two regressions that bump exposes both resolve by deletion rather than by guessing at a replacement, which is what made them look risky: - `kbagent tool` is gone, and "tool" appears nowhere in the v0.91.0 reference. Nothing succeeded it, so the three places offering it as a way to call MCP tools were offering a command that does not exist. - `kbagent doctor` now takes no options at all, so `--fix` cannot be described as repairing anything. Troubleshooting says what doctor reports and leaves the fixes to the manual steps already listed under it. The `--version` sample moves to v0.91.0 with the reference, and its provenance comment stops pinning a version it no longer shows. The remaining skips are the chat prompts, which are prompts rather than commands and always will be.
Removed on Michal's call. This reverses one of Jordan's two conditions for merging #1015 (PRDCT-490, commit 968e0cb), so it is called out in the PR body rather than left to be found in a diff. Nothing else Keboola ships labels kbagent beta: the keboola.com /cli page does not, keboola/cli's README does not, and the product badges the connect card NEW where Kai gets a Beta badge. The docs carried the label alone.
TOOLS.md was regenerated on 2026-08-13 (v1.75.4) after the #1061 sweep (2026-07-30, sha 3848c2f); it now annotates 23 tools read-only, the page listed 20. The delta: get_shared_buckets (Storage), get_accessible_projects and set_project_scope (Project). Added them to the Read-Only Tools table. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Re-cut of #999 on current main, with the parts the product outgrew corrected. - Tool visibility: the semantic MCP tools are gated on the project already having a semantic model, not on a support-enabled feature flag (the mcp-semantic-tooling flag was removed from keboola/mcp-server in 8ab508e2, two days after #999 opened). Section order follows: build a model first, then use it via MCP. - Adds the two paths that already exist and were missing: the Semantic Layer section in the Keboola UI, and the kbagent semantic-layer command group that main already documents in the CLI reference. - get_semantic_schema reports available schema versions rather than the schema document; the table says so and points at kbagent semantic-layer schema. - Notes that /sl-build and /sl-validate --deep need the kbagent binary on PATH. - Enablement callout describes availability by stack instead of "contact support to enable"; plan-level wording flagged VERIFY(Jordan). - Extends main's existing "Semantic layer" bullet on the MCP Server page instead of adding a second one for the same category. - Leaves ai/ai-kit/index.md to PR #1095, which already rewrites that page. - Drops the "don't document semantic layer" clause from the CLAUDE.md guardrails, which would otherwise contradict the shipped docs. Build clean (362 pages); audit-phase2 reports no issues on the touched pages. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- "six semantic object types" contradicted this repo's own CLI reference, which documents a seventh (semantic-reference-data). Scope the six to what makes up a model and name the seventh separately. - The kbagent note overstated a hard prerequisite: sl-build and sl-validate --deep degrade without the binary rather than failing. - Restore "or push it yourself" to the powerbi-to-sl push sentence, per the plugin README. - Tighten the VERIFY(Jordan) note on the UI section to call out the "AI guidance" sentence, which no public source can confirm. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Every button in the Kai chat panel is now explained in one place. The panel header row (new chat, report a bug, settings, expand, close) and the message box row (upload files, plan mode, follow mode) each get a table with icons. Plan mode was advertised in the product and documented nowhere (PRDCT-654). It is now covered in the chat controls table. Also replaces the Opening Kai screenshot, adds a screenshot of the action approval dialog and names all three of its buttons, and folds the Follow Mode subsection into the table so no control is explained twice.
…mpts The new-chat shortcut is Shift + A, not Ctrl + Shift + A. The Enabling Kai bullets read as sentences instead of dash-separated fragments. Example prompts are rewritten from the perspective of a data engineer arriving at an unfamiliar project or maintaining an existing one: orientation, lineage, failure diagnosis, and cost and runtime optimization, rather than "what tables do we have".
Asking Kai to build a Generic Extractor for an API with no ready-made connector is one of its strongest use cases and was missing from the example prompts.
It writes a custom integration instead, so the example prompt no longer names an implementation and simply asks for the data and its destination.
The glossary pass matches `- **Term** — definition` and converts it to a two-column grid, but kept the dash it had already consumed for detection, so every definition rendered as "— definition" while the columns were already doing the separating. Affects the 41 built pages that use the pattern; the only visual change is the leading dash disappearing.
Kai has no web access, so an example prompt that hands it a URL does not work — the API documentation has to arrive as an attached file. Notes the constraint where it matters: the upload control, Best Practices, and the context-files section of Settings. Report a bug opens a prefilled support-ticket dialog rather than only collecting debug details.
Every card in Settings → Kai Agent now has a screenshot, and the three permission levels have their icons. Tool Permissions says explicitly that the settings are personal, so nobody blocks a tool believing they have secured it for the team. System Instructions leads with concrete rules rather than "persistent context and guidelines", and says which of the three mechanisms to reach for: instructions for short rules, context files for longer knowledge, skill files for a procedure you call. Context Files gains a complete worked example. The section previously listed four things you could put in a context file without showing one, even though the format is free-form Markdown. Skill Files gains how a skill gets called, with the slash-command menu, and what to write one for. Also corrects the context-file upload step: the card has no Upload button, it offers drag and drop or Select Files. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The distinction was a subordinate clause in the opening sentence and never said why it matters. It is now a callout answering the question directly: a context file is read every conversation and costs context window space, a skill only when called or matched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Screenshots sat as tight against the surrounding text as a paragraph does, which reads cramped on image-heavy pages. Scoped to images that are alone in their paragraph, so table icons (which sit in <td>) and inline images are unaffected. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
docs(kai): document chat controls and refresh Getting Started
- Replace the business-rules/glossary example in the context file with data engineering conventions (transformations, integrations); business semantics and data model documentation belong in the semantic layer, not here. - Drop the remaining business-glossary and data-model framing from the System Instructions and Context Files prose so the page recommends them nowhere. - Stop suggesting an API reference as always-on context; point single-task reference material at skill files, which load on demand. - Correct the claim that `description` matters more than anything else in a skill file: it is decisive for skills Kai invokes itself (progressive disclosure). - Reference the open Agent Skills format and its best practices for skill creators.
Uploaded project skills appear under `/`; Kai's built-in skills are model-invoked only and are not listed there.
docs(kai): illustrate Kai Settings and explain what each level is for
style(docs): give standalone screenshots room to breathe
…he AI-guidance claim Jordan's 08-21 ask: refresh the page against the current UI with fresh screenshots. Three shots from the demo project (europe-west3 /projects/264, feature semantic-layer on, model 'Active Customer'), captured via Playwright per shoot.mjs conventions (1600x950, news popup suppressed, expanded sidebar): model list, model tabs, read-only metric with Edit. Live verification also settled the VERIFY(Jordan) on this section: the object view ships NO 'AI guidance' field (the sentence rested only on AI-3616), so it is cut; the Metadata tab (revision / schema version / branch) is documented instead. The VERIFY comment is replaced with the verification record. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…th ways Addresses davidesner's comment on PR #1103: the page listed the UI, the CLI, and the AI Kit plugins as the ways to build a model, but not Kai, which builds and maintains models from a chat in the project. Kai now leads the build section, and the Kai pages point back. /ai/semantic-layer/ - New "With Kai" build path, first of four: chat-based building with nothing to install, the explore-draft-validate-approve order, the approval card naming the model and per-type counts, conversational edit/remove/share, and the scope rules (project by default, org-wide needs an organization admin). Verified against keboola/ui packages/kai-agent-sandbox/skills/ semantic-layer-building/SKILL.md at main; sourcing recorded in a comment. Kai's four write tools themselves stay for PRDCT-671. - Intro: Kai and the CLI read the definitions too, not only assistants connected through the MCP Server. - "With the CLI": name search-context and get-context, the CLI's read surface. /kai/ - Semantic Layer capability in "What Kai Can Do", plus a Learn More link. - Semantic Layer section in Use Cases with build, add-metric, and share prompts. Kept the concepts, object types, and build paths on the one canonical page; the Kai pages describe the capability in a line or two and link out. Verified: npm run build clean (363 pages), scripts/audit-phase2.mjs unchanged (the 29 broken links are pre-existing and on other sections), every new link and the /kai/getting-started/#action-approval anchor resolves in dist/.
The Kai Agent Terms are cancelled as of 15 Sep 2026 (keboola/keboola_com#562); Kai is governed by the MSA / Free Plan Terms and the DPA. LangSmith no longer receives Kai traffic; code runs in ephemeral E2B sandboxes; Keboola keeps conversation logs for up to 30 days. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
docs: list the new auditLog.users.* security event operations
… Okta, Auth0) PR #1013 collapsed the four OIDC walkthroughs into a six-step list and a table; a user setting up Google SSO could not follow it (Slack, 2026-08-07). - Four how-to pages back at /data-apps/authentication/<provider>/, rewritten for the current UI (configuration page, + Create App, App URL block, Deploy wizard, Redeploy App), with provider-console click paths checked against Google, Microsoft, Okta and Auth0 docs and an "If sign-in fails" list per provider. - Callback URL comes from the App URL block before the app is registered with the provider; the July text asked for it before deploy while saying it appears only after deploy. - Hub OIDC section links the guides and keeps a quick provider table; Generic OIDC covers other providers. Allowed Roles documented for Entra groups (apps-proxy matches them against the `groups` claim). - Sidebar: guides nested under Run & share -> Authentication. - Redirects: /data-apps/oidc/<p>/ and /components/data-apps/oidc/<p>/ point at the restored pages; two unreferenced images dropped. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The descriptions contain a colon followed by a space, which js-yaml rejects
in an unquoted scalar ("bad indentation of a mapping entry", CI Build on
#1127). Wrapped in double quotes.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Checked against the Keboola UI on europe-west3 (project 264) and the presets in the kbc-ui bundle: - The App URL block is shown on a never-deployed app, so the "deploy once and come back" fallback is gone. - OIDC (Custom) has dedicated Provider options for Google SSO, Azure OIDC, Okta and Auth0 next to Generic OIDC. Okta and Auth0 guides now use their own option; Google SSO has no issuer field (preset); Azure OIDC derives the issuer from the Tenant ID; Okta's field is "Domain/Org URL"; Logout URL is optional everywhere. - No allowed-roles field exists for OIDC providers in the UI, so the Entra guide restricts sign-in via "Assignment required?" on the enterprise app instead of a groups claim. - Form label is "Client secret". Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Review feedback: an authentication type is a single choice, so it reads better as one page with a provider picker than as four sibling pages — same pattern as the OS tabs on the CLI Get started page. - authentication.md -> authentication.mdx with Starlight <Tabs>: Google Cloud, Microsoft Entra ID, Okta, Auth0, Another provider. - The steps every provider shares are outside the tabs: Step 1 creates the app and copies the callback URL, Step 3 deploys and tests. Each tab holds only the provider console, the Keboola fields, and its sign-in errors. - The four per-provider pages are gone; their 12 old URLs redirect to this page again (verified in dist), so the archived links still land here. - Sidebar: Authentication is a single entry under Run & share. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PRDCT-683: restore per-provider OIDC setup guides for Apps (Google, Entra ID, Okta, Auth0)
docs(kai): drop Kai Agent Terms link, describe E2B and current retention
… credit rates DuckDB is presented as a SQL backend everywhere in the docs, so customers estimate its cost from the "SQL job" rates (6/12/26 credits per hour) when the jobs actually run on data science containers. Nothing on the DuckDB page or on /management/project/limits/ connected the two, which overstates DuckDB cost by roughly 15-30x. - Say up front in Dynamic Backends which backend DuckDB runs on, and that its jobs bill as Data Science jobs rather than SQL jobs. - Add a time-credits column to the backend size table, and link to the matching rows and specifications in Project Limits. - Make the "limited budgets" bullet concrete. The credit values are inferred from this page's backend sizes matching the "(Python, R, Components)" specifications exactly; flagged with VERIFY() pending confirmation before merge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011v2fHawtBBh8wmwsMRuVxi
The credits table on Project Limits is keyed by job type (SQL job, Data Science job, DataApps) while the backend size table is keyed by technology (SQL, Python, R, Components, dbt). Neither names the other, so a customer pricing a Python or DuckDB transformation has nothing to join on. Reported by a customer testing DuckDB who read the SQL job rates (6/12/26) instead of the data science rates. Confirmed in #marketing: Python and DuckDB transformations both run on the data science backend and bill as Data Science jobs. - Add a "Which job type does your work bill as?" mapping table above the credits table, covering transformations, workspaces, data apps and components. Kept as a separate table rather than a fourth column, which would force a horizontal scroll. - Name DuckDB in the backend size rows alongside Python and R. - Correct the intro bullet, which listed job types that have no row in the table. - Say on the Python and R pages which job type they bill as; both already linked to the credits anchor without naming the row to look at. - Stop calling DuckDB a database server on the transformations overview - it sat next to Snowflake and BigQuery, which is what sent the customer to the SQL row. - Drop the duplicated credit values from the DuckDB page, added in bad7c8d, and point to Project Limits instead so the rates have one home. Its VERIFY marker is resolved by the confirmation above. - Add the missing frontmatter description on Project Limits. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011v2fHawtBBh8wmwsMRuVxi
docs: make it clear how DuckDB and Python transformations are billed
# Conflicts: # src/content/docs/components/writers/index.md # src/content/docs/transformations/index.md # src/content/docs/workspace/ad-hoc-analysis/index.md
…a/connection-docs into PRDCT-487-sidetrips
Collaborator
Author
|
Superseded by #1116, which rebuilds Getting Started on the Boolabean sample and puts every task page on the Prompt / UI / CLI tabs. It rewrites or deletes all 19 files this branch added under Closing to keep the queue honest rather than because the work was wrong — the arc, the side-trip filing and the one-prompt experiment all fed the rebuild. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1071 — merge that first. This PR touches only where the legacy side trips live, not the arc itself.
Why
#1071 rewrites Getting Started as a seven-step arc and retires the old
/tutorial/section (191 files). Four legacy side trips came along unchanged and still sit inside/getting-started/, even though they are not steps of the arc — and six pages under/components/extractors/database/were already linking to one of them as the basic-configuration reference. That is the add-alongside shape the migration is supposed to remove: the topic's real siblings live elsewhere.What moved
/getting-started/load/googlesheets//components/extractors/storage/google-drive/keboola.ex-google-drive— the connector that page already documented. Verified against the live catalog in project 264. The walkthrough, the Kai tip and the sample-table prep moved onto it; the page keeps its slug and inherits both tutorial URLs, and is retitled Google Sheets the way the product names it. (An earlier commit on this branch created a separategoogle-sheetspage — that was a second page for one component, and is reverted.)/getting-started/transform/workspace//workspace/create//workspace/for "the full documentation"./getting-started/ad-hoc//workspace/ad-hoc-analysis//getting-started/branches/(7 pages)/components/branches/tutorial//components/branches/already linked to it as "our tutorial" while borrowing three of its figures. All 53 figures and both sample CSVs moved with it, so the parent page's images resolve locally. Retitled Branches Tutorial so two nav nodes no longer both read "Development Branches"./getting-started/load/database//components/extractors/database/sqldb/#try-it-with-our-sample-databasesqldb#initial-setupalready documents the same procedure with its own screenshots (sqldb-1..4). Only the genuinely unique payload moved: the public sample-Snowflake credentials and the Kai tip.With all five side trips filed, the Getting Started Going Further nav group is empty and removed — the arc still links every one of them in its own prose.
Every retired URL keeps both redirects — its
/getting-started/…slug and its original/tutorial/…slug. Verified in the build:/tutorial/ad-hoc/,/tutorial/load/database/and friends all resolve to the new homes.Conservation: the eight
db-picture*.pngscreenshots were dropped rather than moved — they re-shoot the same Add Component → credentials → select-tables flow thatsqldb-1..4already illustrate on the destination page, and the arc's own step 2 was re-shot live in #1071. Nothing else was deleted; all prose found a home.Development Branches — moved after all
An earlier revision of this PR left this one for you to decide, on the grounds that Branches 2.0 was coming. That was too cautious:
/components/branches/already documents 2.0 via Merge Requests, and the parent page was already treating the walkthrough as its own tutorial while loading three figures out of/getting-started/. Moving it removes that cross-section dependency rather than betting on a release date. The tutorial's index now points at the parent for how branches work, and notes that 2.0 projects merge through a merge request.If you would still rather it waited for 2.0, this is one commit to revert (
f65626a9).Screenshots
Create a Workspace is reshot against the current UI (the old stills predated the left sidebar, and one showed a colleague's name — PRDCT-616). The reshoot exposed two product changes the text still described the old way, now corrected: a new workspace gets read-only access to all project data, so there is no input mapping and no Load Data step; and the Workspace Credentials dialog is gone, replaced by Open SQL Editor and the JDBC driver. The editor shot runs a real query, so its numbers match the arc (North Atlantic 2,632).
Still on the old UI — needs an owner with Google access. The Sheets walkthrough keeps its original stills, and three of them leak colleague email addresses (
michal.hruska@,ondrej.popelka@on the consent/Drive screens) — a PRDCT-616 issue that predates this PR. Reshooting them needs a Google account authorized in the demo project, which is Nikita's to do; the Keboola-side frames can then be reshot in the same pass. Flagging rather than shipping a half-masked set.Verification
npm run buildclean — 309 pages (311 − 4 retired + 2 new).node scripts/audit-phase2.mjs— 0 missing images; total issues unchanged from PRDCT-487: Getting Started — rewrite /tutorial/ as the customer-lifecycle arc #1071 (126, all pre-existing dev-docs links).redirect_fromentries remain.🤖 Generated with Claude Code