@holdyourvoice/hyv 2.8.0 → 2.8.2
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/CHANGELOG.md +18 -0
- package/README.md +94 -50
- package/assets/FREE-PAID.md +46 -0
- package/dist/index.js +8334 -8004
- package/package.json +10 -3
- package/scripts/postinstall-lib.js +60 -0
- package/scripts/postinstall.js +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
All notable CLI changes. Also mirrored to [holdyourvoice.com/changelog](https://holdyourvoice.com/changelog) for user-facing releases.
|
|
4
4
|
|
|
5
|
+
## [2.8.2] — 2026-06-12
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Phase 5 marketing: `hyv content` (blog outlines, CI snippets, share templates)
|
|
9
|
+
- `hyv plan --free` — canonical free vs paid matrix in terminal
|
|
10
|
+
- `cli/assets/FREE-PAID.md` — shipped free/paid reference
|
|
11
|
+
- Scan funnel hints + `scan_complete` / `init_success` telemetry events
|
|
12
|
+
- Landing + npm README: npx-first install, free CLI section, SEO keywords
|
|
13
|
+
|
|
14
|
+
### Improved
|
|
15
|
+
- Postinstall, welcome, plan, and init flows promote npx + free local tier
|
|
16
|
+
- npm package description optimized for cursor/claude/MCP discovery
|
|
17
|
+
|
|
18
|
+
## [2.8.1] — 2026-06-12
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- `postinstall-lib.js` now included in published tarball — `npm install` no longer fails on postinstall
|
|
22
|
+
|
|
5
23
|
## [2.8.0] — 2026-06-12
|
|
6
24
|
|
|
7
25
|
### Added
|
package/README.md
CHANGED
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
make your ai agent sound exactly like you.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`@holdyourvoice/hyv` is a CLI-first voice gate for AI workflows. scan drafts for AI writing patterns locally (offline, no API), wire it into cursor/claude via MCP, and unlock profile-aware rewrites when you subscribe.
|
|
6
|
+
|
|
7
|
+
**Try without installing:**
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx @holdyourvoice/hyv welcome
|
|
11
|
+
npx @holdyourvoice/hyv scan draft.md
|
|
12
|
+
```
|
|
6
13
|
|
|
7
14
|
## install
|
|
8
15
|
|
|
@@ -10,40 +17,63 @@ make your ai agent sound exactly like you.
|
|
|
10
17
|
npm i -g @holdyourvoice/hyv
|
|
11
18
|
```
|
|
12
19
|
|
|
13
|
-
|
|
20
|
+
postinstall auto-configures MCP for claude desktop, cursor, windsurf, and claude code when those apps are present.
|
|
14
21
|
|
|
15
|
-
##
|
|
22
|
+
## free vs paid
|
|
23
|
+
|
|
24
|
+
| free forever (local, no account) | paid unlocks |
|
|
25
|
+
|----------------------------------|--------------|
|
|
26
|
+
| `hyv scan`, `fix`, `check`, `score`, `diff`, `batch`, `watch` | voice profiles synced from your account |
|
|
27
|
+
| `hyv mcp` — agent tools (`hyv_scan`, `hyv_clean`, …) | learning loop: `hyv reinforce`, `hyv add` |
|
|
28
|
+
| `hyv welcome`, `hyv doctor`, `hyv content` | profile-aware `hyv rewrite` prompts |
|
|
29
|
+
| 30+ free web tools at [holdyourvoice.com/tools](https://holdyourvoice.com/tools) | hybrid server analysis (`hyv scan --server`, MCP `hyv_analyze`) |
|
|
30
|
+
| public voice profiles + blog | multiple profiles, team voices, dashboard |
|
|
16
31
|
|
|
17
32
|
```bash
|
|
18
|
-
#
|
|
19
|
-
hyv
|
|
33
|
+
hyv plan --free # full matrix in the terminal
|
|
34
|
+
hyv welcome # live demo + every free capability
|
|
35
|
+
```
|
|
20
36
|
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
local scan never calls an LLM. your text stays on your machine.
|
|
38
|
+
|
|
39
|
+
## quick start
|
|
23
40
|
|
|
24
|
-
|
|
41
|
+
```bash
|
|
42
|
+
# instant demo — no auth
|
|
43
|
+
npx @holdyourvoice/hyv welcome
|
|
44
|
+
|
|
45
|
+
# scan a draft offline
|
|
25
46
|
hyv scan draft.md
|
|
26
47
|
|
|
27
|
-
#
|
|
48
|
+
# sign in when you want profiles + learning
|
|
49
|
+
hyv init
|
|
50
|
+
hyv new my-voice
|
|
51
|
+
|
|
52
|
+
# generate a rewrite prompt (profile-aware when subscribed)
|
|
28
53
|
hyv rewrite draft.md
|
|
29
54
|
```
|
|
30
55
|
|
|
31
|
-
##
|
|
32
|
-
|
|
33
|
-
`hyv` includes a built-in MCP server for Claude Desktop, Claude Code, Cursor, Windsurf, and Codex.
|
|
56
|
+
## npx (no global install)
|
|
34
57
|
|
|
35
58
|
```bash
|
|
36
|
-
|
|
37
|
-
hyv
|
|
59
|
+
npx @holdyourvoice/hyv welcome
|
|
60
|
+
npx @holdyourvoice/hyv scan draft.md
|
|
61
|
+
npx @holdyourvoice/hyv fix draft.md
|
|
62
|
+
npx @holdyourvoice/hyv init
|
|
63
|
+
npx @holdyourvoice/hyv mcp --setup
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## MCP server
|
|
38
67
|
|
|
39
|
-
|
|
40
|
-
hyv mcp --test
|
|
68
|
+
`hyv mcp` runs a stdio MCP server for claude desktop, claude code, cursor, windsurf, codex, and command code.
|
|
41
69
|
|
|
42
|
-
|
|
43
|
-
hyv mcp
|
|
70
|
+
```bash
|
|
71
|
+
hyv mcp --setup # copy-paste config for every agent
|
|
72
|
+
hyv mcp --test # health check (tools, demo pipeline, profile)
|
|
73
|
+
hyv mcp # start server (stdio)
|
|
44
74
|
```
|
|
45
75
|
|
|
46
|
-
|
|
76
|
+
postinstall copies agent rules to `~/.cursor/rules/hyv.md`, `~/.claude/commands/hyv.md`, etc. re-run anytime:
|
|
47
77
|
|
|
48
78
|
```bash
|
|
49
79
|
hyv doctor --fix-agents
|
|
@@ -62,74 +92,88 @@ hyv doctor --fix-agents
|
|
|
62
92
|
| `hyv_validate` | verify text against voice profile |
|
|
63
93
|
| `hyv_profiles` | list cached or account profiles |
|
|
64
94
|
|
|
65
|
-
### prompts
|
|
66
|
-
|
|
67
|
-
| prompt | description |
|
|
68
|
-
|--------|-------------|
|
|
69
|
-
| `hyv-status` | account mode, profiles, recommended tool flow |
|
|
70
|
-
|
|
71
95
|
### agent workflow
|
|
72
96
|
|
|
73
97
|
1. `hyv_scan` or `hyv_analyze` on draft text
|
|
74
98
|
2. `hyv_clean` or `hyv_fix` → `hyv_rewrite` → `hyv_validate`
|
|
75
|
-
3.
|
|
99
|
+
3. after user accepts edits: `hyv reinforce --last` (CLI learning loop)
|
|
100
|
+
|
|
101
|
+
## CI / pre-commit
|
|
102
|
+
|
|
103
|
+
block AI-slop before merge:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
hyv content ci # full github actions + pre-commit snippets
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
github actions:
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
- run: npx @holdyourvoice/hyv@latest scan content/ --fail-on-hit
|
|
113
|
+
```
|
|
76
114
|
|
|
77
115
|
## commands
|
|
78
116
|
|
|
79
117
|
| command | description |
|
|
80
118
|
|---------|-------------|
|
|
119
|
+
| `hyv` | condensed welcome (no args) |
|
|
120
|
+
| `hyv welcome` / `hyv free` | free demo + capability tour |
|
|
121
|
+
| `hyv scan <file>` | scan text for AI patterns |
|
|
122
|
+
| `hyv fix <file>` | auto-swap fixable patterns |
|
|
123
|
+
| `hyv check <text>` | quick pass/fail check |
|
|
81
124
|
| `hyv init` | authenticate with hold your voice |
|
|
82
|
-
| `hyv status` | show CLI and auth status |
|
|
83
125
|
| `hyv new <name>` | create a voice profile |
|
|
84
|
-
| `hyv profiles` | list voice profiles |
|
|
85
|
-
| `hyv rename <name>` | rename a voice profile |
|
|
86
|
-
| `hyv scan <file>` | scan text for AI patterns |
|
|
87
126
|
| `hyv rewrite <file>` | generate rewrite prompt |
|
|
88
|
-
| `hyv
|
|
89
|
-
| `hyv
|
|
127
|
+
| `hyv content [topic]` | blog outlines, CI snippets, share templates |
|
|
128
|
+
| `hyv plan --free` | free vs paid matrix |
|
|
90
129
|
| `hyv mcp` | start MCP server |
|
|
91
130
|
| `hyv export [format]` | export profile for LLMs |
|
|
92
|
-
| `hyv plan` | manage subscription |
|
|
93
|
-
| `hyv upgrade` | install latest global CLI |
|
|
94
|
-
| `hyv welcome` | free demo + capability tour |
|
|
95
131
|
| `hyv reinforce --last` | learn from last fix session |
|
|
132
|
+
| `hyv doctor` | diagnose and fix issues |
|
|
133
|
+
| `hyv upgrade` | install latest global CLI |
|
|
96
134
|
|
|
97
135
|
## voice profiles
|
|
98
136
|
|
|
99
|
-
profiles
|
|
137
|
+
profiles live in `~/.hyv/profiles/` as markdown. create one with:
|
|
100
138
|
|
|
101
139
|
```bash
|
|
102
140
|
hyv new my-voice
|
|
103
141
|
```
|
|
104
142
|
|
|
105
|
-
|
|
143
|
+
onboarding walks through your style, audience, and tone. profiles sync to the server when you're on a paid plan.
|
|
106
144
|
|
|
107
145
|
## content formats
|
|
108
146
|
|
|
109
|
-
`hyv scan`
|
|
147
|
+
`hyv scan` detects 220+ AI writing patterns:
|
|
148
|
+
|
|
149
|
+
- **ai-slop** — delve, leverage, tapestry, pivotal, foster
|
|
150
|
+
- **formulaic** — firstly, moreover, in conclusion
|
|
151
|
+
- **voice-drift** — arguably, perhaps, some might say
|
|
152
|
+
- **structure** — antithesis, signpost claims, lesson setups
|
|
110
153
|
|
|
111
|
-
|
|
112
|
-
- **formulaic** — connector words (firstly, moreover, in conclusion)
|
|
113
|
-
- **voice-drift** — hedging language (arguably, perhaps, some might say)
|
|
114
|
-
- **structure** — AI structural tells (antithesis, signpost claims, lesson setups)
|
|
154
|
+
paid profiles add never-list bans, learned patterns, anchors, and cadence scoring.
|
|
115
155
|
|
|
116
156
|
## environment variables
|
|
117
157
|
|
|
118
158
|
| variable | description |
|
|
119
159
|
|----------|-------------|
|
|
120
160
|
| `HYV_API_URL` | API base URL (default: `https://holdyourvoice.com`) |
|
|
121
|
-
| `HYV_LOCAL_ONLY` |
|
|
122
|
-
| `HYV_TELEMETRY` |
|
|
123
|
-
| `HYV_POSTINSTALL_QUIET` |
|
|
161
|
+
| `HYV_LOCAL_ONLY` | force offline mode (`1` or `true`) |
|
|
162
|
+
| `HYV_TELEMETRY` | log funnel events to `~/.hyv/telemetry/` (`1` to enable) |
|
|
163
|
+
| `HYV_POSTINSTALL_QUIET` | suppress postinstall output (`1`) |
|
|
124
164
|
|
|
125
165
|
```bash
|
|
126
|
-
# Staging
|
|
127
166
|
HYV_API_URL=https://staging.holdyourvoice.com hyv init
|
|
128
|
-
|
|
129
|
-
# Local dev
|
|
130
|
-
HYV_API_URL=http://localhost:3000 hyv init
|
|
131
167
|
```
|
|
132
168
|
|
|
169
|
+
## links
|
|
170
|
+
|
|
171
|
+
- [npm package](https://www.npmjs.com/package/@holdyourvoice/hyv)
|
|
172
|
+
- [free tools](https://holdyourvoice.com/tools)
|
|
173
|
+
- [pricing](https://holdyourvoice.com/#pricing)
|
|
174
|
+
- [blog](https://holdyourvoice.com/blog)
|
|
175
|
+
- [community](https://holdyourvoice.com/community)
|
|
176
|
+
|
|
133
177
|
## license
|
|
134
178
|
|
|
135
|
-
UNLICENSED — [holdyourvoice.com](https://holdyourvoice.com)
|
|
179
|
+
UNLICENSED — [holdyourvoice.com](https://holdyourvoice.com)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# free vs paid — @holdyourvoice/hyv
|
|
2
|
+
|
|
3
|
+
## free forever (local + web)
|
|
4
|
+
|
|
5
|
+
**CLI (offline, no account)**
|
|
6
|
+
|
|
7
|
+
- `hyv scan`, `fix`, `check`, `score`, `diff`, `batch`, `watch`
|
|
8
|
+
- `hyv rules`, `history`, `demo`, `doctor`, `upgrade`
|
|
9
|
+
- `hyv export` (local profile markdown)
|
|
10
|
+
- `hyv mcp` — agent tools (`hyv_scan`, `hyv_clean`, `hyv_analyze`, …)
|
|
11
|
+
- `hyv welcome` / `hyv free` — capability tour + live demo
|
|
12
|
+
- `hyv content` — blog & share templates
|
|
13
|
+
- `hyv plan --free` — this matrix in the terminal
|
|
14
|
+
|
|
15
|
+
**Try without installing**
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @holdyourvoice/hyv welcome
|
|
19
|
+
npx @holdyourvoice/hyv scan draft.md
|
|
20
|
+
npx @holdyourvoice/hyv fix draft.md
|
|
21
|
+
npx @holdyourvoice/hyv init
|
|
22
|
+
npx @holdyourvoice/hyv mcp
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Web (30+ free tools)**
|
|
26
|
+
|
|
27
|
+
- https://holdyourvoice.com/tools
|
|
28
|
+
- headline analyzer, brand voice audit, readability checker, email subject scorer, persona builder, and more
|
|
29
|
+
- public profiles: https://holdyourvoice.com/profiles
|
|
30
|
+
- blog: https://holdyourvoice.com/blog
|
|
31
|
+
|
|
32
|
+
## paid unlocks
|
|
33
|
+
|
|
34
|
+
- voice profiles synced from your account (never-list, anchors, learned patterns)
|
|
35
|
+
- learning loop: `hyv reinforce`, `hyv add`
|
|
36
|
+
- profile-aware rewrite prompts (`hyv rewrite`)
|
|
37
|
+
- hybrid server analysis (`hyv scan --server`, MCP `hyv_analyze`)
|
|
38
|
+
- multiple profiles + team voices (team plan)
|
|
39
|
+
- dashboard at https://holdyourvoice.com/dashboard
|
|
40
|
+
|
|
41
|
+
First month $1 → https://holdyourvoice.com/#pricing
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
hyv init
|
|
45
|
+
hyv plan --upgrade
|
|
46
|
+
```
|