@bonnard/cli 0.1.11 → 0.1.13
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/dist/bin/bon.mjs +9 -0
- package/dist/docs/topics/getting-started.md +157 -0
- package/dist/templates/claude/skills/bonnard-get-started/SKILL.md +55 -38
- package/dist/templates/cursor/rules/bonnard-get-started.mdc +55 -38
- package/dist/templates/shared/datasources.yaml +16 -0
- package/package.json +2 -2
package/dist/bin/bon.mjs
CHANGED
|
@@ -2659,6 +2659,15 @@ function getChildTopics(topicId) {
|
|
|
2659
2659
|
function searchTopics(query) {
|
|
2660
2660
|
const results = [];
|
|
2661
2661
|
const queryLower = query.toLowerCase();
|
|
2662
|
+
const index = loadIndex();
|
|
2663
|
+
if (index) {
|
|
2664
|
+
const indexMatches = [];
|
|
2665
|
+
for (const line of index.split("\n")) if (line.toLowerCase().includes(queryLower)) indexMatches.push(line.trim());
|
|
2666
|
+
if (indexMatches.length > 0) results.push({
|
|
2667
|
+
topic: "(index)",
|
|
2668
|
+
matches: indexMatches.slice(0, 3)
|
|
2669
|
+
});
|
|
2670
|
+
}
|
|
2662
2671
|
for (const topic of getAvailableTopics()) {
|
|
2663
2672
|
const content = loadTopic(topic);
|
|
2664
2673
|
if (!content) continue;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
> Set up Bonnard and build your first semantic layer in minutes.
|
|
4
|
+
|
|
5
|
+
## What is Bonnard?
|
|
6
|
+
|
|
7
|
+
Bonnard is a semantic layer platform that sits between your data warehouse and your consumers (BI tools, AI agents, applications). You define your metrics and dimensions once in YAML, then query them through a consistent API.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- **Node.js 18+** — [Install Node.js](https://nodejs.org)
|
|
12
|
+
- **A data warehouse** — PostgreSQL, Snowflake, BigQuery, or Databricks (or use our demo dataset)
|
|
13
|
+
- **A Bonnard account** — [Sign up at app.bonnard.dev](https://app.bonnard.dev)
|
|
14
|
+
|
|
15
|
+
## Install the CLI
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @bonnard/cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Verify the installation:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
bon --version
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Log in
|
|
28
|
+
|
|
29
|
+
Authenticate with your Bonnard account:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
bon login
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This opens your browser to complete authentication. Once done, verify with:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
bon whoami
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Initialize a project
|
|
42
|
+
|
|
43
|
+
Navigate to your project directory and run:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
bon init
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
This creates the project structure:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
my-project/
|
|
53
|
+
├── bon.yaml # Project configuration
|
|
54
|
+
├── bonnard/
|
|
55
|
+
│ ├── cubes/ # Cube definitions (measures + dimensions)
|
|
56
|
+
│ └── views/ # View definitions (curated interfaces)
|
|
57
|
+
└── .bon/ # Local config (gitignored)
|
|
58
|
+
└── datasources.yaml
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If you have an existing dbt project, `bon init` will detect it and set up your agent context accordingly.
|
|
62
|
+
|
|
63
|
+
## Connect a data source
|
|
64
|
+
|
|
65
|
+
Add your warehouse connection:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
bon datasource add
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Follow the interactive prompts to configure your connection. If you use dbt, you can import from your profiles:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
bon datasource add --from-dbt
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**No warehouse yet?** Use our demo dataset — a read-only retail database (Contoso) with sales, products, stores, and customer data:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
bon datasource add --demo
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Test the connection:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
bon datasource test contoso_demo
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Create your first cube
|
|
90
|
+
|
|
91
|
+
Create a file at `bonnard/cubes/sales.yaml` (using the demo dataset — adapt table and column names to your own data):
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
cubes:
|
|
95
|
+
- name: sales
|
|
96
|
+
sql_table: contoso.fact_sales
|
|
97
|
+
data_source: contoso_demo
|
|
98
|
+
|
|
99
|
+
measures:
|
|
100
|
+
- name: count
|
|
101
|
+
type: count
|
|
102
|
+
|
|
103
|
+
- name: total_revenue
|
|
104
|
+
type: sum
|
|
105
|
+
sql: sales_amount
|
|
106
|
+
|
|
107
|
+
dimensions:
|
|
108
|
+
- name: sales_key
|
|
109
|
+
type: number
|
|
110
|
+
sql: sales_key
|
|
111
|
+
primary_key: true
|
|
112
|
+
|
|
113
|
+
- name: date
|
|
114
|
+
type: time
|
|
115
|
+
sql: date_key
|
|
116
|
+
|
|
117
|
+
- name: sales_quantity
|
|
118
|
+
type: number
|
|
119
|
+
sql: sales_quantity
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Validate
|
|
123
|
+
|
|
124
|
+
Check your cubes and views for errors:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
bon validate
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Deploy
|
|
131
|
+
|
|
132
|
+
Push your semantic layer to Bonnard:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
bon deploy
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Query
|
|
139
|
+
|
|
140
|
+
Test your deployed semantic layer:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
bon query '{"measures": ["sales.count"]}'
|
|
144
|
+
|
|
145
|
+
# With a dimension
|
|
146
|
+
bon query '{"measures": ["sales.total_revenue"], "dimensions": ["sales.date"]}'
|
|
147
|
+
|
|
148
|
+
# Or use SQL format
|
|
149
|
+
bon query --sql "SELECT MEASURE(total_revenue) FROM sales"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Next steps
|
|
153
|
+
|
|
154
|
+
- Learn about [cubes](/docs/modeling/cubes) — measures, dimensions, joins
|
|
155
|
+
- Learn about [views](/docs/modeling/views) — curated interfaces for consumers
|
|
156
|
+
- Set up [MCP](/docs/workflow/mcp) — connect AI agents to your semantic layer
|
|
157
|
+
- Read the full [workflow guide](/docs/workflow) — validate, deploy, query
|
|
@@ -41,65 +41,81 @@ If the test fails, common issues:
|
|
|
41
41
|
|
|
42
42
|
## Phase 2: Explore the Data
|
|
43
43
|
|
|
44
|
-
Use `bon preview` to understand what tables and columns are available
|
|
44
|
+
Use `bon preview` to understand what tables and columns are available.
|
|
45
|
+
**Always run this before creating cubes** — use the results to decide which
|
|
46
|
+
tables to model and what columns to expose.
|
|
45
47
|
|
|
46
48
|
```bash
|
|
47
|
-
# List tables
|
|
49
|
+
# List tables — use the schema from the datasource config
|
|
50
|
+
# For demo data (contoso schema):
|
|
51
|
+
bon preview contoso_demo "SELECT table_name FROM information_schema.tables WHERE table_schema = 'contoso'"
|
|
52
|
+
|
|
53
|
+
# For user's own data (typically public schema):
|
|
48
54
|
bon preview <datasource> "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"
|
|
49
55
|
|
|
50
|
-
#
|
|
56
|
+
# Snowflake:
|
|
51
57
|
bon preview <datasource> "SHOW TABLES"
|
|
52
58
|
|
|
53
|
-
#
|
|
54
|
-
bon preview
|
|
59
|
+
# Then sample the key tables to see columns and data:
|
|
60
|
+
bon preview contoso_demo "SELECT * FROM contoso.fact_sales" --limit 10
|
|
61
|
+
bon preview contoso_demo "SELECT * FROM contoso.dim_product" --limit 10
|
|
55
62
|
```
|
|
56
63
|
|
|
57
|
-
|
|
64
|
+
Note the table names, column names, and data types — you'll use these in Phase 3.
|
|
58
65
|
|
|
59
66
|
## Phase 3: Create Your First Cube
|
|
60
67
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
you want to track and dimensions for the attributes
|
|
64
|
-
group by.
|
|
68
|
+
Based on what you found in Phase 2, create a file in `bonnard/cubes/` for
|
|
69
|
+
the most important table. A cube maps directly to a database table — define
|
|
70
|
+
measures for the metrics you want to track and dimensions for the attributes
|
|
71
|
+
you want to filter and group by. **Use the actual table and column names from
|
|
72
|
+
Phase 2, not placeholder names.**
|
|
65
73
|
|
|
66
|
-
Example — `bonnard/cubes/
|
|
74
|
+
Example using demo data — `bonnard/cubes/sales.yaml`:
|
|
67
75
|
|
|
68
76
|
```yaml
|
|
69
77
|
cubes:
|
|
70
|
-
- name:
|
|
71
|
-
sql_table:
|
|
78
|
+
- name: sales
|
|
79
|
+
sql_table: contoso.fact_sales
|
|
80
|
+
data_source: contoso_demo
|
|
72
81
|
|
|
73
82
|
measures:
|
|
74
83
|
- name: count
|
|
75
84
|
type: count
|
|
76
|
-
description: Total number of
|
|
85
|
+
description: Total number of sales transactions
|
|
77
86
|
|
|
78
87
|
- name: total_revenue
|
|
79
88
|
type: sum
|
|
80
|
-
sql:
|
|
81
|
-
description: Sum of
|
|
89
|
+
sql: sales_amount
|
|
90
|
+
description: Sum of sales revenue
|
|
91
|
+
|
|
92
|
+
- name: total_cost
|
|
93
|
+
type: sum
|
|
94
|
+
sql: total_cost
|
|
95
|
+
description: Sum of product costs
|
|
82
96
|
|
|
83
97
|
dimensions:
|
|
84
|
-
- name:
|
|
98
|
+
- name: sales_key
|
|
85
99
|
type: number
|
|
86
|
-
sql:
|
|
100
|
+
sql: sales_key
|
|
87
101
|
primary_key: true
|
|
88
102
|
|
|
89
|
-
- name:
|
|
90
|
-
type: string
|
|
91
|
-
sql: status
|
|
92
|
-
description: Order status (pending, completed, cancelled)
|
|
93
|
-
|
|
94
|
-
- name: created_at
|
|
103
|
+
- name: date
|
|
95
104
|
type: time
|
|
96
|
-
sql:
|
|
97
|
-
description:
|
|
105
|
+
sql: date_key
|
|
106
|
+
description: Sale date
|
|
107
|
+
|
|
108
|
+
- name: sales_quantity
|
|
109
|
+
type: number
|
|
110
|
+
sql: sales_quantity
|
|
111
|
+
description: Number of units sold
|
|
98
112
|
```
|
|
99
113
|
|
|
100
114
|
Key rules:
|
|
101
115
|
- Every cube needs a `primary_key` dimension
|
|
102
116
|
- Every measure and dimension should have a `description`
|
|
117
|
+
- Set `data_source` to match the datasource name from Phase 1
|
|
118
|
+
- Use `sql_table` with the full `schema.table` path
|
|
103
119
|
- Use `sql_table` for simple table references, `sql` for complex queries
|
|
104
120
|
|
|
105
121
|
Use `bon docs cubes` for the full reference, `bon docs cubes.measures.types`
|
|
@@ -108,21 +124,22 @@ for all 12 measure types, `bon docs cubes.dimensions.types` for dimension types.
|
|
|
108
124
|
## Phase 4: Create a View
|
|
109
125
|
|
|
110
126
|
Views expose a curated subset of measures and dimensions for consumers.
|
|
111
|
-
Create a file in `bonnard/views
|
|
127
|
+
Create a file in `bonnard/views/` that references the cube from Phase 3.
|
|
112
128
|
|
|
113
|
-
Example — `bonnard/views/
|
|
129
|
+
Example using demo data — `bonnard/views/sales_overview.yaml`:
|
|
114
130
|
|
|
115
131
|
```yaml
|
|
116
132
|
views:
|
|
117
|
-
- name:
|
|
118
|
-
description: High-level
|
|
133
|
+
- name: sales_overview
|
|
134
|
+
description: High-level sales metrics and attributes
|
|
119
135
|
cubes:
|
|
120
|
-
- join_path:
|
|
136
|
+
- join_path: sales
|
|
121
137
|
includes:
|
|
122
138
|
- count
|
|
123
139
|
- total_revenue
|
|
124
|
-
-
|
|
125
|
-
-
|
|
140
|
+
- total_cost
|
|
141
|
+
- date
|
|
142
|
+
- sales_quantity
|
|
126
143
|
```
|
|
127
144
|
|
|
128
145
|
Use `bon docs views` for the full reference.
|
|
@@ -160,17 +177,17 @@ credentials (encrypted) to Bonnard.
|
|
|
160
177
|
|
|
161
178
|
## Phase 7: Test with a Query
|
|
162
179
|
|
|
163
|
-
Verify the deployment works:
|
|
180
|
+
Verify the deployment works using the cube name from Phase 3:
|
|
164
181
|
|
|
165
182
|
```bash
|
|
166
183
|
# Simple count
|
|
167
|
-
bon query '{"measures": ["
|
|
184
|
+
bon query '{"measures": ["sales.count"]}'
|
|
168
185
|
|
|
169
|
-
#
|
|
170
|
-
bon query '{"measures": ["
|
|
186
|
+
# With a dimension
|
|
187
|
+
bon query '{"measures": ["sales.total_revenue"], "dimensions": ["sales.date"]}'
|
|
171
188
|
|
|
172
189
|
# SQL format
|
|
173
|
-
bon query --sql "SELECT
|
|
190
|
+
bon query --sql "SELECT MEASURE(total_revenue) FROM sales"
|
|
174
191
|
```
|
|
175
192
|
|
|
176
193
|
## Phase 8: Connect AI Agents (Optional)
|
|
@@ -40,65 +40,81 @@ If the test fails, common issues:
|
|
|
40
40
|
|
|
41
41
|
## Phase 2: Explore the Data
|
|
42
42
|
|
|
43
|
-
Use `bon preview` to understand what tables and columns are available
|
|
43
|
+
Use `bon preview` to understand what tables and columns are available.
|
|
44
|
+
**Always run this before creating cubes** — use the results to decide which
|
|
45
|
+
tables to model and what columns to expose.
|
|
44
46
|
|
|
45
47
|
```bash
|
|
46
|
-
# List tables
|
|
48
|
+
# List tables — use the schema from the datasource config
|
|
49
|
+
# For demo data (contoso schema):
|
|
50
|
+
bon preview contoso_demo "SELECT table_name FROM information_schema.tables WHERE table_schema = 'contoso'"
|
|
51
|
+
|
|
52
|
+
# For user's own data (typically public schema):
|
|
47
53
|
bon preview <datasource> "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"
|
|
48
54
|
|
|
49
|
-
#
|
|
55
|
+
# Snowflake:
|
|
50
56
|
bon preview <datasource> "SHOW TABLES"
|
|
51
57
|
|
|
52
|
-
#
|
|
53
|
-
bon preview
|
|
58
|
+
# Then sample the key tables to see columns and data:
|
|
59
|
+
bon preview contoso_demo "SELECT * FROM contoso.fact_sales" --limit 10
|
|
60
|
+
bon preview contoso_demo "SELECT * FROM contoso.dim_product" --limit 10
|
|
54
61
|
```
|
|
55
62
|
|
|
56
|
-
|
|
63
|
+
Note the table names, column names, and data types — you'll use these in Phase 3.
|
|
57
64
|
|
|
58
65
|
## Phase 3: Create Your First Cube
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
you want to track and dimensions for the attributes
|
|
63
|
-
group by.
|
|
67
|
+
Based on what you found in Phase 2, create a file in `bonnard/cubes/` for
|
|
68
|
+
the most important table. A cube maps directly to a database table — define
|
|
69
|
+
measures for the metrics you want to track and dimensions for the attributes
|
|
70
|
+
you want to filter and group by. **Use the actual table and column names from
|
|
71
|
+
Phase 2, not placeholder names.**
|
|
64
72
|
|
|
65
|
-
Example — `bonnard/cubes/
|
|
73
|
+
Example using demo data — `bonnard/cubes/sales.yaml`:
|
|
66
74
|
|
|
67
75
|
```yaml
|
|
68
76
|
cubes:
|
|
69
|
-
- name:
|
|
70
|
-
sql_table:
|
|
77
|
+
- name: sales
|
|
78
|
+
sql_table: contoso.fact_sales
|
|
79
|
+
data_source: contoso_demo
|
|
71
80
|
|
|
72
81
|
measures:
|
|
73
82
|
- name: count
|
|
74
83
|
type: count
|
|
75
|
-
description: Total number of
|
|
84
|
+
description: Total number of sales transactions
|
|
76
85
|
|
|
77
86
|
- name: total_revenue
|
|
78
87
|
type: sum
|
|
79
|
-
sql:
|
|
80
|
-
description: Sum of
|
|
88
|
+
sql: sales_amount
|
|
89
|
+
description: Sum of sales revenue
|
|
90
|
+
|
|
91
|
+
- name: total_cost
|
|
92
|
+
type: sum
|
|
93
|
+
sql: total_cost
|
|
94
|
+
description: Sum of product costs
|
|
81
95
|
|
|
82
96
|
dimensions:
|
|
83
|
-
- name:
|
|
97
|
+
- name: sales_key
|
|
84
98
|
type: number
|
|
85
|
-
sql:
|
|
99
|
+
sql: sales_key
|
|
86
100
|
primary_key: true
|
|
87
101
|
|
|
88
|
-
- name:
|
|
89
|
-
type: string
|
|
90
|
-
sql: status
|
|
91
|
-
description: Order status (pending, completed, cancelled)
|
|
92
|
-
|
|
93
|
-
- name: created_at
|
|
102
|
+
- name: date
|
|
94
103
|
type: time
|
|
95
|
-
sql:
|
|
96
|
-
description:
|
|
104
|
+
sql: date_key
|
|
105
|
+
description: Sale date
|
|
106
|
+
|
|
107
|
+
- name: sales_quantity
|
|
108
|
+
type: number
|
|
109
|
+
sql: sales_quantity
|
|
110
|
+
description: Number of units sold
|
|
97
111
|
```
|
|
98
112
|
|
|
99
113
|
Key rules:
|
|
100
114
|
- Every cube needs a `primary_key` dimension
|
|
101
115
|
- Every measure and dimension should have a `description`
|
|
116
|
+
- Set `data_source` to match the datasource name from Phase 1
|
|
117
|
+
- Use `sql_table` with the full `schema.table` path
|
|
102
118
|
- Use `sql_table` for simple table references, `sql` for complex queries
|
|
103
119
|
|
|
104
120
|
Use `bon docs cubes` for the full reference, `bon docs cubes.measures.types`
|
|
@@ -107,21 +123,22 @@ for all 12 measure types, `bon docs cubes.dimensions.types` for dimension types.
|
|
|
107
123
|
## Phase 4: Create a View
|
|
108
124
|
|
|
109
125
|
Views expose a curated subset of measures and dimensions for consumers.
|
|
110
|
-
Create a file in `bonnard/views
|
|
126
|
+
Create a file in `bonnard/views/` that references the cube from Phase 3.
|
|
111
127
|
|
|
112
|
-
Example — `bonnard/views/
|
|
128
|
+
Example using demo data — `bonnard/views/sales_overview.yaml`:
|
|
113
129
|
|
|
114
130
|
```yaml
|
|
115
131
|
views:
|
|
116
|
-
- name:
|
|
117
|
-
description: High-level
|
|
132
|
+
- name: sales_overview
|
|
133
|
+
description: High-level sales metrics and attributes
|
|
118
134
|
cubes:
|
|
119
|
-
- join_path:
|
|
135
|
+
- join_path: sales
|
|
120
136
|
includes:
|
|
121
137
|
- count
|
|
122
138
|
- total_revenue
|
|
123
|
-
-
|
|
124
|
-
-
|
|
139
|
+
- total_cost
|
|
140
|
+
- date
|
|
141
|
+
- sales_quantity
|
|
125
142
|
```
|
|
126
143
|
|
|
127
144
|
Use `bon docs views` for the full reference.
|
|
@@ -159,17 +176,17 @@ credentials (encrypted) to Bonnard.
|
|
|
159
176
|
|
|
160
177
|
## Phase 7: Test with a Query
|
|
161
178
|
|
|
162
|
-
Verify the deployment works:
|
|
179
|
+
Verify the deployment works using the cube name from Phase 3:
|
|
163
180
|
|
|
164
181
|
```bash
|
|
165
182
|
# Simple count
|
|
166
|
-
bon query '{"measures": ["
|
|
183
|
+
bon query '{"measures": ["sales.count"]}'
|
|
167
184
|
|
|
168
|
-
#
|
|
169
|
-
bon query '{"measures": ["
|
|
185
|
+
# With a dimension
|
|
186
|
+
bon query '{"measures": ["sales.total_revenue"], "dimensions": ["sales.date"]}'
|
|
170
187
|
|
|
171
188
|
# SQL format
|
|
172
|
-
bon query --sql "SELECT
|
|
189
|
+
bon query --sql "SELECT MEASURE(total_revenue) FROM sales"
|
|
173
190
|
```
|
|
174
191
|
|
|
175
192
|
## Phase 8: Connect AI Agents (Optional)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Bonnard datasources configuration
|
|
2
|
+
# This file contains credentials - add to .gitignore
|
|
3
|
+
# Env vars like {{ env_var('PASSWORD') }} are resolved at deploy time
|
|
4
|
+
|
|
5
|
+
datasources:
|
|
6
|
+
- name: contoso_demo
|
|
7
|
+
type: postgres
|
|
8
|
+
source: demo
|
|
9
|
+
config:
|
|
10
|
+
host: aws-1-eu-west-1.pooler.supabase.com
|
|
11
|
+
port: "5432"
|
|
12
|
+
database: postgres
|
|
13
|
+
schema: contoso
|
|
14
|
+
credentials:
|
|
15
|
+
username: demo_reader.yvbfzqogtdsqqkpyztlu
|
|
16
|
+
password: contoso-demo-2025!
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bonnard/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bon": "./dist/bin/bon.mjs"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "tsdown src/bin/bon.ts --format esm --out-dir dist/bin && cp -r src/templates dist/ && mkdir -p dist/docs/topics dist/docs/schemas && cp ../content/index.md dist/docs/_index.md && cp ../content/modeling/*.md dist/docs/topics/",
|
|
12
|
+
"build": "tsdown src/bin/bon.ts --format esm --out-dir dist/bin && cp -r src/templates dist/ && mkdir -p dist/docs/topics dist/docs/schemas && cp ../content/index.md dist/docs/_index.md && cp ../content/getting-started.md dist/docs/topics/ && cp ../content/modeling/*.md dist/docs/topics/",
|
|
13
13
|
"dev": "tsdown src/bin/bon.ts --format esm --out-dir dist/bin --watch",
|
|
14
14
|
"test": "vitest run"
|
|
15
15
|
},
|