wayfind 2.0.70 → 2.0.71
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 +74 -137
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/setup.sh +9 -27
package/README.md
CHANGED
|
@@ -1,68 +1,55 @@
|
|
|
1
1
|
# Wayfind
|
|
2
2
|
|
|
3
|
-
**Team
|
|
3
|
+
**Team memory for AI-assisted engineering.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Your AI coding assistant forgets everything between sessions. Wayfind gives it a memory — for you and your whole team.
|
|
6
|
+
|
|
7
|
+
Plain markdown files. No infrastructure. Works with any MCP client.
|
|
6
8
|
|
|
7
9
|
[](https://github.com/usewayfind/wayfind/actions/workflows/ci.yml)
|
|
8
|
-
[](LICENSE)
|
|
9
10
|
[](https://www.npmjs.com/package/wayfind)
|
|
11
|
+
[](LICENSE)
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
### Claude Code plugin (recommended)
|
|
13
|
+
**Works with:** Claude Code | Cursor | Any MCP client
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
---
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
/plugin marketplace add usewayfind/wayfind
|
|
21
|
-
/plugin install wayfind@usewayfind
|
|
22
|
-
```
|
|
17
|
+
## The Problem
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
AI coding assistants are stateless. Every session starts cold. The decisions you made yesterday, the architecture you agreed on last week, the reason you chose Postgres over Mongo — gone. You re-explain, or the AI guesses wrong.
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
/wayfind:init-memory
|
|
28
|
-
```
|
|
21
|
+
Now multiply that across a team. Five engineers, each with their own AI sessions, none of them aware of what the others decided. Your PM reads the standup notes, but the AI that writes the code doesn't.
|
|
29
22
|
|
|
30
|
-
|
|
23
|
+
## What Wayfind Does
|
|
31
24
|
|
|
32
|
-
|
|
25
|
+
**For you:** Sessions resume where they left off. Decisions are extracted automatically and become searchable history. Drift detection flags when work veers from the stated goal.
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
**For your team:** A daily digest summarizes what everyone shipped, decided, and discovered — tailored per role (engineering, product, design, strategy). Team members who use AI tools get session memory directly. Everyone else gets a Slack digest.
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
npm install -g wayfind
|
|
38
|
-
wayfind init
|
|
39
|
-
```
|
|
29
|
+
**For your AI tools:** An MCP server exposes your team's full decision history as tools. Claude, Cursor, or any MCP client can search decisions, browse by date, and retrieve context — no file reading or guessing.
|
|
40
30
|
|
|
41
|
-
|
|
31
|
+
<!-- TODO: demo GIF here — see #175 -->
|
|
42
32
|
|
|
43
33
|
---
|
|
44
34
|
|
|
45
|
-
##
|
|
35
|
+
## Quick Start
|
|
46
36
|
|
|
47
|
-
###
|
|
37
|
+
### Option A: Claude Code plugin
|
|
48
38
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
### For Your Team
|
|
55
|
-
|
|
56
|
-
- **Digests** — weekly summaries tailored per role (engineering, product, design, strategy)
|
|
57
|
-
- **Slack bot** — anyone on the team asks `@wayfind` and gets answers from the decision trail
|
|
58
|
-
- **Signal connectors** — pull context from GitHub, Intercom, and Notion into digests
|
|
59
|
-
- **Context shift detection** — surfaces significant pivots and architecture changes
|
|
39
|
+
```
|
|
40
|
+
/plugin marketplace add usewayfind/wayfind
|
|
41
|
+
/plugin install wayfind@usewayfind
|
|
42
|
+
/wayfind:init-memory
|
|
43
|
+
```
|
|
60
44
|
|
|
61
|
-
|
|
45
|
+
### Option B: npm (works with any AI tool)
|
|
62
46
|
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g wayfind
|
|
49
|
+
wayfind init
|
|
63
50
|
```
|
|
64
|
-
|
|
65
|
-
|
|
51
|
+
|
|
52
|
+
Your next AI session has memory. That's it.
|
|
66
53
|
|
|
67
54
|
---
|
|
68
55
|
|
|
@@ -85,118 +72,72 @@ All context is plain markdown in directories you control:
|
|
|
85
72
|
|
|
86
73
|
No proprietary formats. No vendor lock-in. `grep` works if Wayfind breaks.
|
|
87
74
|
|
|
88
|
-
### The Session
|
|
89
|
-
|
|
90
|
-
**Start:** AI reads state files, summarizes context, asks "What's the goal?"
|
|
91
|
-
|
|
92
|
-
**Mid-session:** If work drifts from the goal, the AI flags it.
|
|
75
|
+
### The Session Loop
|
|
93
76
|
|
|
94
|
-
**
|
|
77
|
+
1. **Start** — AI reads state files, summarizes context, asks "What's the goal?"
|
|
78
|
+
2. **Mid-session** — If work drifts from the goal, the AI flags it.
|
|
79
|
+
3. **End** — Decisions are extracted, written as journal entries, and synced to the team repo — automatically via hooks.
|
|
95
80
|
|
|
96
|
-
### Digests
|
|
81
|
+
### Team Digests
|
|
97
82
|
|
|
98
|
-
Each role sees the same
|
|
83
|
+
Each role sees the same data through a different lens:
|
|
99
84
|
|
|
100
|
-
- **Engineering**: What shipped, what drifted, patterns
|
|
85
|
+
- **Engineering**: What shipped, what drifted, what patterns emerged
|
|
101
86
|
- **Product**: What shipped vs. planned, discovery signals
|
|
102
|
-
- **Design**: UX decisions, implementation gaps vs. design intent
|
|
103
87
|
- **Strategy**: Cross-team patterns, drift trends, capability gaps
|
|
104
88
|
|
|
105
|
-
|
|
89
|
+
The digest posts to Slack. Anyone on the team — engineer, PM, CEO — who uses an AI tool gets session memory. Everyone else gets the digest.
|
|
106
90
|
|
|
107
|
-
|
|
108
|
-
wayfind pull github # Issues, PRs, Actions status
|
|
109
|
-
wayfind pull intercom # Support conversations, tags, response times
|
|
110
|
-
wayfind pull notion # Pages, databases, comments
|
|
111
|
-
wayfind pull --all # All configured channels
|
|
112
|
-
```
|
|
91
|
+
### MCP Server
|
|
113
92
|
|
|
114
|
-
|
|
93
|
+
Wayfind includes an MCP server that exposes team context to any MCP-compatible AI tool. Auto-registered during `wayfind init`.
|
|
115
94
|
|
|
116
|
-
|
|
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
|
-
|
|
131
|
-
| Command | Description |
|
|
132
|
-
|---------|-------------|
|
|
133
|
-
| `wayfind init` | Install for your AI tool |
|
|
134
|
-
| `wayfind doctor` | Check installation health |
|
|
135
|
-
| `wayfind update` | Update hooks and commands |
|
|
136
|
-
| `wayfind status` | Cross-project status |
|
|
137
|
-
| `wayfind team create` | Create a new team |
|
|
138
|
-
| `wayfind team join` | Join an existing team |
|
|
139
|
-
| `wayfind digest` | Generate persona-specific digests |
|
|
140
|
-
| `wayfind digest --deliver` | Generate and post to Slack |
|
|
141
|
-
| `wayfind bot` | Start the Slack bot |
|
|
142
|
-
| `wayfind reindex` | Index journals + conversations |
|
|
143
|
-
| `wayfind search-journals <q>` | Search decision history |
|
|
144
|
-
| `wayfind pull <channel>` | Pull signals from a source |
|
|
145
|
-
| `wayfind journal sync` | Sync journals to team repo |
|
|
146
|
-
| `wayfind onboard <repo>` | Generate onboarding context pack |
|
|
147
|
-
| `wayfind deploy init` | Scaffold Docker deployment |
|
|
148
|
-
| `wayfind deploy --team <id>` | Scaffold per-team Docker deployment |
|
|
149
|
-
| `wayfind deploy set-endpoint <url>` | Set container endpoint for team search |
|
|
150
|
-
| `wayfind deploy list` | List running team containers |
|
|
151
|
-
| `wayfind deploy status` | Check container health |
|
|
152
|
-
| `wayfind migrate-to-plugin` | Remove old hooks (after plugin install) |
|
|
153
|
-
|
|
154
|
-
Run `wayfind help` for the full list.
|
|
95
|
+
**Tools:**
|
|
155
96
|
|
|
156
|
-
|
|
97
|
+
| Tool | What it does |
|
|
98
|
+
|------|-------------|
|
|
99
|
+
| `search_context` | Search decisions by query, date range, author, or repo. Semantic or browse mode. |
|
|
100
|
+
| `get_entry` | Retrieve the full content of a specific entry. |
|
|
101
|
+
| `get_signals` | Recent GitHub, Intercom, and Notion activity. |
|
|
102
|
+
| `get_team_status` | Current team state: who's working on what, active projects, blockers. |
|
|
103
|
+
| `add_context` | Capture a decision or blocker from the current session. |
|
|
104
|
+
| `record_feedback` | Rate whether a result was useful (improves future retrieval). |
|
|
157
105
|
|
|
158
|
-
|
|
106
|
+
Each team member's MCP server searches their local content store — journals synced from the shared team repo, with local embeddings generated automatically. No infrastructure required.
|
|
159
107
|
|
|
160
|
-
|
|
108
|
+
---
|
|
161
109
|
|
|
162
|
-
|
|
110
|
+
## Signal Connectors
|
|
163
111
|
|
|
164
|
-
|
|
112
|
+
Pull external context into digests:
|
|
165
113
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
114
|
+
```bash
|
|
115
|
+
wayfind pull github # Issues, PRs, Actions status
|
|
116
|
+
wayfind pull intercom # Support conversations, tags, response times
|
|
117
|
+
wayfind pull notion # Pages, databases, comments
|
|
118
|
+
wayfind pull --all # All configured channels
|
|
119
|
+
```
|
|
169
120
|
|
|
170
|
-
|
|
121
|
+
---
|
|
171
122
|
|
|
172
|
-
|
|
173
|
-
|----------|-------------|
|
|
174
|
-
| `ANTHROPIC_API_KEY` | Digest generation and bot answers |
|
|
175
|
-
| `SLACK_BOT_TOKEN` | Slack bot token (`xoxb-...`) |
|
|
176
|
-
| `SLACK_APP_TOKEN` | Slack app-level token (`xapp-...`) |
|
|
177
|
-
| `GITHUB_TOKEN` | Signal data and journal sync |
|
|
123
|
+
## Team Setup
|
|
178
124
|
|
|
179
|
-
|
|
125
|
+
```
|
|
126
|
+
/wayfind:init-team
|
|
127
|
+
```
|
|
180
128
|
|
|
181
|
-
|
|
182
|
-
|----------|-------------|
|
|
183
|
-
| `OPENAI_API_KEY` | Upgrade semantic search to OpenAI embeddings (Xenova local model is used by default — no key needed) |
|
|
184
|
-
| `TEAM_CONTEXT_LLM_MODEL` | LLM for digests (default: `claude-sonnet-4-5-20250929`) |
|
|
185
|
-
| `TEAM_CONTEXT_DIGEST_SCHEDULE` | Cron schedule (default: `0 8 * * 1` — Monday 8am) |
|
|
186
|
-
| `TEAM_CONTEXT_EXCLUDE_REPOS` | Repos to exclude from digests |
|
|
187
|
-
| `TEAM_CONTEXT_TELEMETRY` | `true` for anonymous usage telemetry |
|
|
129
|
+
This walks you through creating a team, setting up profiles, creating a shared team-context repo, and configuring Slack digest delivery. Multi-team support built in — bind repos to different teams, each with isolated context.
|
|
188
130
|
|
|
189
131
|
---
|
|
190
132
|
|
|
191
133
|
## Tool Support
|
|
192
134
|
|
|
193
|
-
| Tool |
|
|
194
|
-
|
|
195
|
-
| Claude Code |
|
|
196
|
-
|
|
|
197
|
-
|
|
|
198
|
-
|
|
|
199
|
-
| Any MCP client | Full support (MCP) | `wayfind init` auto-registers |
|
|
135
|
+
| Tool | How | Setup |
|
|
136
|
+
|------|-----|-------|
|
|
137
|
+
| **Claude Code** | Plugin (full support) | `/plugin marketplace add usewayfind/wayfind` |
|
|
138
|
+
| **Cursor** | MCP server | `wayfind init` auto-registers |
|
|
139
|
+
| **Any MCP client** | MCP server | `wayfind init` auto-registers |
|
|
140
|
+
| **Slack** | Bot + digests | `wayfind bot --configure` |
|
|
200
141
|
|
|
201
142
|
---
|
|
202
143
|
|
|
@@ -206,27 +147,23 @@ Everything that runs on your machine is open source (Apache 2.0).
|
|
|
206
147
|
|
|
207
148
|
| Open Source (this repo) | Commercial (future) |
|
|
208
149
|
|---|---|
|
|
209
|
-
| CLI and all commands | Cloud-hosted team aggregation |
|
|
150
|
+
| CLI, plugin, and all commands | Cloud-hosted team aggregation |
|
|
210
151
|
| Session protocol and journal extraction | Managed digest delivery |
|
|
211
|
-
| Content store
|
|
152
|
+
| Content store, semantic search, MCP server | Web dashboard |
|
|
212
153
|
| Signal connectors (GitHub, Intercom, Notion) | SSO and tenant isolation |
|
|
213
154
|
| Digest generation (your API key) | |
|
|
214
155
|
| Slack bot (self-hosted) | |
|
|
215
156
|
| Multi-team support | |
|
|
216
|
-
| MCP server (local + container proxy) | |
|
|
217
|
-
| Per-team content store isolation | |
|
|
218
|
-
|
|
219
|
-
See [LICENSING.md](LICENSING.md) for details.
|
|
220
157
|
|
|
221
158
|
---
|
|
222
159
|
|
|
223
160
|
## Architecture
|
|
224
161
|
|
|
225
162
|
- [Data Flow](docs/architecture/data-flow.md) — sessions to digests
|
|
226
|
-
- [
|
|
163
|
+
- [Query Path](docs/architecture/query-path.md) — how queries reach the content store
|
|
227
164
|
- [Content Store](docs/architecture/content-store.md) — indexing, search, schema
|
|
165
|
+
- [Principles](docs/architecture/architecture-principles.md) — the eight constraints
|
|
228
166
|
- [Signal Channels](docs/architecture/architecture-signal-channels.md) — connector architecture
|
|
229
|
-
- [Signal Roadmap](docs/architecture/signal-source-roadmap.md) — planned connectors
|
|
230
167
|
|
|
231
168
|
---
|
|
232
169
|
|
|
@@ -242,4 +179,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md). Good first contributions:
|
|
|
242
179
|
|
|
243
180
|
## License
|
|
244
181
|
|
|
245
|
-
Apache 2.0. See [LICENSE](LICENSE)
|
|
182
|
+
Apache 2.0. See [LICENSE](LICENSE).
|
package/package.json
CHANGED
package/setup.sh
CHANGED
|
@@ -215,7 +215,6 @@ if [ ! -f "$GLOBAL_STATE" ]; then
|
|
|
215
215
|
run cp "$SCRIPT_DIR/templates/global.md" "$GLOBAL_STATE"
|
|
216
216
|
fi
|
|
217
217
|
log "Created $GLOBAL_STATE"
|
|
218
|
-
warn "Edit $GLOBAL_STATE to add your name, preferences, and projects"
|
|
219
218
|
else
|
|
220
219
|
info "Already exists: $GLOBAL_STATE — skipped"
|
|
221
220
|
fi
|
|
@@ -656,40 +655,23 @@ Do not ask more than once per decision. Do not ask during routine implementation
|
|
|
656
655
|
fi
|
|
657
656
|
fi
|
|
658
657
|
|
|
659
|
-
# ──
|
|
660
|
-
|
|
661
|
-
header "Personas"
|
|
662
|
-
|
|
663
|
-
echo ""
|
|
664
|
-
echo " Default personas: Product, Design, Engineering, Strategy"
|
|
665
|
-
echo " You can customize personas later with 'wayfind personas'"
|
|
666
|
-
echo ""
|
|
667
|
-
|
|
668
|
-
# ── Step 8: Summary ───────────────────────────────────────────────────────────
|
|
669
|
-
|
|
670
|
-
header "Done"
|
|
658
|
+
# ── Summary ──────────────────────────────────────────────────────────────────
|
|
671
659
|
|
|
672
660
|
echo ""
|
|
673
|
-
echo "Wayfind installed
|
|
661
|
+
echo -e "${GREEN}✓${RESET} Wayfind installed."
|
|
674
662
|
echo ""
|
|
675
|
-
echo "Next steps:"
|
|
676
|
-
echo " 1. Edit $GLOBAL_STATE with your preferences and projects"
|
|
677
663
|
|
|
678
664
|
if [ "$TOOL" = "claude-code" ]; then
|
|
679
|
-
echo "
|
|
680
|
-
echo "
|
|
681
|
-
echo " 4. Run /journal for a weekly digest of your AI session logs"
|
|
682
|
-
echo " 5. Set up your profile: wayfind whoami --setup"
|
|
683
|
-
echo " 6. Create or join a team: wayfind team create"
|
|
665
|
+
echo " Next: open a repo and run /init-memory to set it up."
|
|
666
|
+
echo " Then start a Claude Code session — Wayfind captures context automatically."
|
|
684
667
|
elif [ "$TOOL" = "cursor" ]; then
|
|
685
|
-
echo "
|
|
686
|
-
echo "
|
|
687
|
-
echo " 4. See specializations/cursor/README.md for full documentation"
|
|
668
|
+
echo " Next: open a repo and run: bash setup.sh --tool cursor --repo <path>"
|
|
669
|
+
echo " Then start a Cursor session — the global rule loads your state automatically."
|
|
688
670
|
else
|
|
689
|
-
echo "
|
|
690
|
-
echo "
|
|
671
|
+
echo " Next: add the session protocol to your tool's system prompt."
|
|
672
|
+
echo " See: specializations/generic/README.md"
|
|
691
673
|
fi
|
|
692
674
|
|
|
693
675
|
echo ""
|
|
694
|
-
echo "
|
|
676
|
+
echo " Docs: https://github.com/usewayfind/wayfind"
|
|
695
677
|
echo ""
|