memento-mori-jester 0.1.3 → 0.1.5
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/README.md +13 -15
- package/docs/AGENTS.md +6 -12
- package/docs/CLAUDE_CODE.md +42 -0
- package/docs/CLI.md +48 -0
- package/docs/CODEX.md +33 -0
- package/docs/DEMO.md +49 -0
- package/docs/GETTING_STARTED.md +69 -0
- package/docs/RELEASE.md +14 -32
- package/docs/RELEASE_NOTES_v0.1.4.md +23 -0
- package/docs/RELEASE_NOTES_v0.1.5.md +19 -0
- package/docs/TRUSTED_PUBLISHING.md +39 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,16 +10,16 @@ It roasts the reasoning, not the human.
|
|
|
10
10
|
|
|
11
11
|
## Try It
|
|
12
12
|
|
|
13
|
-
Run
|
|
13
|
+
Run the published package:
|
|
14
14
|
|
|
15
15
|
```powershell
|
|
16
|
-
npx -y
|
|
16
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Start a project with config, MCP JSON, and agent instructions:
|
|
20
20
|
|
|
21
21
|
```powershell
|
|
22
|
-
npx -y memento-mori-jester@latest
|
|
22
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Installed globally:
|
|
@@ -51,23 +51,16 @@ A dazzling command, if the desired outcome is court-sponsored regret.
|
|
|
51
51
|
For a copy-pasteable MCP config and suggested agent instruction:
|
|
52
52
|
|
|
53
53
|
```powershell
|
|
54
|
-
npx -y
|
|
54
|
+
npx -y memento-mori-jester@latest init
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
For a starter kit that writes project files:
|
|
58
58
|
|
|
59
59
|
```powershell
|
|
60
|
-
npx -y github:Martin123132/Memento-Mori bootstrap --preset node --package github:Martin123132/Memento-Mori
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
After npm publish:
|
|
64
|
-
|
|
65
|
-
```powershell
|
|
66
|
-
npx -y memento-mori-jester@latest init
|
|
67
60
|
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
68
61
|
```
|
|
69
62
|
|
|
70
|
-
For this local checkout
|
|
63
|
+
For this local checkout:
|
|
71
64
|
|
|
72
65
|
```powershell
|
|
73
66
|
node .\dist\cli.js init --mode local
|
|
@@ -253,8 +246,15 @@ Before risky commands, final answers, commits, or large edits, call the Memento
|
|
|
253
246
|
|
|
254
247
|
More setup examples:
|
|
255
248
|
|
|
249
|
+
- [Getting Started](docs/GETTING_STARTED.md)
|
|
250
|
+
- [CLI Setup](docs/CLI.md)
|
|
251
|
+
- [Codex Setup](docs/CODEX.md)
|
|
252
|
+
- [Claude Code Setup](docs/CLAUDE_CODE.md)
|
|
256
253
|
- [Agent Setup](docs/AGENTS.md)
|
|
257
254
|
- [GitHub Actions](docs/GITHUB_ACTIONS.md)
|
|
255
|
+
- [Demo Script](docs/DEMO.md)
|
|
256
|
+
- [Roadmap](ROADMAP.md)
|
|
257
|
+
- [Trusted npm Publishing](docs/TRUSTED_PUBLISHING.md)
|
|
258
258
|
|
|
259
259
|
## Installer Scripts
|
|
260
260
|
|
|
@@ -297,8 +297,6 @@ Both scripts check Node 20+, run a smoke `doctor`, and print MCP config.
|
|
|
297
297
|
|
|
298
298
|
## Publishing
|
|
299
299
|
|
|
300
|
-
The npm package name `memento-mori-jester` was available when checked on 2026-05-17.
|
|
301
|
-
|
|
302
300
|
Release checklist:
|
|
303
301
|
|
|
304
302
|
```powershell
|
package/docs/AGENTS.md
CHANGED
|
@@ -8,7 +8,7 @@ Memento Mori Jester is an MCP stdio server plus a normal CLI. The safest pattern
|
|
|
8
8
|
|
|
9
9
|
## Quick MCP Config
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Use the published package with `npx`:
|
|
12
12
|
|
|
13
13
|
```json
|
|
14
14
|
{
|
|
@@ -57,13 +57,7 @@ Before risky commands, final answers, commits, or large edits, call the Memento
|
|
|
57
57
|
Use `bootstrap` inside a repo when you want the project files created for you:
|
|
58
58
|
|
|
59
59
|
```powershell
|
|
60
|
-
jester bootstrap --preset node
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Before npm publish, the GitHub `npx` path should keep using the GitHub package spec in generated MCP config:
|
|
64
|
-
|
|
65
|
-
```powershell
|
|
66
|
-
npx -y github:Martin123132/Memento-Mori bootstrap --preset node --package github:Martin123132/Memento-Mori
|
|
60
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
67
61
|
```
|
|
68
62
|
|
|
69
63
|
It writes `jester.config.json`, `memento-mori.mcp.json`, and `MEMENTO_MORI.md`. Existing files are kept unless `--force` is passed.
|
|
@@ -80,10 +74,10 @@ jester bootstrap --preset security --hook pre-commit --hook pre-push
|
|
|
80
74
|
Use:
|
|
81
75
|
|
|
82
76
|
```powershell
|
|
83
|
-
jester init --agent codex
|
|
77
|
+
npx -y memento-mori-jester@latest init --agent codex
|
|
84
78
|
```
|
|
85
79
|
|
|
86
|
-
Then paste the generated `mcpServers` block wherever your Codex MCP configuration is kept. For local development
|
|
80
|
+
Then paste the generated `mcpServers` block wherever your Codex MCP configuration is kept. For local development:
|
|
87
81
|
|
|
88
82
|
```powershell
|
|
89
83
|
node .\dist\cli.js init --mode local --agent codex
|
|
@@ -94,7 +88,7 @@ node .\dist\cli.js init --mode local --agent codex
|
|
|
94
88
|
Use:
|
|
95
89
|
|
|
96
90
|
```powershell
|
|
97
|
-
jester init --agent claude
|
|
91
|
+
npx -y memento-mori-jester@latest init --agent claude
|
|
98
92
|
```
|
|
99
93
|
|
|
100
94
|
Then paste the generated `mcpServers` block into Claude Code's MCP configuration. If Claude Code asks for a command and args separately, keep the generated values exactly.
|
|
@@ -104,7 +98,7 @@ Then paste the generated `mcpServers` block into Claude Code's MCP configuration
|
|
|
104
98
|
Use:
|
|
105
99
|
|
|
106
100
|
```powershell
|
|
107
|
-
jester mcp-config --mode npx
|
|
101
|
+
npx -y memento-mori-jester@latest mcp-config --mode npx
|
|
108
102
|
```
|
|
109
103
|
|
|
110
104
|
If the client does not support `npx`, install globally:
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Claude Code Setup
|
|
2
|
+
|
|
3
|
+
## Generate The Config
|
|
4
|
+
|
|
5
|
+
```powershell
|
|
6
|
+
npx -y memento-mori-jester@latest init --agent claude
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Copy the generated command and args into Claude Code's MCP configuration.
|
|
10
|
+
|
|
11
|
+
The default server command is:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"command": "npx",
|
|
16
|
+
"args": [
|
|
17
|
+
"-y",
|
|
18
|
+
"memento-mori-jester@latest",
|
|
19
|
+
"mcp-server"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Project Starter Kit
|
|
25
|
+
|
|
26
|
+
Inside a repo:
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This creates:
|
|
33
|
+
|
|
34
|
+
- `jester.config.json`
|
|
35
|
+
- `memento-mori.mcp.json`
|
|
36
|
+
- `MEMENTO_MORI.md`
|
|
37
|
+
|
|
38
|
+
## Suggested Claude Instruction
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
Before risky commands, final answers, commits, or large edits, call the Memento Mori Jester. Treat BLOCK as requiring a changed plan, and CAUTION as requiring at least one concrete verification step.
|
|
42
|
+
```
|
package/docs/CLI.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# CLI Setup
|
|
2
|
+
|
|
3
|
+
Use the CLI when you want quick checks without wiring an agent yet.
|
|
4
|
+
|
|
5
|
+
## Run Without Installing
|
|
6
|
+
|
|
7
|
+
```powershell
|
|
8
|
+
npx -y memento-mori-jester@latest doctor
|
|
9
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
10
|
+
npx -y memento-mori-jester@latest plan "I will just refactor auth and ship it"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Install Globally
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
npm install -g memento-mori-jester
|
|
17
|
+
jester doctor
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
After that, use `jester` directly:
|
|
21
|
+
|
|
22
|
+
```powershell
|
|
23
|
+
jester command "Remove-Item .\dist -Recurse -Force"
|
|
24
|
+
jester final --file .\final-answer.txt --tone professional
|
|
25
|
+
git diff | jester diff --fail-on block
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Bootstrap A Repo
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
jester bootstrap --preset node
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Presets:
|
|
35
|
+
|
|
36
|
+
- `node`: npm/package rules.
|
|
37
|
+
- `python`: Python dependency and dynamic execution rules.
|
|
38
|
+
- `security`: stricter TLS, CORS, secrets, and permission checks.
|
|
39
|
+
|
|
40
|
+
## JSON Output
|
|
41
|
+
|
|
42
|
+
Use `--json` when another tool needs to parse the result:
|
|
43
|
+
|
|
44
|
+
```powershell
|
|
45
|
+
jester command "git reset --hard" --json
|
|
46
|
+
jester config validate --json
|
|
47
|
+
jester bootstrap --preset node --json
|
|
48
|
+
```
|
package/docs/CODEX.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Codex Setup
|
|
2
|
+
|
|
3
|
+
## Generate The Config
|
|
4
|
+
|
|
5
|
+
```powershell
|
|
6
|
+
npx -y memento-mori-jester@latest init --agent codex
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Copy the generated `mcpServers` block into your Codex MCP configuration.
|
|
10
|
+
|
|
11
|
+
## Project Starter Kit
|
|
12
|
+
|
|
13
|
+
Inside a repo:
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
This creates `memento-mori.mcp.json` and `MEMENTO_MORI.md`. Use the generated agent instruction from `MEMENTO_MORI.md` in your Codex rules.
|
|
20
|
+
|
|
21
|
+
## Suggested Codex Rule
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
Before risky commands, final answers, commits, or large edits, call the Memento Mori Jester. Treat BLOCK as requiring a changed plan, and CAUTION as requiring at least one concrete verification step.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Local Development From This Repo
|
|
28
|
+
|
|
29
|
+
```powershell
|
|
30
|
+
npm.cmd install
|
|
31
|
+
npm.cmd run build
|
|
32
|
+
node .\dist\cli.js init --mode local --agent codex
|
|
33
|
+
```
|
package/docs/DEMO.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Demo Script
|
|
2
|
+
|
|
3
|
+
Use this when showing someone what the project does.
|
|
4
|
+
|
|
5
|
+
## 1. Health Check
|
|
6
|
+
|
|
7
|
+
```powershell
|
|
8
|
+
npx -y memento-mori-jester@latest doctor
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Expected result: `PASS` checks and a final line saying the tool is fit for use.
|
|
12
|
+
|
|
13
|
+
## 2. Dangerous Command Review
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Expected result: `BLOCK`.
|
|
20
|
+
|
|
21
|
+
## 3. Overconfident Plan Review
|
|
22
|
+
|
|
23
|
+
```powershell
|
|
24
|
+
npx -y memento-mori-jester@latest plan "I will just refactor auth and ship it"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Expected result: usually `CAUTION`, because the plan touches a sensitive area and has no verification step.
|
|
28
|
+
|
|
29
|
+
## 4. Bootstrap A Fresh Folder
|
|
30
|
+
|
|
31
|
+
```powershell
|
|
32
|
+
mkdir jester-demo
|
|
33
|
+
cd jester-demo
|
|
34
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Expected files:
|
|
38
|
+
|
|
39
|
+
- `jester.config.json`
|
|
40
|
+
- `memento-mori.mcp.json`
|
|
41
|
+
- `MEMENTO_MORI.md`
|
|
42
|
+
|
|
43
|
+
## 5. Validate The Config
|
|
44
|
+
|
|
45
|
+
```powershell
|
|
46
|
+
npx -y memento-mori-jester@latest config validate
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Expected result: `Config valid`.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
This is the shortest path for a normal project.
|
|
4
|
+
|
|
5
|
+
## 1. Check It Runs
|
|
6
|
+
|
|
7
|
+
```powershell
|
|
8
|
+
npx -y memento-mori-jester@latest doctor
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
You should see four `PASS` lines.
|
|
12
|
+
|
|
13
|
+
## 2. See The Point
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
That should return `BLOCK`. Nothing dangerous is run; the command is only reviewed as text.
|
|
20
|
+
|
|
21
|
+
## 3. Add It To A Project
|
|
22
|
+
|
|
23
|
+
Run this from the folder of the project you want protected:
|
|
24
|
+
|
|
25
|
+
```powershell
|
|
26
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
That creates:
|
|
30
|
+
|
|
31
|
+
- `jester.config.json`
|
|
32
|
+
- `memento-mori.mcp.json`
|
|
33
|
+
- `MEMENTO_MORI.md`
|
|
34
|
+
|
|
35
|
+
Existing files are kept. Add `--force` only when you want to overwrite the starter files.
|
|
36
|
+
|
|
37
|
+
## 4. Optional Git Hooks
|
|
38
|
+
|
|
39
|
+
To make git call the Jester before commits:
|
|
40
|
+
|
|
41
|
+
```powershell
|
|
42
|
+
npx -y memento-mori-jester@latest bootstrap --preset node --hook pre-commit
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
To also check before pushing:
|
|
46
|
+
|
|
47
|
+
```powershell
|
|
48
|
+
npx -y memento-mori-jester@latest bootstrap --preset node --hook pre-commit --hook pre-push
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 5. Agent Instruction
|
|
52
|
+
|
|
53
|
+
Put this in your agent rules or custom instructions:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
Before risky commands, final answers, commits, or large edits, call the Memento Mori Jester. Treat BLOCK as requiring a changed plan, and CAUTION as requiring at least one concrete verification step.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## What To Share With Someone Else
|
|
60
|
+
|
|
61
|
+
For most people, this is enough:
|
|
62
|
+
|
|
63
|
+
```powershell
|
|
64
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then tell them to open `MEMENTO_MORI.md`.
|
|
68
|
+
|
|
69
|
+
For where this is going next, see [ROADMAP.md](../ROADMAP.md).
|
package/docs/RELEASE.md
CHANGED
|
@@ -1,34 +1,8 @@
|
|
|
1
1
|
# Release Guide
|
|
2
2
|
|
|
3
|
-
This project is
|
|
3
|
+
This project is published as a one-command package on npm.
|
|
4
4
|
|
|
5
|
-
## 1.
|
|
6
|
-
|
|
7
|
-
Suggested repo name:
|
|
8
|
-
|
|
9
|
-
```text
|
|
10
|
-
Memento-Mori
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
After creating it:
|
|
14
|
-
|
|
15
|
-
```powershell
|
|
16
|
-
git remote add origin https://github.com/Martin123132/Memento-Mori.git
|
|
17
|
-
git branch -M main
|
|
18
|
-
git push -u origin main
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 2. Confirm Package Name
|
|
22
|
-
|
|
23
|
-
The name was available on 2026-05-17:
|
|
24
|
-
|
|
25
|
-
```powershell
|
|
26
|
-
npm view memento-mori-jester version
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
An npm 404 means the name is still unclaimed.
|
|
30
|
-
|
|
31
|
-
## 3. Publish To npm
|
|
5
|
+
## 1. Publish To npm
|
|
32
6
|
|
|
33
7
|
```powershell
|
|
34
8
|
npm login
|
|
@@ -37,13 +11,17 @@ npm run pack:dry
|
|
|
37
11
|
npm publish
|
|
38
12
|
```
|
|
39
13
|
|
|
14
|
+
If npm asks for browser authentication, approve it in the browser window that opens.
|
|
15
|
+
|
|
16
|
+
For the less painful route, configure trusted publishing once using [TRUSTED_PUBLISHING.md](TRUSTED_PUBLISHING.md), then run the `npm Publish` workflow in GitHub Actions.
|
|
17
|
+
|
|
40
18
|
The package publishes these bins:
|
|
41
19
|
|
|
42
20
|
- `jester`: human CLI
|
|
43
21
|
- `memento-mori-jester`: human CLI, useful for `npx`
|
|
44
22
|
- `memento-mori-jester-mcp`: MCP stdio server
|
|
45
23
|
|
|
46
|
-
##
|
|
24
|
+
## 2. Smoke Test Published Package
|
|
47
25
|
|
|
48
26
|
```powershell
|
|
49
27
|
npx -y memento-mori-jester@latest doctor
|
|
@@ -64,7 +42,7 @@ npm whoami
|
|
|
64
42
|
|
|
65
43
|
Then run the publish commands again.
|
|
66
44
|
|
|
67
|
-
##
|
|
45
|
+
## 3. MCP Copy-Paste
|
|
68
46
|
|
|
69
47
|
The lowest-friction config uses `npx`:
|
|
70
48
|
|
|
@@ -96,7 +74,7 @@ For users who install globally:
|
|
|
96
74
|
}
|
|
97
75
|
```
|
|
98
76
|
|
|
99
|
-
##
|
|
77
|
+
## 4. Repository Metadata
|
|
100
78
|
|
|
101
79
|
The package is configured for:
|
|
102
80
|
|
|
@@ -106,7 +84,7 @@ https://github.com/Martin123132/Memento-Mori
|
|
|
106
84
|
|
|
107
85
|
If the repo moves, update `repository`, `homepage`, and `bugs` in `package.json`, plus the raw installer URLs in `README.md`.
|
|
108
86
|
|
|
109
|
-
##
|
|
87
|
+
## 5. Post-Release Workflow Check
|
|
110
88
|
|
|
111
89
|
In a throwaway git repo:
|
|
112
90
|
|
|
@@ -117,3 +95,7 @@ npx -y memento-mori-jester@latest hook-status
|
|
|
117
95
|
```
|
|
118
96
|
|
|
119
97
|
Then stage a risky diff and confirm the hook blocks or cautions according to `hookFailOn`.
|
|
98
|
+
|
|
99
|
+
## 6. GitHub Release
|
|
100
|
+
|
|
101
|
+
Pushing a `v*` tag now creates a GitHub Release automatically. If `docs/RELEASE_NOTES_<tag>.md` exists, those notes are used; otherwise GitHub-generated notes are used.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# v0.1.4 Release Notes
|
|
2
|
+
|
|
3
|
+
This is the first polish release after the npm package went live.
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
|
|
7
|
+
- The README now starts with the published npm command instead of the old GitHub-only pre-publish path.
|
|
8
|
+
- Added plain setup docs for getting started, CLI use, Codex, and Claude Code.
|
|
9
|
+
- Added a short demo script for showing the tool quickly.
|
|
10
|
+
- Cleaned agent setup docs now that `memento-mori-jester@latest` exists.
|
|
11
|
+
|
|
12
|
+
## Useful Commands
|
|
13
|
+
|
|
14
|
+
```powershell
|
|
15
|
+
npx -y memento-mori-jester@latest doctor
|
|
16
|
+
npx -y memento-mori-jester@latest command "git reset --hard"
|
|
17
|
+
npx -y memento-mori-jester@latest bootstrap --preset node
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Links
|
|
21
|
+
|
|
22
|
+
- npm: https://www.npmjs.com/package/memento-mori-jester
|
|
23
|
+
- GitHub: https://github.com/Martin123132/Memento-Mori
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# v0.1.5 Release Notes
|
|
2
|
+
|
|
3
|
+
This release makes the public release process feel more real and less manual.
|
|
4
|
+
|
|
5
|
+
## Added
|
|
6
|
+
|
|
7
|
+
- GitHub Release workflow for future `v*` tags.
|
|
8
|
+
- Manual npm trusted-publishing workflow, ready for npm's one-time trusted publisher setup.
|
|
9
|
+
- `ROADMAP.md` with near-term direction and product ideas.
|
|
10
|
+
- Trusted publishing setup guide.
|
|
11
|
+
|
|
12
|
+
## Why
|
|
13
|
+
|
|
14
|
+
The package is now live on npm, so the project needs a cleaner release path and a public roadmap. This release puts those pieces in the repo instead of leaving them as scattered instructions.
|
|
15
|
+
|
|
16
|
+
## Useful Links
|
|
17
|
+
|
|
18
|
+
- npm: https://www.npmjs.com/package/memento-mori-jester
|
|
19
|
+
- GitHub: https://github.com/Martin123132/Memento-Mori
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Trusted npm Publishing
|
|
2
|
+
|
|
3
|
+
Trusted publishing lets GitHub Actions publish this package to npm without a long-lived npm token.
|
|
4
|
+
|
|
5
|
+
## One-Time npm Setup
|
|
6
|
+
|
|
7
|
+
Open the package settings on npm:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
https://www.npmjs.com/package/memento-mori-jester/access
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Find the trusted publishing settings and add:
|
|
14
|
+
|
|
15
|
+
- Provider: `GitHub Actions`
|
|
16
|
+
- Organization or user: `Martin123132`
|
|
17
|
+
- Repository: `Memento-Mori`
|
|
18
|
+
- Workflow filename: `npm-publish.yml`
|
|
19
|
+
|
|
20
|
+
The workflow file must exist in `.github/workflows/`, which this repo now has.
|
|
21
|
+
|
|
22
|
+
## Manual Publish From GitHub
|
|
23
|
+
|
|
24
|
+
After the npm trusted publisher is configured:
|
|
25
|
+
|
|
26
|
+
1. Open the GitHub repo.
|
|
27
|
+
2. Go to `Actions`.
|
|
28
|
+
3. Open `npm Publish`.
|
|
29
|
+
4. Click `Run workflow`.
|
|
30
|
+
|
|
31
|
+
The workflow installs dependencies, runs tests, and publishes the current package version to npm.
|
|
32
|
+
|
|
33
|
+
## Why It Exists
|
|
34
|
+
|
|
35
|
+
Manual `npm publish` works, but npm asks for browser authentication. Trusted publishing moves that trust to the GitHub workflow and avoids storing a reusable npm token.
|
|
36
|
+
|
|
37
|
+
## Important
|
|
38
|
+
|
|
39
|
+
Only run the workflow after `package.json` has a version that npm does not already have. npm will reject publishing the same version twice.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memento-mori-jester",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "A local court-jester sidecar for AI coding agents: review plans, commands, diffs, and final claims before they get too pleased with themselves.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|