mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-25 08:48:08 +02:00
docs: standardize ktx naming
This commit is contained in:
parent
27afd6a3b0
commit
1f8c1089f6
41 changed files with 331 additions and 313 deletions
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>{" "}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue