Competitive intelligence your agents can query. Watches a market, turns public noise into scored and attributed signals, and exposes them over MCP instead of handing a person one more dashboard. Node
翻訳待ち
開発ツールGitHub @gledachオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
Competitive intelligence your agents can query. Watches a market, turns public noise into scored and attributed signals, and exposes them over MCP instead of handing a person one more dashboard. Node 22, no build step, 3 runtime deps.
翻訳待ち
Loading the full README.
Read the full README ↗Competitive intelligence your agents can query. Signal watches a market, turns public noise into scored and attributed signals, and exposes them as structured data an AI agent can actually consume — not a dashboard a human has to read.
→ See it: signal.gledach.de — a real snapshot of a
running deployment. Every view, real data, nothing to install. It is a static export
(npm run demo:html), so it is read-only and dated rather than live.
Live Feed. A convergence is the unit that matters: a pattern several independent publishers corroborate, scored from its own evidence rather than a fixed floor, with the rule that fired it stated inline.
Compare. The anchor company against up to three rivals, section by section. Claims carry
[unverified] when the signal set does not support them — the tool is built to say so.
Battle. Call prep for one competitor: kill shots and the objections you should expect back, ranked against deal context (codebase size, team size) rather than dumped as a list.
It ships tracking thirteen AI coding agents and prompt-to-app builders across two segments:
claudecode, cursor, codex, windsurf (pro-dev) and lovable, bolt, v0,
replit (vibe-coding). Point it at your own market by editing one gitignored file.
git clone https://github.com/gledach/signals.git && cd signals
npm install
npm run db:migrate # local database + demo data. No account. No API key.
npm run doctor # confirm it worked, and see what each missing key unlocks
npm run view # a populated dashboard at 127.0.0.1:5180
The package name is gledach-signal. There is no command named signal. npm already
publishes unrelated packages named signal and signals, and Signal the messenger is
a different product. Inside this clone the commands are npm run. The repository stays
gledach/signals.
That works offline on a fresh clone. There is no build step, no framework, and three runtime dependencies. Two more are optional and lazy-loaded, so a server or CI runner never pays for them (plus Playwright, dev-only, for screenshots).
| Consumer | Surface |
|---|---|
| Agents | An MCP server (npm run mcp) — tools, signal:// resources and a coverage block on every result; skills under .claude/skills/; the dashboard's JSON endpoints; npm run companies -- --json |
| Humans | A localhost dashboard, markdown battlecards, analyst briefs |
| Cron | npm run start (ops/cron-entry.mjs) — one scheduled pass over every watcher |
The dashboard is one client, not the product. See docs/plans/14-agent-native-refactor.md for where that is going.
cp config/companies.default.mjs config/companies.local.mjs # the roster — the only file most deployments edit
npm run companies # confirm what is live
npm test # gate: smoke + fixture suites (incl. email), all offline
companies.local.mjs is gitignored and overrides the shipped roster, so you can pull
upstream forever without a merge conflict in the one file you customised. Feeds, GitHub
repo mappings, HN queries and classifier collision-warnings all derive from it
automatically — no brand name or market vocabulary is hardcoded anywhere outside
config/ — npm test fails if a brand leaks into a watcher, prompt or classifier, or
if the dashboard's category labels and deal-context axes drift from the roster.
Five more layers follow the same .local.mjs overrides .default.mjs pattern when you
need them: deal-context (Battle's filter axes), subdomain-signals (cert/sitemap
scoring), agent-policy (what an MCP agent may do), aeo-prompts, and feeds.
Index: docs/README.md
| Doc | When to read |
|---|---|
| docs/start.md | Start here if you're new. Install guide assuming no prior git/Node knowledge, ~15 min |
| docs/howto.md | Task-oriented "how do I…". The manual |
| docs/why.md | Why this architecture — zero build step, 3 runtime deps (+2 optional) |
| docs/cost.md | LLM spend, the model ladder, budget guardrails |
| docs/mcp.md | The MCP server — tools, signal:// resources, coverage block, agent policy |
| docs/gmail.md | Google Alerts via Gmail (Path A′ zones) — setup, env, hard rules |
| docs/blindspots.md | What Signal cannot see. Honest audit + quarterly review |
| docs/decisions/ | Accepted one-way doors, with the rejected option recorded too |
| docs/roadmap.md | Master roadmap and what has shipped |
| docs/plans/ | Plans against this codebase, plus 00-backlog for unbuilt ideas |
| docs/nextsteps.md | Architectural direction — the knowledge-layer thesis |
| analyst/persona.md | The analyst prompt behind — modes, output contract, banned words |
This is the beginning of the README. Read the rest at the original. Read the full README ↗
npm run analyst| chrome-extension/README.md | Chrome side-panel extension — experimental, needs the dashboard running, not covered by npm test |