claude-multi 0.5.1 → 0.5.6

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/bin/claude-multi.cmd +26 -0
  3. package/bin/claude-multi.js +22 -0
  4. package/dist/cli.js +4744 -2419
  5. package/package.json +23 -20
  6. package/.agents/skills/three/SKILL.md +0 -106
  7. package/.agents/skills/threejs-animation/SKILL.md +0 -552
  8. package/.agents/skills/threejs-fundamentals/SKILL.md +0 -488
  9. package/.agents/skills/threejs-geometry/SKILL.md +0 -548
  10. package/.agents/skills/threejs-interaction/SKILL.md +0 -660
  11. package/.agents/skills/threejs-lighting/SKILL.md +0 -481
  12. package/.agents/skills/threejs-loaders/SKILL.md +0 -623
  13. package/.agents/skills/threejs-materials/SKILL.md +0 -520
  14. package/.agents/skills/threejs-postprocessing/SKILL.md +0 -602
  15. package/.agents/skills/threejs-shaders/SKILL.md +0 -642
  16. package/.agents/skills/threejs-textures/SKILL.md +0 -628
  17. package/.commandcode/taste/taste.md +0 -9
  18. package/astro.config.mjs +0 -69
  19. package/bun.lock +0 -1353
  20. package/public/android-chrome-192x192.png +0 -0
  21. package/public/android-chrome-512x512.png +0 -0
  22. package/public/apple-touch-icon.png +0 -0
  23. package/public/favicon-16x16.png +0 -0
  24. package/public/favicon-32x32.png +0 -0
  25. package/public/favicon-animated.svg +0 -140
  26. package/public/favicon.json +0 -1
  27. package/public/favicon.svg +0 -14
  28. package/public/logo.svg +0 -14
  29. package/public/site.webmanifest +0 -11
  30. package/screenshots-review/01-main-menu.png +0 -0
  31. package/screenshots-review/02-list-instances.png +0 -0
  32. package/screenshots-review/07-mcp-details.png +0 -0
  33. package/screenshots-review/v2-01-main-menu.png +0 -0
  34. package/scripts/capture-screens.tsx +0 -440
  35. package/scripts/gen-lottie.cjs +0 -160
  36. package/scripts/shoot-changelog.mjs +0 -18
  37. package/skills-lock.json +0 -71
package/package.json CHANGED
@@ -1,25 +1,29 @@
1
1
  {
2
2
  "name": "claude-multi",
3
- "version": "0.5.1",
3
+ "version": "0.5.6",
4
4
  "description": "Manage multiple Claude Code instances with different aliases and configurations",
5
5
  "type": "module",
6
6
  "bin": {
7
- "claude-multi": "./dist/cli.js"
7
+ "claude-multi": "./bin/claude-multi.js"
8
8
  },
9
+ "files": [
10
+ "bin/",
11
+ "dist/cli.js",
12
+ "CHANGELOG.md"
13
+ ],
9
14
  "scripts": {
10
- "build": "bun build src/cli.ts --outdir dist --target bun --format esm && chmod +x dist/cli.js",
11
- "build:ink": "bun build src/ink/main.tsx --outfile dist/ink-cli.js --target bun --format esm && chmod +x dist/ink-cli.js",
15
+ "build": "bun build src/cli.ts --outdir dist --target node --format esm && chmod +x bin/claude-multi.js",
12
16
  "dev": "bun run src/cli.ts",
13
- "dev:ink": "bun run src/ink/main.tsx",
14
17
  "test": "bun test",
15
18
  "prepublishOnly": "bun run build",
16
- "test:binary": "./dist/cli.js",
19
+ "test:binary": "./bin/claude-multi.js",
17
20
  "install:global": "bun link",
18
21
  "docs:dev": "astro dev",
19
22
  "docs:build": "astro build",
20
23
  "docs:preview": "astro preview",
21
24
  "ci:docs:deploy": "gh workflow run deploy-docs.yml",
22
- "ci:publish": "gh workflow run publish.yml -f version=$(node -p \"require('./package.json').version\")"
25
+ "ci:publish": "gh workflow run publish.yml -f version=$(node -p \"require('./package.json').version\")",
26
+ "ci:test-install": "gh workflow run test-install.yml"
23
27
  },
24
28
  "keywords": [
25
29
  "claude",
@@ -42,32 +46,31 @@
42
46
  "@anthropic-ai/claude-code": ">=2.0.0"
43
47
  },
44
48
  "devDependencies": {
45
- "@types/node": "^20.0.0",
46
- "@types/prompts": "^2.4.9",
47
- "@types/react": "^19.2.14",
48
- "bun-types": "latest",
49
- "execa": "^9.6.1",
50
- "ink-testing-library": "^4.0.0",
51
- "playwright": "^1.60.0",
52
- "puppeteer": "^25.0.4",
53
- "puppeteer-screen-recorder": "^3.0.6",
54
- "react-devtools-core": "^7.0.1"
55
- },
56
- "dependencies": {
57
49
  "@astrojs/starlight": "^0.39.2",
58
50
  "@astrojs/tailwind": "^6.0.2",
59
51
  "@inkjs/ui": "^2.0.0",
60
52
  "@tailwindcss/vite": "^4.3.0",
53
+ "@types/node": "^20.0.0",
54
+ "@types/prompts": "^2.4.9",
55
+ "@types/react": "^19.2.14",
61
56
  "astro": "^6.3.3",
57
+ "bun-types": "latest",
62
58
  "chalk": "^5.3.0",
63
59
  "commander": "^12.0.0",
60
+ "execa": "^9.6.1",
64
61
  "ink": "^7.0.2",
62
+ "ink-testing-library": "^4.0.0",
63
+ "playwright": "^1.60.0",
65
64
  "prompts": "^2.4.2",
65
+ "puppeteer": "^25.0.4",
66
+ "puppeteer-screen-recorder": "^3.0.6",
66
67
  "react": "^19.2.6",
68
+ "react-devtools-core": "^7.0.1",
67
69
  "tailwindcss": "^4.3.0",
68
70
  "three": "^0.184.0"
69
71
  },
70
72
  "engines": {
71
- "node": ">=18.0.0"
73
+ "node": ">=18.0.0",
74
+ "bun": ">=1.0.0"
72
75
  }
73
76
  }
