Commit d8e05a7
authored
feat(cli): ship the binary from the published crate (#217)
`cargo install rustmotion` could not work. The README documents it, and the
crate's own description calls it "a CLI tool", but the published crate carried
only a `[lib]`: the `rustmotion` binary was declared in `rustmotion-cli`, which
is `publish = false`. Installing it gave a library and no command.
The binary now lives in `crates/rustmotion` and `rustmotion-cli` is gone.
The studio subcommand could not come along, and not for want of trying: an
optional dependency does not help, because `rustmotion-studio` depends on
`rustmotion`, so cargo rejects the cycle before compiling anything. No capability
is lost — `rustmotion-studio` already declares its own binary of that name, so
the studio is launched directly instead of through a subcommand.
Moving the CLI exposed a second defect, latent while the crate was unpublished
and the same class as the themes bug fixed in #216: `build.rs` walked
`.claude/skills/rustmotion/` and `skills.rs` embedded `CLAUDE.md`, both outside
the package directory. `cargo package` archives only what lives under the crate,
so the tarball did not compile — the verify step failed on a missing SKILL.md.
Both now live inside the crate, with symlinks at their old paths so Claude Code
still finds them. One copy, not two: this repository already learned in #165 what
a duplicated skill list costs when it drifts, and the test that caught that drift
is what still guards it.
The install destination is unchanged. `build.rs` embeds the path the file will be
written to rather than the path it came from, and running the built binary in an
empty directory writes 59 files to `.claude/skills/rustmotion/` as before.1 parent ac39010 commit d8e05a7
94 files changed
Lines changed: 332 additions & 357 deletions
File tree
- .claude/skills
- .github/workflows
- crates
- rustmotion-cli
- rustmotion-components/src
- rustmotion-core
- src
- css
- engine
- renderer
- tests
- rustmotion
- skills
- rules
- src
- bin
- cli
- commands
- encode
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | | - | |
| 11 | + | |
13 | 12 | | |
14 | 13 | | |
15 | 14 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
| 119 | + | |
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
| 167 | + | |
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | | - | |
| 322 | + | |
323 | 323 | | |
324 | 324 | | |
325 | 325 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
| |||
0 commit comments