nodeengine 0.1.0__tar.gz → 0.1.1__tar.gz
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.
- {nodeengine-0.1.0 → nodeengine-0.1.1}/.claude-plugin/marketplace.json +2 -2
- {nodeengine-0.1.0 → nodeengine-0.1.1}/.claude-plugin/plugin.json +1 -1
- {nodeengine-0.1.0 → nodeengine-0.1.1}/.gitignore +1 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/CLAUDE.md +20 -6
- {nodeengine-0.1.0 → nodeengine-0.1.1}/PKG-INFO +15 -9
- {nodeengine-0.1.0 → nodeengine-0.1.1}/README.md +14 -8
- {nodeengine-0.1.0 → nodeengine-0.1.1}/install.py +7 -1
- {nodeengine-0.1.0 → nodeengine-0.1.1}/pyproject.toml +1 -1
- {nodeengine-0.1.0 → nodeengine-0.1.1}/LICENSE +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/commands/install.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/docs/SYNCING.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/SKILL.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/reference/patterns.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/reference/taxonomy.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/reference/traps.md +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/scaffold/checkall.py +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/scaffold/stale.py +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/skills/node-engine/scaffold/viewer.html +0 -0
- {nodeengine-0.1.0 → nodeengine-0.1.1}/tools/check_claude_md.py +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
{
|
|
11
11
|
"name": "node-engine",
|
|
12
12
|
"description": "Make staleness fail a check instead of relying on someone remembering. Sets up hash-and-compare guards for summaries, translations, generated files and any fact restated in prose. Carries the discipline too: fix the class not the instance, and a new check is guilty until it has failed on demand.",
|
|
13
|
-
"version": "0.1.
|
|
13
|
+
"version": "0.1.1",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Alexyodude",
|
|
16
16
|
"email": "jihoonhotmail.com@gmail.com"
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
]
|
|
28
28
|
}
|
|
29
29
|
],
|
|
30
|
-
"version": "0.1.
|
|
30
|
+
"version": "0.1.1"
|
|
31
31
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-engine",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Make staleness fail a check instead of relying on someone remembering. Hash-and-compare guards for derived facts, generated artefacts and translations.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Alexyodude",
|
|
@@ -99,8 +99,11 @@ guard was built to catch. That is institutional knowledge, not slop.
|
|
|
99
99
|
|
|
100
100
|
## Publishing
|
|
101
101
|
|
|
102
|
+
Three distribution channels, each needing its own push:
|
|
103
|
+
|
|
102
104
|
```
|
|
103
|
-
git push -u origin main
|
|
105
|
+
git push -u origin main # the curl one-liner reads main directly
|
|
106
|
+
rm -rf dist && uv build && uv publish # PyPI: uvx nodeengine
|
|
104
107
|
/plugin marketplace add Alexyodude/NodeEngine
|
|
105
108
|
/plugin install node-engine@node-engine
|
|
106
109
|
```
|
|
@@ -109,6 +112,15 @@ Bump the version in **all four places** together — `plugin.json`, twice in
|
|
|
109
112
|
`marketplace.json`, `pyproject.toml` — or the install will resolve to something
|
|
110
113
|
that does not exist. `check_claude_md.py` catches a missed one.
|
|
111
114
|
|
|
115
|
+
**`rm -rf dist` is not tidiness.** `uv build` adds to that directory rather than
|
|
116
|
+
replacing it, so a stale wheel from an earlier version gets uploaded alongside
|
|
117
|
+
the new one. Publishing is also one-way: PyPI refuses a re-upload of any version
|
|
118
|
+
number it has ever seen, deleted or not.
|
|
119
|
+
|
|
120
|
+
`uv publish` needs a PyPI token — account-scoped for a first upload of a new
|
|
121
|
+
name, project-scoped after that. Keep it in `.env` (gitignored) and pass it as
|
|
122
|
+
`--token`, never as a committed file.
|
|
123
|
+
|
|
112
124
|
## Known gaps
|
|
113
125
|
|
|
114
126
|
- ~~The one-line installer 404s until the repo is public.~~ **Closed 2026-08-31**
|
|
@@ -124,11 +136,13 @@ Stated plainly because this plugin is about not letting claims drift:
|
|
|
124
136
|
- ~~The version is restated in three places and nothing checks it.~~ **Closed**
|
|
125
137
|
— `tools/check_claude_md.py` fails if the manifests disagree. Proven by
|
|
126
138
|
setting `plugin.json` to `0.2.0` and watching it fire.
|
|
127
|
-
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
139
|
+
- ~~`nodeengine` is not on PyPI.~~ **Closed 2026-08-31** — published 0.1.0
|
|
140
|
+
(`uv publish`); `uvx --refresh nodeengine` in a fresh repo wrote all three
|
|
141
|
+
scaffold files. **A publish is irreversible**: PyPI never allows re-uploading
|
|
142
|
+
a version number, even after a delete, so the next release must bump the
|
|
143
|
+
version in all four places first. Rebuild `dist/` before every publish —
|
|
144
|
+
the first build here predated `viewer.html` and would have shipped a
|
|
145
|
+
two-file installer described by a three-file README.
|
|
132
146
|
- **The scaffold has no tests.** Its correctness is asserted by the reference
|
|
133
147
|
docs, not demonstrated. `checkall.py --prove` prints how to break the checks
|
|
134
148
|
it describes, but nothing runs them here.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: nodeengine
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Install the NodeEngine staleness-guard scaffold into the current repo
|
|
5
5
|
Project-URL: Homepage, https://github.com/Alexyodude/NodeEngine
|
|
6
6
|
License: MIT
|
|
@@ -44,28 +44,34 @@ staleness is not caught by cleverness — it is **structurally unable to hide**.
|
|
|
44
44
|
One line, in any repo:
|
|
45
45
|
|
|
46
46
|
```
|
|
47
|
-
|
|
47
|
+
uvx nodeengine
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
That copies `stale.py`, `checkall.py` and `viewer.html` into `./tools/` and
|
|
51
|
-
prints what to do next.
|
|
52
|
-
|
|
51
|
+
prints what to do next. Add `--into scripts` or `--dry-run` if you want them.
|
|
52
|
+
`pipx run nodeengine` is the same thing. Nothing is installed into your
|
|
53
|
+
project: the installer runs in a throwaway environment, and what lands in
|
|
54
|
+
`tools/` is three readable files you are meant to edit.
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
Without [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/), any
|
|
57
|
+
Python will do:
|
|
56
58
|
|
|
57
59
|
```
|
|
58
|
-
|
|
60
|
+
curl -fsSL https://raw.githubusercontent.com/Alexyodude/NodeEngine/main/install.py | python
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
*
|
|
63
|
+
*Both run code fetched over the network, which is worth being deliberate about.
|
|
62
64
|
To read it first:*
|
|
63
65
|
|
|
64
66
|
```
|
|
65
|
-
curl -
|
|
67
|
+
curl -fsSL https://raw.githubusercontent.com/Alexyodude/NodeEngine/main/install.py -o install.py
|
|
66
68
|
less install.py && python install.py
|
|
67
69
|
```
|
|
68
70
|
|
|
71
|
+
*(`-f` is not decoration: without it, curl pipes an HTTP error page into your
|
|
72
|
+
interpreter and you get a syntax error pointing at `<!DOCTYPE html>` instead of
|
|
73
|
+
a readable failure.)*
|
|
74
|
+
|
|
69
75
|
**As a Claude Code plugin**, if you also want the skill and the guided setup:
|
|
70
76
|
|
|
71
77
|
```
|
|
@@ -34,28 +34,34 @@ staleness is not caught by cleverness — it is **structurally unable to hide**.
|
|
|
34
34
|
One line, in any repo:
|
|
35
35
|
|
|
36
36
|
```
|
|
37
|
-
|
|
37
|
+
uvx nodeengine
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
That copies `stale.py`, `checkall.py` and `viewer.html` into `./tools/` and
|
|
41
|
-
prints what to do next.
|
|
42
|
-
|
|
41
|
+
prints what to do next. Add `--into scripts` or `--dry-run` if you want them.
|
|
42
|
+
`pipx run nodeengine` is the same thing. Nothing is installed into your
|
|
43
|
+
project: the installer runs in a throwaway environment, and what lands in
|
|
44
|
+
`tools/` is three readable files you are meant to edit.
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
Without [uv](https://docs.astral.sh/uv/) or [pipx](https://pipx.pypa.io/), any
|
|
47
|
+
Python will do:
|
|
46
48
|
|
|
47
49
|
```
|
|
48
|
-
|
|
50
|
+
curl -fsSL https://raw.githubusercontent.com/Alexyodude/NodeEngine/main/install.py | python
|
|
49
51
|
```
|
|
50
52
|
|
|
51
|
-
*
|
|
53
|
+
*Both run code fetched over the network, which is worth being deliberate about.
|
|
52
54
|
To read it first:*
|
|
53
55
|
|
|
54
56
|
```
|
|
55
|
-
curl -
|
|
57
|
+
curl -fsSL https://raw.githubusercontent.com/Alexyodude/NodeEngine/main/install.py -o install.py
|
|
56
58
|
less install.py && python install.py
|
|
57
59
|
```
|
|
58
60
|
|
|
61
|
+
*(`-f` is not decoration: without it, curl pipes an HTTP error page into your
|
|
62
|
+
interpreter and you get a syntax error pointing at `<!DOCTYPE html>` instead of
|
|
63
|
+
a readable failure.)*
|
|
64
|
+
|
|
59
65
|
**As a Claude Code plugin**, if you also want the skill and the guided setup:
|
|
60
66
|
|
|
61
67
|
```
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
One line, from anywhere:
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
uvx nodeengine # or: pipx run nodeengine
|
|
6
|
+
|
|
7
|
+
Without uv or pipx, any Python will do. `-f` matters: without it curl pipes an
|
|
8
|
+
HTTP error page into the interpreter, and a 404 surfaces as a syntax error
|
|
9
|
+
pointing at `<!DOCTYPE html>`:
|
|
10
|
+
|
|
11
|
+
curl -fsSL https://raw.githubusercontent.com/Alexyodude/NodeEngine/main/install.py | python
|
|
6
12
|
|
|
7
13
|
Or, if you have the repo or the plugin:
|
|
8
14
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|