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
-`packages/`: shared source packages copied or vendored into consuming
36
+
runtimes.
16
37
-`docs/`: documentation site.
17
38
-`tests/`: repo-wide policy tests that are not owned by one package, skill, or
18
39
app runtime.
19
40
-`scripts/`: durable repo commands grouped by purpose.
20
41
21
42
## Repo Rules
22
43
23
-
- Keep root guidance short. Put domain workflows, CLI details, and validation policy in the relevant `skills/<skill>/SKILL.md` or `references/` file.
44
+
- Keep root guidance short. Put domain workflows, CLI details, and validation
45
+
policy in the relevant `skills/<skill>/SKILL.md` or `references/` file.
24
46
- Keep relevant Markdown docs current when changing behavior, commands, or repo
25
47
layout, but do not bloat `AGENTS.md`; use it only for durable repo-level
26
48
rules and pointers.
27
49
- Read `CONTRIBUTING.md` before committing, rebasing, resolving generated-file
28
50
conflicts, or bumping release versions.
29
-
-Branch from`dev`for development and open PRs against `dev`. Keep `dev` in
30
-
symlink layout with `scripts/dev/setup-symlinks.sh`; production users should clone `main`.
51
+
-Keep the`dev`checkout in symlink layout with
52
+
`scripts/dev/setup-symlinks.sh`.
31
53
- Each skill must be self-contained and independent at runtime. A skill must
32
-
not refer to or import or depend on code from another skill, from `skills/` root, or from
33
-
repository-root modules. Do not add `skills/`, the repository root, or sibling
34
-
skill directories to `sys.path`, `PYTHONPATH`, `NODE_PATH`, or similar runtime
35
-
lookup paths. Shared runtime helpers must live under `packages/` as the source
36
-
of truth and be vendored/generated from there into each consuming skill
37
-
runtime; do not keep shared helper modules directly under `skills/`.
38
-
- Edit sources first, then regenerate explicit derived outputs. Do not hand-edit generated skill runtimes or bundled package copies.
54
+
not refer to or import or depend on code from another skill, from `skills/`
55
+
root, or from repository-root modules. Do not add `skills/`, the repository
56
+
root, or sibling skill directories to `sys.path`, `PYTHONPATH`, `NODE_PATH`,
57
+
or similar runtime lookup paths. Shared runtime helpers must live under
58
+
`packages/` as the source of truth and be vendored/generated from there into
59
+
each consuming skill runtime; do not keep shared helper modules directly under
60
+
`skills/`.
61
+
- Edit the source reached by the `dev` symlink layout first, then regenerate
62
+
explicit derived outputs when a production-output task requires it.
39
63
- Write all test, sample, permanent, and generated CAD/robot-description
40
64
artifacts under `models/`, including STEP/STP, STL, GLB, DXF, URDF, SRDF,
41
65
SDF, and G-code outputs. Do not create ad hoc artifact directories elsewhere.
42
66
- Reserve `scripts/` for durable repo commands. Do not write temporary,
43
67
one-off, or local-only helper scripts there; use `tmp/` or `/tmp` instead.
44
-
-`viewer/`, `packages` are the source of truth for CAD Viewer and shared CAD runtime behavior. Duplicate files under skills such as `skills/cad-viewer/scripts/viewer`, `skills/cad-viewer/scripts/packages/`, `skills/cad/scripts/packages/`, and snapshot runtimes are generated copies that should not be edited.
45
-
- When changing skill behavior that uses `packages/cadjs`, `packages/cadpy`, or `skills/cad-viewer/scripts/viewer`, edit the root source in `packages/*` or `viewer/*`, then rebundle the generated skill copies. Never patch the copies as the lasting fix.
46
-
-`plugins/cad/skills/` is a generated production plugin package copy of
47
-
the root `skills/` sources. Edit `skills/*` first, then run
48
-
`scripts/bundle/bundle-plugin.sh` to refresh the plugin copy; do not hand-edit
49
-
plugin skill copies.
50
-
-`viewer/packages/*` contains generated viewer-local package copies for
51
-
standalone viewer deployments. Edit `packages/*` first; the cad-viewer skill
52
-
production bundle refreshes those copies.
53
-
-`packages/cadjs` must stay reusable/non-React; app UI and workflow state belong in `viewer/`.
54
-
-`packages/cadpy` owns reusable Python artifact generation; skills should use bundled package code, not sibling skill imports.
55
-
- Create new packages like `packages/cadpy_metadata` when it doesn't make sense to bundle heavy requirements of other cadpy skills (prefix new packages with `cadpy_*`).
56
-
- Use path-targeted search, validation, and `git status`; avoid broad scans over generated CAD/LFS artifacts unless the task requires them.
68
+
- Development symlinks mark generated or copied paths. If a file is under a
69
+
symlinked runtime, viewer package, or plugin package path, edit the symlink
70
+
target/source path instead of treating the copy as independent.
71
+
- When source changes affect generated runtimes or plugin packages, refresh or
72
+
check them with the master bundle wrapper, `scripts/bundle/bundle.sh`. Use
73
+
lower-level bundle scripts only when debugging the wrapper itself.
74
+
-`packages/cadjs` must stay reusable/non-React; app UI and workflow state
75
+
belong in `viewer/`.
76
+
-`packages/cadpy` owns reusable Python artifact generation; skills should use
77
+
bundled package code, not sibling skill imports.
78
+
- Create lightweight shared Python packages under `packages/cadpy_*` when a
79
+
helper should not inherit heavier package dependencies.
80
+
- Use path-targeted search, validation, and `git status`; avoid broad scans over
81
+
generated CAD/LFS artifacts unless the task requires them.
57
82
- Keep release versioning in lockstep: the git tag, plugin manifests and
Copy file name to clipboardExpand all lines: scripts/README.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,15 +118,16 @@ fallback, but the workflow path is preferred.
118
118
119
119
## CI
120
120
121
-
-`test.yml`: runs code tests on `dev`, `build-test`, `main`, and PRs.
122
-
-`check-version.yml`: checks release metadata on `dev`, `build-test`, `main`,
123
-
and PRs.
124
-
-`check-builds.yml`: checks production bundle freshness on `build-test` and
125
-
`main`.
126
-
-`check-symlinks.yml`: checks the development symlink layout on `dev` and PRs
127
-
targeting `dev`.
128
-
-`prepare-release.yml`: manually opens a release metadata PR against `dev`.
129
-
-`build-test-branch.yml`: temporary release builder from `dev` to
130
-
`build-test`; this will target `main` once the flow is trusted.
131
-
-`release-tag.yml`: temporary production tag/release workflow for `build-test`;
132
-
this will target `main` once the flow is trusted.
121
+
| Workflow | Branches/events | Purpose |
122
+
| -------- | --------------- | ------- |
123
+
|`test.yml`| pushes to `dev`, `build-test`, `main`; PRs to those branches | Runs the broad code test wrapper. |
124
+
|`check-version.yml`| pushes to `dev`, `build-test`, `main`; PRs to those branches | Verifies repo-owned release metadata is internally consistent. |
125
+
|`check-symlinks.yml`| pushes to `dev`; PRs targeting `dev`| Verifies the development checkout keeps generated-copy paths symlinked to source. |
126
+
|`check-builds.yml`| pushes to `build-test` and `main`; PRs targeting those branches | Verifies production branches contain bundled generated outputs instead of symlinks. |
127
+
|`prepare-release.yml`| manual dispatch from `dev`| Bumps version metadata on `release/<version>` and opens a release PR back to `dev`. |
128
+
|`build-test-branch.yml`| pushes to `dev`; manual dispatch | Temporary release builder that bundles `dev` and pushes production output to `build-test`; this will target `main` once trusted. |
129
+
|`release-tag.yml`| pushes to `build-test`; manual dispatch | Temporary production release workflow that tags the bundled commit and creates a draft GitHub Release; this will target `main` once trusted. |
130
+
131
+
In short: `dev` is the editable symlink branch, `build-test` is the temporary
132
+
production-output proving branch, and `main` is the eventual production branch
0 commit comments