Skip to content

Commit 50139ca

Browse files
Jake FitzgeraldJake Fitzgerald
authored andcommitted
Clarify dev symlink source boundaries
1 parent 020c191 commit 50139ca

28 files changed

Lines changed: 66 additions & 45 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
"description": "CAD, robotics, fabrication, and local review plugins."
88
},
99
"description": "CAD, robotics, fabrication, and local review plugins.",
10-
"version": "0.1.14",
10+
"version": "0.1.15",
1111
"plugins": [
1212
{
1313
"name": "cad",
1414
"source": "./plugins/cad",
1515
"description": "CAD, robotics, fabrication, and local review skills.",
16-
"version": "0.1.14",
16+
"version": "0.1.15",
1717
"author": {
1818
"name": "earthtojake"
1919
},

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ product and `models/` as the shared fixture/artifact area.
5959
- Keep release versioning in lockstep: the git tag, plugin manifests and
6060
`plugins/*/VERSION`, package manifests/locks, Python `pyproject.toml` files,
6161
and any other repo-owned release version numbers should all match. The
62-
current release version is `0.1.14`. Use `scripts/release/bump-version.sh`
62+
current release version is `0.1.15`. Use `scripts/release/bump-version.sh`
6363
for version bumps as described in `COMMIT.md`.
6464

6565
## Environments

CONTRIBUTING.md

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -139,19 +139,40 @@ paths that CI and local checks expect.
139139

140140
## Source Boundaries
141141

142-
Each skill must be self-contained and independent at runtime: it must not import
143-
or depend on code from another skill or from the repository root.
144-
145-
Root source directories are canonical. `viewer/`, `packages/cadjs`, and
146-
`packages/cadpy` are the source of truth for CAD Viewer and shared CAD runtime
147-
behavior. Generated copies live under paths such as
148-
`skills/cad-viewer/scripts/viewer`, `skills/cad-viewer/scripts/packages/`,
149-
`skills/cad/scripts/packages/`, and snapshot runtimes. Do not patch those
150-
generated copies as the lasting fix.
151-
152-
When changing skill behavior that uses `packages/cadjs`, `packages/cadpy`, or
153-
the cad-viewer generated runtime, edit the root source in `packages/*` or
154-
`viewer/*`, then rebuild the generated skill copies.
142+
Each skill must be self-contained and independent when it is installed from a
143+
production branch: it must not import or depend on code from another skill or
144+
from repository-root modules at runtime.
145+
146+
The `dev` branch uses symlinks only as a checkout layout convenience. Those
147+
symlinks point generated-output paths back to the canonical sources so
148+
contributors can edit one copy of shared code. They do not relax the runtime
149+
self-containment rule: `scripts/build.sh --clean` must be able to replace the
150+
symlinks with real copies that still run without `skills/`, the repository
151+
root, or sibling skill directories on `sys.path`, `PYTHONPATH`, `NODE_PATH`, or
152+
similar lookup paths.
153+
154+
Canonical source directories are:
155+
156+
- `skills/*` for skill instructions, references, and skill-owned scripts.
157+
- `viewer/` for CAD Viewer app and server source.
158+
- `packages/cadjs`, `packages/cadpy`, and `packages/cadpy_metadata` for shared
159+
runtime helpers that are copied into consuming skills for production.
160+
161+
On `dev`, paths such as `skills/cad-viewer/scripts/viewer`,
162+
`skills/cad/scripts/packages/cadpy`, `skills/{urdf,srdf,sdf}/scripts/packages`,
163+
`viewer/packages/*`, and `plugins/cad/skills/*` should be symlinks. Treat those
164+
paths as generated-output aliases, not separate source roots. Edit the
165+
canonical source path instead.
166+
167+
When you need to verify or create production outputs locally, run:
168+
169+
```bash
170+
scripts/build.sh --clean
171+
scripts/build.sh --check
172+
```
173+
174+
Do not hand-edit production copies as the lasting fix; change the canonical
175+
source, then rebuild.
155176

156177
## Branch Layouts
157178

docs/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cad-skills-docs",
3-
"version": "0.1.14",
3+
"version": "0.1.15",
44
"license": "MIT",
55
"private": true,
66
"scripts": {

packages/cadjs/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/cadjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cadjs",
3-
"version": "0.1.14",
3+
"version": "0.1.15",
44
"private": true,
55
"type": "module",
66
"description": "Reusable CAD render/viewer runtime for docs, CAD Viewer, and generated snapshot browser assets.",

packages/cadpy/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "cadpy"
7-
version = "0.1.14"
7+
version = "0.1.15"
88
description = "Shared STEP/GLB topology artifact generation runtime for CAD skills."
99
requires-python = ">=3.11"
1010
dependencies = [

packages/cadpy_metadata/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "cadpy-metadata"
7-
version = "0.1.14"
7+
version = "0.1.15"
88
description = "Dependency-free metadata helpers for Python-generated CAD outputs."
99
requires-python = ">=3.11"
1010
dependencies = []

plugins/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ development should link the source skills directly, as described in
66

77
## CAD
88

9-
`plugins/cad` is the first plugin package. It is versioned as `0.1.14`
9+
`plugins/cad` is the first plugin package. It is versioned as `0.1.15`
1010
and bundles every supported CAD Skills skill as a generated production copy
1111
of the canonical `skills/` directories.
1212

0 commit comments

Comments
 (0)