You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/release/SKILL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: release
3
-
description: Cut an npm release for the ost-tools project. Use when the user asks to cut a release, publish a new version, or run /release <major|minor|patch>.
3
+
description: Cut an npm release for the structured-context project. Use when the user asks to cut a release, publish a new version, or run /release <major|minor|patch>.
4
4
---
5
5
6
6
## Task
@@ -22,7 +22,7 @@ Cut a **$ARGUMENTS** release (major, minor, or patch).
22
22
23
23
4. Once the user confirms publish succeeded, verify it's live by running:
24
24
```
25
-
npm view ost-tools version
26
-
bunx ost-tools@latest --version
25
+
npm view structured-context version
26
+
bunx structured-context@latest --version
27
27
```
28
28
The first confirms the registry has the new version. The second confirms the published package runs correctly. Report both results to the user.
Copy file name to clipboardExpand all lines: AGENTS.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
-
# OST Tools
1
+
# Structured Context
2
2
3
3
Tools for working with Opportunity Solution Tree structures and other product management and strategy frameworks
4
4
5
5
## Development
6
6
7
7
Get a list of commands: `bun run src/index.ts --help`
8
-
Space names (e.g. `personal`, `politics`) are resolved via a config file - `$OST_TOOLS_CONFIG`, `$XDG_CONFIG_HOME/ost-tools/config.json`, `--config <file>` param, or `./config.json`
8
+
Space names (e.g. `personal`, `politics`) are resolved via a config file - `$SCTX_CONFIG`, `$XDG_CONFIG_HOME/structured-context/config.json`, `--config <file>` param, or `./config.json`
9
9
10
10
## Claude Code Plugin
11
11
@@ -15,7 +15,7 @@ A Claude Code plugin lives at `plugin/`. It includes skills, commands and hooks
15
15
16
16
There are several places that need reviewing and updating with any new feature or change added:
17
17
18
-
- README.md - documentation, also displayed with `ost-tools readme` command
18
+
- README.md - documentation, also displayed with `sctx readme` command
19
19
- AGENTS.md - this file
20
20
- docs/* - includes architecture, concepts etc
21
21
- plugin/* - skills, commands, hooks, and scripts; update any affected parts
@@ -29,9 +29,9 @@ Before starting new work, review [docs/concepts.md](docs/concepts.md) for canoni
29
29
## Key Files
30
30
31
31
- config — JSON5 file with spaces registered
32
-
-`schemas/` — Bundled default schema files (JSON5) using the ost-tools schema dialect and top-level `$metadata`. Files starting with `_` are "partials" (fragments for `$ref`).
32
+
-`schemas/` — Bundled default schema files (JSON5) using the structured-context schema dialect and top-level `$metadata`. Files starting with `_` are "partials" (fragments for `$ref`).
33
33
-`src/metadata-contract.ts` — Single source of truth for the `$metadata` contract
34
-
-`schemas/generated/_ost_tools_schema_meta.json` — Generated metaschema (generated on build or with `bun run generate:schema-meta`)
34
+
-`schemas/generated/_structured_context_schema_meta.json` — Generated metaschema (generated on build or with `bun run generate:schema-meta`)
35
35
36
36
## Testing
37
37
For most development only the main unit tests need re-running regularly.
3.`./config.json` in the current working directory
44
44
45
45
See `config.example.json` for the full structure. The config maps space names to paths, with optional Miro integration fields and global defaults. Paths in config files are resolved relative to the config file.
46
46
47
47
**Including spaces from other configs:** Use `includeSpacesFrom` to import space definitions from other config files. This is useful for aggregating spaces from multiple projects into a central config, reducing the need to specify `--config` on CLI commands. Duplicate space names are not allowed.
48
48
49
-
**Plugins and markdown plugin config:** See `ost-tools docs config` for the full reference including `fieldMap`, `typeInference`, `templateDir`, filter views, and plugin loading rules.
49
+
**Plugins and markdown plugin config:** See `sctx docs config` for the full reference including `fieldMap`, `typeInference`, `templateDir`, filter views, and plugin loading rules.
50
50
51
51
### Spaces
52
52
53
53
A space is a named directory or single file registered in the config. Spaces let you reference content by name instead of path:
54
54
55
55
```bash
56
-
ost-tools validate ProductX
56
+
sctx validate ProductX
57
57
```
58
58
59
59
### Schemas
@@ -62,7 +62,7 @@ Schemas define the structure and rules for the entities in a space, allowing cus
62
62
63
63
Two schemas (`general` and `strict_ost`) are included. The general schema combines a basic vision/mission/goals hierarchy with a hierarchy loosely based on Opportunity Solution Trees. It is intentionally flexible to support rapid initial adoption. The strict OST schema has a narrower scope, and reflects Teresa Torres' specific recommendations for Opportunity Solution Trees more closely.
64
64
65
-
ost-tools schemas use a metaschema based on JSON Schema Draft-07 that adds a top-level `$metadata` block:
65
+
sctx schemas use a metaschema based on JSON Schema Draft-07 that adds a top-level `$metadata` block:
66
66
67
67
```json5
68
68
"$metadata": {
@@ -148,7 +148,7 @@ Metadata is composable across `$ref` graphs:
148
148
If no provider defines `hierarchy`, hierarchy-specific checks are skipped. Reading a `space_on_a_page` file still requires `hierarchy.levels`.
149
149
150
150
**Customizing Schemas:**
151
-
-**Partial schemas**: Files starting with an underscore (like `_ost_tools_base.json`) are loaded and used to resolve references (using `$ref`).
151
+
-**Partial schemas**: Files starting with an underscore (like `_sctx_base.json`) are loaded and used to resolve references (using `$ref`).
152
152
-**No-metadata partials**: If a partial has no `$metadata`, prefer `$schema: "http://json-schema.org/draft-07/schema#"` so it validates standalone as plain JSON Schema.
153
153
-**Loading priority**: Partial schemas are loaded from both the default schema directory and the directory of your specified target schema.
154
154
-**Transitive resolution**: `$ref` chains are resolved recursively across files/schemas (including nested `allOf` usage in partials).
@@ -165,7 +165,7 @@ The tool executes JSONata expressions defined in schema files for rule validatio
165
165
### Validate nodes
166
166
167
167
```bash
168
-
ost-tools validate <space> [--watch]
168
+
sctx validate <space> [--watch]
169
169
```
170
170
171
171
Validates markdown files against the JSON schema:
@@ -176,7 +176,7 @@ Validates markdown files against the JSON schema:
176
176
### Show space tree
177
177
178
178
```bash
179
-
ost-tools show <space> [--filter <view-or-expression>]
179
+
sctx show <space> [--filter <view-or-expression>]
180
180
```
181
181
182
182
Prints the space as an indented hierarchy tree. Hierarchy roots are listed first, followed by orphans (nodes in the hierarchy but with no resolved parent) and non-hierarchy nodes.
@@ -187,10 +187,10 @@ When a node appears under multiple parents (DAG hierarchy), it is printed in ful
187
187
188
188
```bash
189
189
# Inline expression
190
-
ost-tools show <space> --filter "WHERE resolvedType='solution' and status='active'"
190
+
sctx show <space> --filter "WHERE resolvedType='solution' and status='active'"
191
191
192
192
# Named view from config
193
-
ost-tools show <space> --filter active-solutions
193
+
sctx show <space> --filter active-solutions
194
194
```
195
195
196
196
See [Filter expressions](#filter-expressions) below for expression syntax.
@@ -261,7 +261,7 @@ SELECT relationships(assumption) WHERE resolvedType='opportunity'
Copy file name to clipboardExpand all lines: docs/architecture.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# OST Tools: Architecture
1
+
# Structured Context: Architecture
2
2
3
-
This document describes the architecture of ost-tools — how data flows through the system, and how key concepts map to code. It complements [concepts.md](concepts.md), which defines the canonical terminology.
3
+
This document describes the architecture of structured-context — how data flows through the system, and how key concepts map to code. It complements [concepts.md](concepts.md), which defines the canonical terminology.
Copy file name to clipboardExpand all lines: docs/concepts.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# OST Tools: Concepts and Terminology
1
+
# Structured Context: Concepts and Terminology
2
2
3
3
This document is the canonical reference for concepts and terminology used in this project. It focuses on the meta-concepts the project supports, not the content of specific frameworks modelled in schemas. Before naming things in code, tests, comments, or documentation, check definitions here for consistency, and update them here when the project's "world view" changes, avoiding blurry terms as much as possible.
4
4
@@ -353,7 +353,7 @@ Views are defined in the space config under the `views` key:
353
353
}
354
354
```
355
355
356
-
Use a view by name with `ost-tools show <space> --filter <view-name>`. If no matching view name is found in the config, the value is treated as an inline filter expression.
356
+
Use a view by name with `sctx show <space> --filter <view-name>`. If no matching view name is found in the config, the value is treated as an inline filter expression.
357
357
358
358
---
359
359
@@ -374,10 +374,10 @@ A **plugin** is a module that extends the tool's capabilities.
374
374
375
375
Plugins that support parsing produce raw `SpaceNode[]` results given a suitable configuration. Graph edge resolution (`resolveGraphEdges`) is called by the core afterwards.
376
376
377
-
The `plugins` field in config is a **map** from plugin name to plugin config object. All plugin names must start with `ost-tools-`, but the prefix is optional in config and normalised on load. Built-in plugins take precedence and all are loaded by default. External plugin names specified in config are then resolved in order:
377
+
The `plugins` field in config is a **map** from plugin name to plugin config object. All plugin names must start with `sctx-`, but the prefix is optional in config and normalised on load. Built-in plugins take precedence and all are loaded by default. External plugin names specified in config are then resolved in order:
Each plugin declares a `configSchema` JSON Schema; the loader validates the config block against it before invoking the plugin. Config fields annotated with `format: 'path'` are resolved relative to `configDir` by the loader.
All plugin names must start with `ost-tools-` (the prefix is optional in config and normalised on load). The special name `markdown` refers to the built-in markdown plugin. External plugins are resolved in order: config-adjacent (`{configDir}/plugins/{name}`), then npm. Each plugin must export a `configSchema` JSON Schema; config is validated against it on load. Fields annotated `format: 'path'` in a plugin's `configSchema` are resolved relative to the config file directory.
52
+
All plugin names must start with `sctx-` (the prefix is optional in config and normalised on load). The special name `markdown` refers to the built-in markdown plugin. External plugins are resolved in order: config-adjacent (`{configDir}/plugins/{name}`), then npm. Each plugin must export a `configSchema` JSON Schema; config is validated against it on load. Fields annotated `format: 'path'` in a plugin's `configSchema` are resolved relative to the config file directory.
53
53
54
54
## Markdown plugin config
55
55
@@ -129,9 +129,9 @@ Named filter expressions can be defined per space under `views`. Each view has a
129
129
}
130
130
```
131
131
132
-
Use a view name with `ost-tools show <space> --filter <view-name>`.
132
+
Use a view name with `sctx show <space> --filter <view-name>`.
133
133
134
-
See `ost-tools docs concepts` for full filter expression syntax.
134
+
See `sctx docs concepts` for full filter expression syntax.
0 commit comments