standdown 0.2.0 → 0.2.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.
- package/README.md +42 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -99,7 +99,48 @@ npm install standdown
|
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
`standdown` is published to npm and versioned with semver from `0.1.0`. Releases
|
|
102
|
-
are cut by a human
|
|
102
|
+
are cut by a human with `npm run release` (see [RELEASING.md](./RELEASING.md));
|
|
103
|
+
the repo does not publish from CI.
|
|
104
|
+
|
|
105
|
+
## Set it up with an AI agent
|
|
106
|
+
|
|
107
|
+
The fastest path: hand the whole integration to your coding agent. Copy this
|
|
108
|
+
prompt into Claude Code, Cursor, Copilot, etc. — pointed at your extension's repo:
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
Integrate the `standdown` npm library into this browser extension so it stops
|
|
112
|
+
hijacking affiliate attribution when a partner already owns the sale. Follow the
|
|
113
|
+
official guide at https://raw.githubusercontent.com/dupe-com/standdown/main/AGENTS.md.
|
|
114
|
+
|
|
115
|
+
Do the full loop:
|
|
116
|
+
1. `npm install standdown`.
|
|
117
|
+
2. Pick the adapter: `standdown/webext` for a Chromium MV3 extension, or
|
|
118
|
+
`standdown/content` for Safari / content-script-only.
|
|
119
|
+
3. Find every place this extension fires affiliate attribution (redirects, link
|
|
120
|
+
rewrites, cookie writes) and gate each behind the stand-down decision — do
|
|
121
|
+
nothing when `decision.standDown` is true.
|
|
122
|
+
4. Bundle per examples/mv3-extension (subpath imports don't resolve raw in
|
|
123
|
+
extension contexts).
|
|
124
|
+
5. Build the unpacked extension, then grade it:
|
|
125
|
+
git clone https://github.com/dupe-com/standdown && cd standdown/audit && \
|
|
126
|
+
npm install && npx tsx grade/grade.ts <path-to-unpacked-extension>
|
|
127
|
+
Report the letter grade and fix anything below A.
|
|
128
|
+
|
|
129
|
+
Preserve the invariants: decisions stay local and synchronous (no network in the
|
|
130
|
+
decision path), no user identity in signals, and fail toward standing down.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Already have homegrown stand-down logic?** Use the brownfield prompt in
|
|
134
|
+
[`ADOPTING.md`](./ADOPTING.md) instead — it migrates your existing decision path
|
|
135
|
+
onto the library provably, without risking revenue in the switch.
|
|
136
|
+
|
|
137
|
+
**Claude Code users** can skip the prompt: this repo ships two skills in
|
|
138
|
+
[`.claude/skills/standdown`](./.claude/skills/standdown) (greenfield install) and
|
|
139
|
+
[`skills/adopt-standdown`](./skills/adopt-standdown) (brownfield migration). Copy
|
|
140
|
+
the one you want into your project's `.claude/skills/` (or `~/.claude/skills/`)
|
|
141
|
+
and run `/standdown` (or `/adopt-standdown`). Agents that read
|
|
142
|
+
[`AGENTS.md`](./AGENTS.md) or
|
|
143
|
+
[`llms.txt`](./llms.txt) get the same playbook automatically.
|
|
103
144
|
|
|
104
145
|
## Webext Quickstart
|
|
105
146
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "standdown",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Affiliate stand-down, done right, for browser extensions.",
|
|
5
5
|
"author": "Dupe (https://dupe.com)",
|
|
6
6
|
"repository": {
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"lint": "biome check .",
|
|
64
64
|
"build": "tsup",
|
|
65
65
|
"test": "vitest run",
|
|
66
|
-
"policies-cite-check": "node scripts/policies-cite-check.mjs"
|
|
66
|
+
"policies-cite-check": "node scripts/policies-cite-check.mjs",
|
|
67
|
+
"release": "bash scripts/release.sh"
|
|
67
68
|
},
|
|
68
69
|
"dependencies": {},
|
|
69
70
|
"devDependencies": {
|