@mhmo91/schmancy 0.10.2 → 0.10.4
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/.claude-plugin/plugin.json +1 -1
- package/README.md +21 -19
- package/custom-elements.json +0 -13
- package/dist/.claude-plugin/plugin.json +1 -1
- package/dist/agent/schmancy.agent.js +5328 -8538
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +1 -13
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/package.json +1 -1
- package/plugins/vite-plugin-schmancy-manifest.ts +0 -13
- package/src/agent/agent-entry.test.ts +15 -0
- package/src/agent/agent-entry.ts +11 -16
- package/types/src/agent/agent-entry.d.ts +2 -3
- package/src/agent/agent-bundle.test.ts +0 -92
- package/src/agent/helpers.ts +0 -159
- package/src/agent/schmancy-skill.ts +0 -71
- package/src/agent/virtual-manifest.d.ts +0 -10
- package/types/src/agent/helpers.d.ts +0 -86
- package/types/src/agent/schmancy-skill.d.ts +0 -32
- /package/types/src/agent/{agent-bundle.test.d.ts → agent-entry.test.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "schmancy",
|
|
3
|
-
"description": "Claude Code support for the @mhmo91/schmancy web-component UI library. Provides foundations (routing,
|
|
3
|
+
"description": "Claude Code support for the @mhmo91/schmancy web-component UI library. Provides foundations (routing, state, SchmancyElement base, theme, directives), component API lookup for 60+ tags, and overlay service patterns (show, $notify, schmancyContentDrawer).",
|
|
4
4
|
"version": "0.1.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "samwaai",
|
package/README.md
CHANGED
|
@@ -11,30 +11,24 @@ registered. No bundler, no bare specifiers, no npm install.
|
|
|
11
11
|
|
|
12
12
|
```html
|
|
13
13
|
<script type="module">
|
|
14
|
-
import
|
|
14
|
+
import 'https://esm.sh/@mhmo91/schmancy/agent';
|
|
15
15
|
</script>
|
|
16
16
|
<schmancy-theme root scheme="dark">
|
|
17
17
|
<schmancy-surface type="solid" fill="all">
|
|
18
18
|
<schmancy-button>Hi</schmancy-button>
|
|
19
|
-
<schmancy-skill></schmancy-skill>
|
|
20
19
|
</schmancy-surface>
|
|
21
20
|
</schmancy-theme>
|
|
22
21
|
```
|
|
23
22
|
|
|
24
|
-
The
|
|
23
|
+
The same entry re-exports the full library surface for in-page script
|
|
24
|
+
code (`theme`, `area`, `state`, `show`, `lazy`, every directive, every
|
|
25
|
+
service, `SchmancyElement`). Import from the same URL.
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- `window.schmancy.platformPrimitive('schmancy-dialog')` — map to the native element a component wraps (present when the component's JSDoc has `@platform`).
|
|
32
|
-
- `window.schmancy.capabilities()` — runtime feature probe (`popover`, `declarativeShadowDom`, `scopedRegistries`, `trustedTypes`, `cssRegisteredProperties`, `elementInternalsAria`, `formAssociated`, `adoptedStyleSheets`). Agents use this to adapt to the sandbox they're in rather than the one they expect.
|
|
33
|
-
|
|
34
|
-
Every enum-typed attribute carries a `values` array — e.g. `schmancy-button`'s `variant` ships `["elevated", "filled", "filled tonal", "tonal", "outlined", "text"]` so agents never have to parse `"'filled' | 'tonal' | ..."` strings.
|
|
35
|
-
|
|
36
|
-
The manifest is also emitted as a sibling file at `@mhmo91/schmancy/agent/manifest`
|
|
37
|
-
for tooling that prefers reading JSON from disk.
|
|
27
|
+
For introspection — every tag's attributes, events, slots, CSS parts,
|
|
28
|
+
plus the enum `values` array on every typed attribute (so agents don't
|
|
29
|
+
have to parse `"'filled' | 'tonal' | ..."` strings) — read the static
|
|
30
|
+
manifest at `@mhmo91/schmancy/agent/manifest`. It's a JSON file, shape
|
|
31
|
+
follows Custom Elements Manifest v1.
|
|
38
32
|
|
|
39
33
|
## Install
|
|
40
34
|
|
|
@@ -49,13 +43,21 @@ import { magnetic, cursorGlow, gravity } from '@mhmo91/schmancy/directives'
|
|
|
49
43
|
|
|
50
44
|
## Use with Claude Code
|
|
51
45
|
|
|
52
|
-
Schmancy ships a Claude Code plugin
|
|
46
|
+
Schmancy ships a Claude Code plugin (manifest at `.claude-plugin/plugin.json`,
|
|
47
|
+
skill source under `skills/schmancy/`). The npm tarball includes both, so
|
|
48
|
+
after `npm install @mhmo91/schmancy`, point Claude at the package directory
|
|
49
|
+
when launching:
|
|
53
50
|
|
|
54
51
|
```
|
|
55
|
-
|
|
52
|
+
claude --plugin-dir node_modules/@mhmo91/schmancy
|
|
56
53
|
```
|
|
57
54
|
|
|
58
|
-
|
|
55
|
+
Set a shell alias / `.envrc` so every session in the project picks it up.
|
|
56
|
+
After editing plugin files, run `/reload-plugins` inside the session.
|
|
57
|
+
|
|
58
|
+
Claude now knows every Schmancy component, foundation pattern, and
|
|
59
|
+
convention; the skill activates automatically when you work on schmancy
|
|
60
|
+
code — no CLAUDE.md edits, no symlinks.
|
|
59
61
|
|
|
60
62
|
## Quick Start
|
|
61
63
|
|
|
@@ -82,7 +84,7 @@ Claude now knows every Schmancy component, foundation pattern, and convention in
|
|
|
82
84
|
|
|
83
85
|
Schmancy is organized in four layers:
|
|
84
86
|
|
|
85
|
-
- **Foundations** — [Area](./skills/schmancy/area.md) · [
|
|
87
|
+
- **Foundations** — [Area](./skills/schmancy/area.md) · [State](./skills/schmancy/state.md) · [Mixins (SchmancyElement)](./skills/schmancy/mixins.md) · [Theme](./skills/schmancy/theme.md) · [Directives](./skills/schmancy/directives.md)
|
|
86
88
|
- **Atoms** — [Typography](./skills/schmancy/typography.md) · [Icons](./skills/schmancy/icons.md) · [Button](./skills/schmancy/button.md) · [Surface](./skills/schmancy/surface.md) · [Divider](./skills/schmancy/divider.md) · [Avatar](./skills/schmancy/avatar.md)
|
|
87
89
|
- **Composites (by job)** — Forms, Navigation, Overlays, Interaction, Feedback, Display
|
|
88
90
|
- **Utilities** — [Animation](./skills/schmancy/animation.md) · [Audio](./skills/schmancy/audio.md) · [Discovery](./skills/schmancy/discovery.md) · [RxJS Utils](./skills/schmancy/rxjs-utils.md) · [Utils](./skills/schmancy/utils.md)
|
package/custom-elements.json
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "experimental",
|
|
3
3
|
"tags": [
|
|
4
|
-
{
|
|
5
|
-
"name": "schmancy-skill",
|
|
6
|
-
"path": "./src/agent/schmancy-skill.ts",
|
|
7
|
-
"description": "Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>`\nonce on a page and `window.schmancy.help('schmancy-button')` returns the\nmachine-readable entry for any tag. Renders nothing.",
|
|
8
|
-
"properties": [
|
|
9
|
-
{
|
|
10
|
-
"name": "disconnectedSignal",
|
|
11
|
-
"description": "AbortSignal that fires when the element disconnects.",
|
|
12
|
-
"type": "AbortSignal",
|
|
13
|
-
"default": "\"signal\""
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
4
|
{
|
|
18
5
|
"name": "schmancy-area",
|
|
19
6
|
"path": "./src/area/area.component.ts",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "schmancy",
|
|
3
|
-
"description": "Claude Code support for the @mhmo91/schmancy web-component UI library. Provides foundations (routing,
|
|
3
|
+
"description": "Claude Code support for the @mhmo91/schmancy web-component UI library. Provides foundations (routing, state, SchmancyElement base, theme, directives), component API lookup for 60+ tags, and overlay service patterns (show, $notify, schmancyContentDrawer).",
|
|
4
4
|
"version": "0.1.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "samwaai",
|