@@ -1,106 +0,0 @@
1
- ---
2
- name: three
3
- description: Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.
4
- ---
5
-
6
- # Three.js for HyperFrames
7
-
8
- HyperFrames supports Three.js through its `three` runtime adapter. The adapter does not own your scene. It publishes HyperFrames time and dispatches a seek event so your composition can render the exact frame.
9
-
10
- ## Contract
11
-
12
- - Create the scene, camera, renderer, materials, and assets synchronously when possible.
13
- - Render from HyperFrames time, not wall-clock time.
14
- - Listen for the `hf-seek` event and render exactly that time.
15
- - Load models, textures, and HDRIs before render-critical seeking. Do not fetch them at seek time.
16
- - Avoid `requestAnimationFrame` or `renderer.setAnimationLoop` as the source of truth for render-critical motion.
17
-
18
- The adapter sets `window.__hfThreeTime` and dispatches `new CustomEvent("hf-seek", { detail: { time } })` on each seek.
19
-
20
- ## Basic Pattern
21
-
22
- ```html
23
- <canvas id="three-layer"></canvas>
24
- <script type="module">
25
- import * as THREE from "https://cdn.jsdelivr.net/npm/three@0.181.2/+esm";
26
-
27
- const canvas = document.getElementById("three-layer");
28
- const renderer = new THREE.WebGLRenderer({ canvas, alpha: true, antialias: true });
29
- // Match these to your composition's frame size.
30
- renderer.setSize(1920, 1080, false);
31
- renderer.setPixelRatio(1);
32
-
33
- const scene = new THREE.Scene();
34
- const camera = new THREE.PerspectiveCamera(35, 1920 / 1080, 0.1, 100);
35
- camera.position.set(0, 0, 6);
36
-
37
- const mesh = new THREE.Mesh(
38
- new THREE.IcosahedronGeometry(1.4, 4),
39
- new THREE.MeshStandardMaterial({ color: 0x64d2ff, roughness: 0.38 }),
40
- );
41
- scene.add(mesh);
42
- scene.add(new THREE.HemisphereLight(0xffffff, 0x223344, 2));
43
-
44
- function renderAt(time) {
45
- mesh.rotation.y = time * 0.7;
46
- mesh.rotation.x = Math.sin(time * 0.6) * 0.16;
47
- renderer.render(scene, camera);
48
- }
49
-
50
- window.addEventListener("hf-seek", (event) => {
51
- renderAt(event.detail.time);
52
- });
53
-
54
- renderAt(window.__hfThreeTime || 0);
55
- </script>
56
- ```
57
-
58
- ```css
59
- #three-layer {
60
- width: 100%;
61
- height: 100%;
62
- display: block;
63
- }
64
- ```
65
-
66
- ## AnimationMixer Pattern
67
-
68
- For GLTF or authored clip animation, seek the mixer directly:
69
-
70
- ```js
71
- function renderAt(time) {
72
- mixer.setTime(time);
73
- renderer.render(scene, camera);
74
- }
75
- ```
76
-
77
- If several mixers exist, seek all of them from the same `time`.
78
-
79
- ## Good Uses
80
-
81
- - Deterministic 3D objects, product spins, particles with seeded data, and shader plates.
82
- - Camera moves derived from `time`.
83
- - GLTF animation clips when assets are local and loaded before validation completes.
84
-
85
- ## Avoid
86
-
87
- - Using `Date.now()`, `performance.now()`, or clock deltas to update scene state.
88
- - Leaving render-critical work inside a free-running animation loop.
89
- - Loading remote models or textures at render time.
90
- - Device-pixel-ratio dependent output. Pin renderer size and pixel ratio for video renders.
91
- - Post-processing passes that depend on previous frame history unless you can reconstruct state from time.
92
-
93
- ## Validation
94
-
95
- After editing a Three.js composition:
96
-
97
- ```bash
98
- npx hyperframes lint
99
- npx hyperframes validate
100
- ```
101
-
102
- ## Credits And References
103
-
104
- - HyperFrames adapter source: `packages/core/src/runtime/adapters/three.ts`.
105
- - Three.js `WebGLRenderer` docs: https://threejs.org/docs/pages/WebGLRenderer.html
106
- - Three.js `AnimationMixer.setTime()` docs: https://threejs.org/docs/pages/AnimationMixer.html