replen 1.0.4 → 1.0.6

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.
@@ -207,14 +207,32 @@ that actually fit."* If the user agrees, run this checklist:
207
207
  what it is · stack · niche/domain · active areas · constraints/non-goals ·
208
208
  anti-patterns · integration preferences). Use the project's real domain
209
209
  vocabulary, not abstractions.
210
- 3. **Register + tag.** Add the repo to Replen at **app.replen.dev/projects**
211
- (toggle it watched), or it auto-registers on the next
212
- `npx replen sync-projects`. Set **tags** that narrow the firehose to the
213
- project's domain — derive them from the code (e.g. for a Python CCXT
214
- trading engine: `crypto, trading, ccxt, python, quant, backtesting`) — at
215
- /projects.
216
- 4. **Re-run.** Once it has a remote + docs + tags, call `replen_match` again —
217
- now it scopes to the project and matches against the real code.
210
+ 3. **Register + tag.** Register the repo: `npx replen sync-projects` (scans the
211
+ local repos and pushes them to Replen). Then **set the domain tags yourself
212
+ with the `replen_set_tags` tool** derive them from the code you just read
213
+ (e.g. for a Python CCXT market-making engine:
214
+ `["crypto","trading","market-making","ccxt","quant","backtesting"]`).
215
+ **Do NOT tell the user to set tags on the web** — that's the sticky step this
216
+ replaces; set them with the tool. (They can still fine-tune later at
217
+ app.replen.dev/projects.) Tags matter most right after onboarding, before the
218
+ project has an embedding — without them a fresh project falls back to
219
+ language-only matching and surfaces noise.
220
+ 4. **Embed it now (don't wait for the daily run).** A freshly-registered
221
+ project has no embedding yet, so matching falls back to language/tags only
222
+ (noise) until the next scheduled run. Trigger an immediate run with the
223
+ `replen_run` tool — it builds the project's summary + embedding + initial
224
+ candidates from the README/CLAUDE.md you just pushed. It's async: poll
225
+ `replen_status` until the phase reports inventory ready (~1–3 min). Tell the
226
+ user it's processing.
227
+ 5. **Re-run.** Once the run finishes, call `replen_match` again — now scoped
228
+ AND embedded, matching against the real code (a dev-tool that only shared the
229
+ project's language now scores low on cosine and gets floored out).
230
+
231
+ Note on recording actions: always use the MCP tools — `replen_state` (star /
232
+ hide / handoff), `replen_record_triage` (your verdict), `replen_set_tags` — for
233
+ any write back to Replen. Don't hand-roll `curl` to the API for these; the MCP
234
+ path is the intended mechanism and avoids tripping host permission classifiers
235
+ on the candidate repo name in a curl payload.
218
236
 
219
237
  **Candidate's README is unreachable (WebFetch 404)**. Note it in the
220
238
  writeup (`Caveats: README unreachable; verdict based on description
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replen",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Make your AI coding tools smarter. One command, no API keys. Replen scouts the OSS firehose against your projects and surfaces drop-in libraries, ideas to port, and dead deps to swap — the match decision happens inside your AI tool's session on your subscription tokens. 1-3 actionable matches a month, by design.",
5
5
  "type": "module",
6
6
  "bin": {