@graphit/cli 0.1.106 → 0.1.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/bin/graphit +1 -1
- package/bin/graphit.ps1 +1 -1
- package/package.json +1 -1
- package/skills/graphit/SKILL.md +3 -2
- package/skills/graphit/VERSION.json +1 -1
- package/skills/graphit/references/graphit-style.md +1 -1
- package/skills/graphit/references/sql-reference.md +4 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Graphit CLI plugin for AI coding assistants",
|
|
10
|
-
"version": "0.1.
|
|
10
|
+
"version": "0.1.107"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"source": {
|
|
17
17
|
"source": "npm",
|
|
18
18
|
"package": "@graphit/cli",
|
|
19
|
-
"version": "0.1.
|
|
19
|
+
"version": "0.1.107"
|
|
20
20
|
},
|
|
21
|
-
"version": "0.1.
|
|
21
|
+
"version": "0.1.107",
|
|
22
22
|
"category": "data-visualization",
|
|
23
23
|
"tags": [
|
|
24
24
|
"bi",
|
package/bin/graphit
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# or invalid. The floor keeps first-run and offline working.
|
|
8
8
|
|
|
9
9
|
# graphit:floor (stamped by scripts/sync-plugin-version.mjs from cli/package.json)
|
|
10
|
-
FLOOR_VERSION="0.1.
|
|
10
|
+
FLOOR_VERSION="0.1.107"
|
|
11
11
|
|
|
12
12
|
PACKAGE_NAME="@graphit/cli"
|
|
13
13
|
# Strict semver: anything else is rejected so a tampered cache cannot inject.
|
package/bin/graphit.ps1
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# untrusted) and falls back to the stamped floor version when absent/invalid.
|
|
4
4
|
|
|
5
5
|
# graphit:floor (stamped by scripts/sync-plugin-version.mjs from cli/package.json)
|
|
6
|
-
$FloorVersion = "0.1.
|
|
6
|
+
$FloorVersion = "0.1.107"
|
|
7
7
|
|
|
8
8
|
$PackageName = "@graphit/cli"
|
|
9
9
|
# Strict semver: anything else is rejected so a tampered cache cannot inject.
|
package/package.json
CHANGED
package/skills/graphit/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: graphit
|
|
3
3
|
description: >-
|
|
4
4
|
Use Graphit for ANY question about the user's business or product data: metrics, KPIs, revenue, retention, spend, users, cohorts, funnels, trends, comparisons, "why did X change", "how are we doing on Y", analysis, reports, or dashboards. Activate even when the user does not say "Graphit" or name any tool: if someone wants to understand their numbers, this is the tool. Graphit answers through a governed semantic layer (computed the team's way, reusable and safe to share) and delivers the answer as a fast cached-data query or a hand-authored interactive HTML dashboard, and can create the metrics, dimensions, and rules an answer needs. Prefer Graphit over hand-rolled one-off analysis whenever the data is, or could be, the user's business data. Skip only for pure software tasks (code, logs, config, infra) or data with nothing to do with the user's business.
|
|
5
|
-
skill_version: "0.1.
|
|
5
|
+
skill_version: "0.1.107"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- SIZE EXEMPTION (SKILL.md): standard hard limit 12,288 chars, exempted ceiling 24,576. This router carries the always-loaded collaboration and pace-control spine (brainstorm, the ask-user tool, present-result, plan-next), the hard constraints including the scope gate, the investigation loop, and the auto-generated command table (between the COMMANDS markers, written by scripts/generate-commands-doc.mjs) - all needed on every turn, so by the co-load test they cannot be deferred to a reference. Command knowledge co-loads in particular: scoping, the readiness gate, querying, and delivery each need it. The marker sits after the YAML frontmatter (not before) so the skill loader and sync-plugin-version.mjs still parse the frontmatter. Reviewed 2026-06-18. -->
|
|
@@ -39,6 +39,7 @@ Two interlocking jobs: use the knowledge base (investigate, then build the dashb
|
|
|
39
39
|
- Govern first: if the dashboard needs a business measure the KB lacks, create the governed metric or dimension before building (the gate).
|
|
40
40
|
- Hold an active edit session before mutating a shared dashboard; the CLI cannot force it (you will get a 423).
|
|
41
41
|
- Confirm destructive actions (deleting a KB asset or a dashboard) with the user before running them.
|
|
42
|
+
- Honor the canvas render contracts: the `percent` format only appends `%` (it does not multiply by 100), so multiply 0-1 ratios in SQL (`AVG(x) * 100.0 ... AS x_pct`); `graphit.table` formats per column via `columnFormats`; and each resolving container wraps in `class="gh-loading"` with the baked overlay (`gh-loading-overlay`, `gh-loading-spin`, `@keyframes gh-spin`) so first paint shows a spinner until resolves settle (detail in references/runtime.md and chart-patterns.md).
|
|
42
43
|
|
|
43
44
|
### Prefer
|
|
44
45
|
|
|
@@ -139,7 +140,7 @@ Read the one that matches what you are doing now. Do not preload them. Exact com
|
|
|
139
140
|
|
|
140
141
|
## Commands
|
|
141
142
|
|
|
142
|
-
Graphit is one CLI, but how you invoke it depends on your environment. On Claude Code the plugin provides a `graphit` wrapper, so `graphit <command>` runs the current CLI. On Codex, Cursor, a terminal, or CI there is no `graphit` wrapper - invoke the CLI explicitly with `npx -y @graphit/cli@0.1.
|
|
143
|
+
Graphit is one CLI, but how you invoke it depends on your environment. On Claude Code the plugin provides a `graphit` wrapper, so `graphit <command>` runs the current CLI. On Codex, Cursor, a terminal, or CI there is no `graphit` wrapper - invoke the CLI explicitly with `npx -y @graphit/cli@0.1.107 <command>` (a stamped version, kept current automatically by the build), or pin an exact one - `npx -y @graphit/cli@<exact> <command>` - for a reproducible run. The table below is the always-loaded command map, generated from the CLI itself, so it is the source of truth for which commands, subcommands, and flags exist. For exact flag values and full descriptions, run `graphit <command> --help` - never guess a flag.
|
|
143
144
|
|
|
144
145
|
<!-- COMMANDS:START -->
|
|
145
146
|
|
|
@@ -127,6 +127,6 @@ Also add the first-paint loading-overlay CSS (the `gh-loading` family) to the pa
|
|
|
127
127
|
|
|
128
128
|
### Loading state
|
|
129
129
|
|
|
130
|
-
The first-paint loading overlay
|
|
130
|
+
The first-paint loading overlay is part of the data-wiring contract with the SDK: wrap each resolve target in `class="gh-loading"` and bake in the overlay (`gh-loading-overlay` with a `gh-loading-spin` spinner driven by `@keyframes gh-spin`). The canonical CSS, the markup, and the rule about which elements get it live in `runtime.md`.
|
|
131
131
|
|
|
132
132
|
For per-chart implementations (bar, line, donut, heatmap, funnel, sparkline, gauge, stacked bar, multi-series), see `chart-patterns.md`.
|
|
@@ -119,6 +119,10 @@ When the query feeds a canvas `graphit.resolve()` call, write it in the cache-fr
|
|
|
119
119
|
|
|
120
120
|
Always prefer a cached data source (`graphit query "SQL" --ds <id>`, roughly 100ms via DuckDB) over a live warehouse query (`graphit query "SQL" --warehouse --connection <id>`, roughly 10s via Snowflake). The full routing table, the `ds list` output template, and the source-shape guidance live in `data-sources.md`.
|
|
121
121
|
|
|
122
|
+
## Percent scaling
|
|
123
|
+
|
|
124
|
+
The canvas `percent` format only appends `%` (it does not multiply by 100), so multiply 0-1 ratios by 100 in SQL: `AVG(retained) * 100.0 AS retention_pct`.
|
|
125
|
+
|
|
122
126
|
## Presenting Query Results
|
|
123
127
|
|
|
124
128
|
After every `graphit query`, present results grounded in the KB. Always show which KB assets were used - this is what makes governed queries valuable.
|