visual-companion 0.3.1

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 (3) hide show
  1. package/PUBLISHING.md +76 -0
  2. package/README.md +39 -0
  3. package/package.json +34 -0
package/PUBLISHING.md ADDED
@@ -0,0 +1,76 @@
1
+ # Publishing the npm placeholder
2
+
3
+ `visual-companion` on npm is a **name reservation**, not a distribution channel.
4
+ The real program is a single static binary; see the project README.
5
+
6
+ This is deliberately not wired into CI. Re-publishing is a rare, manual act, and
7
+ a workflow that fires on every tag would burn versions on an empty package.
8
+
9
+ ## Why a placeholder at all
10
+
11
+ The name is worth more than the work of claiming it. Anyone searching npm for a
12
+ "visual companion" or "MCP brainstorming" tool would otherwise find a squatter,
13
+ and the cost of reclaiming a name is far higher than the cost of holding it.
14
+
15
+ ## One-time setup
16
+
17
+ The token in `~/.npmrc` must be able to publish the `visual-companion` package.
18
+ A stale token fails in a confusing way: `npm publish` reports
19
+
20
+ ```
21
+ 404 Not Found - PUT https://registry.npmjs.org/visual-companion
22
+ ```
23
+
24
+ That is npm's response to a token it does not accept — it deliberately does not
25
+ distinguish "no such package" from "you may not create it", so a 404 on PUT
26
+ almost always means the token, not the name.
27
+
28
+ Check the token before blaming anything else:
29
+
30
+ ```bash
31
+ npm whoami --registry=https://registry.npmjs.org/
32
+ ```
33
+
34
+ `{}` or a 401 means the token is revoked or expired. Mint a new **granular
35
+ access token** with *Read and write* permission at
36
+ <https://www.npmjs.com/settings/~/tokens>, and put it in `~/.npmrc`:
37
+
38
+ ```
39
+ //registry.npmjs.org/:_authToken=npm_xxxxxxxxxxxxxxxx
40
+ ```
41
+
42
+ Note that `~/.npmrc` may point `registry` at a mirror (npmmirror, for instance).
43
+ `whoami` and `publish` then go to the mirror, which does not know about your
44
+ npmjs token. Always pass the registry explicitly, as the commands below do.
45
+
46
+ ## Publishing
47
+
48
+ ```bash
49
+ cd packaging/npm
50
+ npm version <x.y.z> --no-git-tag-version # keep in step with the Git tag
51
+ npm publish --registry=https://registry.npmjs.org/
52
+ ```
53
+
54
+ Then verify:
55
+
56
+ ```bash
57
+ npm view visual-companion version --registry=https://registry.npmjs.org/
58
+ ```
59
+
60
+ ## Replacing the placeholder with a real package
61
+
62
+ If npm distribution is ever wanted, the pattern is one package per platform
63
+ holding the binary, plus this package as the entry point:
64
+
65
+ ```
66
+ visual-companion bin -> launcher.js, optionalDependencies on the below
67
+ visual-companion-darwin-arm64 the binary
68
+ visual-companion-linux-x64 the binary
69
+ ...
70
+ ```
71
+
72
+ The launcher picks the artifact for `process.platform` / `process.arch` and
73
+ spawns it. Weigh that against the point of the project first: it exists so the
74
+ target machine needs **no runtime**, and a machine without Node cannot use an
75
+ npm package. Users who do have Node are already served by
76
+ `scripts/install.sh` in one line.
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # visual-companion (placeholder)
2
+
3
+ **This package intentionally contains no code.** It exists so the name is not
4
+ taken by something unrelated before the real npm packaging lands.
5
+
6
+ The actual program is an MCP stdio server that gives a coding agent a browser
7
+ tab for showing mockups, diagrams, and visual options during a brainstorming
8
+ session. The agent pushes HTML fragments; you look and click; the agent reads
9
+ the clicks back on its next turn.
10
+
11
+ ## Install the real thing
12
+
13
+ It ships as a **single static binary** with the browser assets embedded — no
14
+ Node, no npm, no runtime. The installer detects your platform, verifies the
15
+ SHA256, installs to `~/.local/bin`, and clears the macOS quarantine flag:
16
+
17
+ ```bash
18
+ curl -fsSL https://raw.githubusercontent.com/ystyle/visual-companion/main/scripts/install.sh | bash
19
+ ```
20
+
21
+ Or download the artifact for your platform from the
22
+ [releases page](https://github.com/ystyle/visual-companion/releases).
23
+
24
+ ## Configure your agent
25
+
26
+ ```bash
27
+ claude mcp add visual-companion -- visual-companion
28
+ ```
29
+
30
+ No path argument is needed: the server discovers your workspace over MCP roots
31
+ when a companion starts.
32
+
33
+ See the [project README](https://github.com/ystyle/visual-companion#readme) for
34
+ screen-authoring conventions, the design/version scheme, and how it works.
35
+
36
+ ## License
37
+
38
+ MIT. The browser assets are adapted from
39
+ [Superpowers](https://github.com/obra/superpowers) by Jesse Vincent.
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "visual-companion",
3
+ "version": "0.3.1",
4
+ "description": "MCP browser companion for visual brainstorming. Placeholder package — the real distribution is a single static binary with no runtime dependency.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "brainstorming",
9
+ "mockups",
10
+ "visual",
11
+ "design"
12
+ ],
13
+ "homepage": "https://github.com/ystyle/visual-companion",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/ystyle/visual-companion.git"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/ystyle/visual-companion/issues"
20
+ },
21
+ "license": "MIT",
22
+ "author": "ystyle",
23
+ "files": [
24
+ "README.md",
25
+ "PUBLISHING.md"
26
+ ],
27
+ "publishConfig": {
28
+ "registry": "https://registry.npmjs.org/",
29
+ "access": "public"
30
+ },
31
+ "scripts": {
32
+ "prepublishOnly": "node -e \"const p=require('./package.json');if(!/^\\d+\\.\\d+\\.\\d+/.test(p.version)){console.error('bad version');process.exit(1)}\""
33
+ }
34
+ }