wayfind 2.0.14 → 2.0.16

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.
@@ -7,34 +7,39 @@ Copy and paste the block below into a new Claude Code session. That's it.
7
7
  ```
8
8
  Please set up Wayfind for my Claude Code environment.
9
9
 
10
- Run these commands:
10
+ Step 1 — Install the CLI:
11
11
  npm install -g wayfind
12
12
  wayfind init
13
13
 
14
- Once it completes:
14
+ Step 2 — Install the Claude Code plugin:
15
+ /plugin marketplace add usewayfind/wayfind
16
+ /plugin install wayfind@usewayfind
17
+
18
+ Once both steps complete:
15
19
  1. Tell me what was installed and what still needs to be configured
16
- 2. Run /init-memory to initialize memory for the current repo
20
+ 2. Run /wayfind:init-memory to initialize memory for the current repo
17
21
  3. Ask me what my preferences are (communication style, tool preferences, commit
18
22
  conventions, anything I want Claude to always know) so we can fill in
19
23
  global-state.md together
20
24
  4. Ask me if I want to set up backup (see below) — I will need to provide a
21
25
  private GitHub repo URL before you can proceed with that step
22
26
  5. Run `wayfind whoami --setup` so I can provide my Slack user ID (used for @mentions and DMs)
23
- 6. Ask me if I want to set up team context (/init-team) for shared journals,
27
+ 6. Ask me if I want to set up team context (/wayfind:init-team) for shared journals,
24
28
  digests, and product state
25
- 7. Let me know about opt-in telemetry (set TEAM_CONTEXT_TELEMETRY=true to enable)
29
+ 7. Let me know that anonymous usage telemetry is enabled by default (set TEAM_CONTEXT_TELEMETRY=false to opt out)
26
30
  ```
27
31
 
28
32
  ---
29
33
 
30
34
  ## What happens
31
35
 
32
- The install command will:
33
- - Create `~/.claude/memory/` and `~/.claude/memory/journal/`
34
- - Install `~/.claude/global-state.md` (your persistent index)
35
- - Install `~/.claude/hooks/check-global-state.sh` (warns when state is stale)
36
- - Install slash commands: `/init-memory`, `/init-team`, `/journal`, `/doctor`
37
- - Register the hook in `~/.claude/settings.json`
36
+ The CLI install creates:
37
+ - `~/.claude/memory/` and `~/.claude/memory/journal/`
38
+ - `~/.claude/global-state.md` (your persistent index)
39
+
40
+ The plugin provides:
41
+ - SessionStart and Stop hooks (context loading, decision extraction)
42
+ - Slash commands: `/wayfind:init-memory`, `/wayfind:init-team`, `/wayfind:journal`, `/wayfind:doctor`, `/wayfind:standup`
38
43
 
39
44
  After the paste, Claude will walk you through filling in your preferences. From
40
45
  then on, every session in every repo will start with full context of where you
@@ -72,7 +77,7 @@ After that, your memory is backed up silently on every session — no manual ste
72
77
 
73
78
  ## Setting up team context (optional)
74
79
 
75
- Once you have the basics working, run `/init-team` in a Claude Code session to set up:
80
+ Once you have the basics working, run `/wayfind:init-team` in a Claude Code session to set up:
76
81
  - A shared team context repo for journals and digests
77
82
  - Slack integration for weekly digest posts
78
83
  - Notion integration for browseable product state and digest archives
@@ -87,7 +92,7 @@ visibility across product, engineering, and strategy.
87
92
 
88
93
  In any repo you work in, run:
89
94
  ```
90
- /init-memory
95
+ /wayfind:init-memory
91
96
  ```
92
97
 
93
98
  Claude will create `.claude/team-state.md` (shared) and `.claude/personal-state.md`
@@ -102,6 +107,8 @@ npm install -g wayfind
102
107
  wayfind init-cursor
103
108
  ```
104
109
 
110
+ (The Claude Code plugin is not available for Cursor — use the CLI-only setup.)
111
+
105
112
  ---
106
113
 
107
114
  ## Source
@@ -110,11 +117,11 @@ https://github.com/usewayfind/wayfind
110
117
 
111
118
  To install a specific version:
112
119
  ```
113
- npm install -g wayfind@1.1.0
120
+ npm install -g wayfind@2.0.15
114
121
  wayfind init
115
122
  ```
116
123
 
117
124
  Or via the shell installer with a pinned version:
118
125
  ```
