docs: standardize ktx naming

This commit is contained in:
Andrey Avtomonov 2026-05-20 17:32:15 +02:00
parent 27afd6a3b0
commit 1f8c1089f6
41 changed files with 331 additions and 313 deletions

View file

@ -17,10 +17,10 @@ export function Logo() {
</div>
<div className="flex flex-col items-start leading-none">
<span
className="text-[24px] font-semibold text-fd-foreground tracking-tight"
className="text-[42px] font-semibold text-fd-foreground tracking-tight"
style={{ fontFamily: "var(--font-display), var(--font-sans), sans-serif" }}
>
KTX
ktx
</span>
<span
className="mt-1 whitespace-nowrap text-[13px] font-medium text-fd-muted-foreground/80 tracking-tight"

View file

@ -125,7 +125,7 @@ const outputData: OutputNodeData[] = [
title: "Semantic layer",
path: "semantic-layer/*.yaml",
tags: ["structured", "executable", "auto-maintained"],
body: "Metrics, joins, tables, dimensions, filters, and segments that KTX can validate and compile into SQL.",
body: "Metrics, joins, tables, dimensions, filters, and segments that ktx can validate and compile into SQL.",
accent: "#3b82f6",
},
];
@ -511,7 +511,7 @@ export function ProductMechanics() {
How ingestion works
</h2>
<p className="mt-3 text-sm leading-6 text-fd-muted-foreground">
KTX ingests source evidence, reconciles it with your existing project,
ktx ingests source evidence, reconciles it with your existing project,
and produces durable context that agents can search, review, and
execute.
</p>
@ -519,7 +519,7 @@ export function ProductMechanics() {
<article
className="max-w-full min-w-0 overflow-hidden rounded-lg border border-fd-border bg-fd-card shadow-sm"
aria-label="KTX ingestion flow from source systems to durable context outputs"
aria-label="ktx ingestion flow from source systems to durable context outputs"
>
<div className="border-b border-fd-border bg-fd-muted/35 px-5 py-4">
<p className="text-xs font-semibold uppercase tracking-wide text-fd-primary">

View file

@ -115,7 +115,7 @@ const WAREHOUSE_X = (CANVAS_W - WAREHOUSE_W) / 2;
const WAREHOUSE_Y = LANES_BOTTOM_Y + 56;
const MANUAL_STROKE = "#94a3b8";
const KTX_STROKE = "#0891b2";
const ktxStroke = "#0891b2";
const FIT_VIEW_OPTIONS = { padding: 0.05 };
const agent: AgentNode = {
@ -138,7 +138,7 @@ const manualSql: ManualSqlNode = {
position: { x: LEFT_LANE_X, y: LANE_TOP_Y },
data: {
variant: "manual",
badge: "Without KTX",
badge: "Without ktx",
title: "Agent writes the SQL",
caption:
"Stitches four tables, mixes grains, and ships numbers that won't match the dashboard.",
@ -208,7 +208,7 @@ const slQuery: SlQueryNode = {
position: { x: RIGHT_LANE_X, y: SL_QUERY_Y },
data: {
variant: "slQuery",
badge: "With KTX",
badge: "With ktx",
title: "Agent sends a semantic query",
caption:
"Names the measures, dimensions, segments, and filters it wants. No SQL, no joins.",
@ -282,7 +282,7 @@ const compiledSql: CompiledSqlNode = {
data: {
variant: "compiled",
badge: "Generated SQL",
title: "KTX returns dialect-correct SQL",
title: "ktx returns dialect-correct SQL",
caption:
"Pre-aggregates each fact at its own grain, then joins back on the shared dimension.",
code: `WITH orders_agg AS (
@ -435,31 +435,31 @@ const edges = [
labelStyle: {
fontSize: 12,
fontWeight: 600,
fill: KTX_STROKE,
fill: ktxStroke,
},
labelBgStyle: {
fill: "var(--color-fd-background)",
stroke: "var(--color-fd-border)",
strokeWidth: 1,
},
style: { stroke: KTX_STROKE, strokeWidth: 1.75 },
markerEnd: arrowMarker(KTX_STROKE),
style: { stroke: ktxStroke, strokeWidth: 1.75 },
markerEnd: arrowMarker(ktxStroke),
},
{
id: "slquery-engine",
source: "sl-query",
target: "engine",
type: "straight" as const,
style: { stroke: KTX_STROKE, strokeWidth: 1.75 },
markerEnd: arrowMarker(KTX_STROKE),
style: { stroke: ktxStroke, strokeWidth: 1.75 },
markerEnd: arrowMarker(ktxStroke),
},
{
id: "engine-compiled",
source: "engine",
target: "compiled-sql",
type: "straight" as const,
style: { stroke: KTX_STROKE, strokeWidth: 1.75 },
markerEnd: arrowMarker(KTX_STROKE),
style: { stroke: ktxStroke, strokeWidth: 1.75 },
markerEnd: arrowMarker(ktxStroke),
},
{
id: "compiled-warehouse",
@ -467,8 +467,8 @@ const edges = [
target: "warehouse",
targetHandle: "warehouse-compiled",
type: "straight" as const,
style: { stroke: KTX_STROKE, strokeWidth: 1.75 },
markerEnd: arrowMarker(KTX_STROKE),
style: { stroke: ktxStroke, strokeWidth: 1.75 },
markerEnd: arrowMarker(ktxStroke),
},
];
@ -530,7 +530,7 @@ function LaneBadge({
<span
className="h-1.5 w-1.5 rounded-full"
style={{
background: variant === "manual" ? MANUAL_STROKE : KTX_STROKE,
background: variant === "manual" ? MANUAL_STROKE : ktxStroke,
}}
/>
{children}
@ -842,7 +842,7 @@ function EngineNodeView({ data }: NodeProps<EngineNode>) {
>
<span
className="absolute inset-y-0 left-0 w-[3px] rounded-l-lg"
style={{ background: KTX_STROKE }}
style={{ background: ktxStroke }}
aria-hidden="true"
/>
<Handle type="target" position={Position.Top} className="!opacity-0" />
@ -908,7 +908,7 @@ function CompiledSqlNodeView({ data }: NodeProps<CompiledSqlNode>) {
>
<span
className="mt-[6px] h-1 w-1 flex-none rounded-full"
style={{ background: KTX_STROKE }}
style={{ background: ktxStroke }}
aria-hidden="true"
/>
<span>{note}</span>
@ -997,7 +997,7 @@ export function SemanticLayerFlow() {
>
<article
className="max-w-full min-w-0 overflow-hidden rounded-lg border border-fd-border bg-fd-card shadow-sm"
aria-label="From semantic query to executed SQL: contrast between agent-authored SQL and KTX-compiled SQL"
aria-label="From semantic query to executed SQL: contrast between agent-authored SQL and ktx-compiled SQL"
>
<div className="border-b border-fd-border bg-fd-muted/35 px-5 py-4">
<a
@ -1022,7 +1022,7 @@ export function SemanticLayerFlow() {
<p className="mt-2 max-w-3xl text-xs leading-5 text-fd-muted-foreground">
On the left, the agent works imperatively: chooses tables, writes
joins, picks the grain, and remembers each warehouse's dialect. On
the right, the agent only declares what it wants. KTX handles
the right, the agent only declares what it wants. ktx handles
every how.
</p>
</div>

View file

@ -15,7 +15,7 @@ export function TerminalPreview() {
<span className="term-cmd">ktx setup</span>
</div>
<div className="h-2" />
<div className="term-dim"> Welcome to KTX setup</div>
<div className="term-dim"> Welcome to ktx setup</div>
<div className="term-dim"></div>
<div>
<span className="term-dim"></span>{" "}
@ -43,7 +43,7 @@ export function TerminalPreview() {
enriching schema · detecting relationships · ingesting dbt
</div>
<div className="h-2" />
<div className="term-ok"> KTX context is ready for agents.</div>
<div className="term-ok"> ktx context is ready for agents.</div>
<div className="h-2" />
<div>
<span className="term-prompt">$</span>{" "}