119
- WAYFIND_VERSION=v1.1.0 bash <(curl -fsSL https://raw.githubusercontent.com/usewayfind/wayfind/main/install.sh)
126
+ WAYFIND_VERSION=v2.0.15 bash <(curl -fsSL https://raw.githubusercontent.com/usewayfind/wayfind/main/install.sh)
120
127
  ```
package/README.md CHANGED
@@ -12,19 +12,34 @@
12
12
 
13
13
  ## Install
14
14
 
15
- ```bash
16
- npm install -g wayfind
17
- wayfind init
15
+ ### Claude Code plugin (recommended)
16
+
17
+ In a Claude Code session:
18
+
19
+ ```
20
+ /plugin marketplace add usewayfind/wayfind
21
+ /plugin install wayfind@usewayfind
18
22
  ```
19
23
 
20
- Then in a Claude Code session:
24
+ Then initialize a repo:
21
25
 
22
26
  ```
23
- /init-memory # Persistent context for this repo
27
+ /wayfind:init-memory
24
28
  ```
25
29
 
26
30
  Your AI sessions now resume where you left off instead of cold-starting.
27
31
 
32
+ ### npm CLI
33
+
34
+ The plugin includes the CLI, but you can also install it standalone:
35
+
36
+ ```bash
37
+ npm install -g wayfind
38
+ wayfind init
39
+ ```
40
+
41
+ The CLI is required for digest generation, Slack bot, signal connectors, and team management. The plugin handles session hooks and slash commands.
42
+
28
43
  ---
29
44
 
30
45
  ## What It Does
@@ -45,8 +60,8 @@ Your AI sessions now resume where you left off instead of cold-starting.
45
60
 
46
61
  Only the engineer installs anything. Everyone else sees a Slack digest.
47
62
 
48
- ```bash
49
- /init-team # Set up team context, journals, and digests
63
+ ```
64
+ /wayfind:init-team # Set up team context, journals, and digests
50
65
  ```
51
66
 
52
67
  ---
@@ -64,7 +79,8 @@ All context is plain markdown in directories you control:
64
79
  journal/YYYY-MM-DD.md # Daily decision log
65
80
 
66
81
  <repo>/.claude/
67
- state.md # Per-repo: branch, status, next steps
82
+ team-state.md # Shared team context (committed)
83
+ personal-state.md # Your context (gitignored)
68
84
  ```
69
85
 
70
86
  No proprietary formats. No vendor lock-in. `grep` works if Wayfind breaks.
@@ -99,11 +115,24 @@ wayfind pull --all # All configured channels
99
115
 
100
116
  ## Commands
101
117
 
118
+ ### Plugin skills (in Claude Code)
119
+
120
+ | Skill | Description |
121
+ |-------|-------------|
122
+ | `/wayfind:init-memory` | Initialize context for the current repo |
123
+ | `/wayfind:init-team` | Set up team context, journals, and digests |
124
+ | `/wayfind:doctor` | Check installation health |
125
+ | `/wayfind:standup` | Daily standup summary |
126
+ | `/wayfind:journal` | Weekly journal digest and drift detection |
127
+ | `/wayfind:review-prs` | Review overnight PRs |
128
+
129
+ ### CLI commands
130
+
102
131
  | Command | Description |
103
132
  |---------|-------------|
104
133
  | `wayfind init` | Install for your AI tool |
105
134
  | `wayfind doctor` | Check installation health |
106
- | `wayfind update` | Update to latest version |
135
+ | `wayfind update` | Update hooks and commands |
107
136
  | `wayfind status` | Cross-project status |
108
137
  | `wayfind team create` | Create a new team |
109
138
  | `wayfind team join` | Join an existing team |
@@ -116,6 +145,7 @@ wayfind pull --all # All configured channels
116
145
  | `wayfind journal sync` | Sync journals to team repo |
117
146
  | `wayfind onboard <repo>` | Generate onboarding context pack |
118
147
  | `wayfind deploy init` | Scaffold Docker deployment |
148
+ | `wayfind migrate-to-plugin` | Remove old hooks (after plugin install) |
119
149
 
120
150
  Run `wayfind help` for the full list.
121
151
 
@@ -148,7 +178,8 @@ Run `wayfind help` for the full list.
148
178
 
149
179
  | Tool | Status | Setup |
150
180
  |------|--------|-------|
151
- | Claude Code | Full support | `wayfind init` |
181
+ | Claude Code | Full support (plugin) | `/plugin marketplace add usewayfind/wayfind` |
182
+ | Claude Code | Full support (npm) | `wayfind init` |
152
183
  | Cursor | Session protocol | `wayfind init-cursor` |
153
184
  | Generic | Manual | See `specializations/generic/` |
154
185
 
@@ -4448,7 +4448,7 @@ const COMMANDS = {
4448
4448
  // Files and directories to sync
4449
4449
  const syncItems = [
4450
4450
  'bin/', 'templates/', 'specializations/', 'plugin/', 'tests/', 'simulation/',
4451
- 'backup/', '.github/', 'Dockerfile', 'package.json', 'marketplace.json', 'setup.sh',
4451
+ 'backup/', '.github/', '.claude-plugin/', 'Dockerfile', 'package.json', 'setup.sh',
4452
4452
  'install.sh', 'uninstall.sh', 'doctor.sh', 'journal-summary.sh',
4453
4453
  'BOOTSTRAP_PROMPT.md', '.gitattributes', '.gitignore', 'VERSIONS.md',
4454
4454
  ];
package/bin/telemetry.js CHANGED
@@ -12,7 +12,7 @@ let enabled = false;
12
12
  function init() {
13
13
  if (client !== null) return; // already initialized (or disabled)
14
14
 
15
- enabled = (process.env.TEAM_CONTEXT_TELEMETRY || '').toLowerCase() === 'true';
15
+ enabled = (process.env.TEAM_CONTEXT_TELEMETRY || '').toLowerCase() !== 'false';
16
16
  if (!enabled) {
17
17
  client = false; // marker: checked but disabled
18
18
  return;
package/doctor.sh CHANGED
@@ -17,9 +17,37 @@ info() { echo " $1"; }
17
17
 
18
18
  ISSUES=0
19
19
 
20
+ is_plugin_installed() {
21
+ # Check if wayfind is installed as a Claude Code plugin
22
+ # Method 1: Check enabledPlugins in settings.json (authoritative — what Claude Code reads)
23
+ local SETTINGS="$HOME/.claude/settings.json"
24
+ if [ -f "$SETTINGS" ] && grep -q '"wayfind@' "$SETTINGS" 2>/dev/null; then
25
+ return 0
26
+ fi
27
+
28
+ # Method 2: Check plugin files on disk
29
+ local PLUGINS_DIR="$HOME/.claude/plugins"
30
+ if [ -d "$PLUGINS_DIR" ]; then
31
+ if find "$PLUGINS_DIR" -path '*/wayfind/plugin/.claude-plugin/plugin.json' -print -quit 2>/dev/null | grep -q .; then
32
+ return 0
33
+ fi
34
+ if find "$PLUGINS_DIR" -name 'plugin.json' -exec grep -l '"name": "wayfind"' {} + 2>/dev/null | grep -q .; then
35
+ return 0
36
+ fi
37
+ fi
38
+ return 1
39
+ }
40
+
20
41
  check_hook_registered() {
21
42
  echo ""
22
43
  echo "Hook registration"
44
+
45
+ # If installed as a plugin, hooks are provided by the plugin — skip legacy checks
46
+ if is_plugin_installed; then
47
+ ok "Installed as Claude Code plugin (hooks provided by plugin)"
48
+ return
49
+ fi
50
+
23
51
  local SETTINGS="$HOME/.claude/settings.json"
24
52
  if [ ! -f "$SETTINGS" ]; then
25
53
  err "settings.json not found — hook is not registered"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wayfind",
3
- "version": "2.0.14",
3
+ "version": "2.0.16",
4
4
  "description": "Team decision trail for AI-assisted development. The connective tissue between product, engineering, and strategy.",
5
5
  "bin": {
6
6
  "wayfind": "./bin/team-context.js"
@@ -28,7 +28,7 @@
28
28
  "files": [
29
29
  "bin/",
30
30
  "plugin/",
31
- "marketplace.json",
31
+ ".claude-plugin/",
32
32
  "setup.sh",
33
33
  "install.sh",
34
34
  "uninstall.sh",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wayfind",
3
- "version": "2.0.14",
3
+ "version": "2.0.15",
4
4
  "description": "Team decision trail for AI-assisted development. Session memory, decision journals, and team digests.",
5
5
  "author": {
6
6
  "name": "Wayfind",