-
Notifications
You must be signed in to change notification settings - Fork 0
Gotchas
Hard-won nuances for contributors. Read before large changes.
-
auth-backend/is dead. Do not start it. Live governance isapp/src/main/api/. -
No Cloud Functions / no Blaze. Usage limits are cooperative. Rules cannot force clients to report usage.
-
app/.envis public. Build rejects secret-like keys. Provider OAuth secrets live in Firebase; user tokens in OS keystore. -
Two TypeScript projects. Shared types only via ambient
src/types/*.d.ts. -
IPC triple must move together:
api.d.ts+preload.ts+ipc.ts. -
Chat streaming is event-based, not a single
invokeround-trip. -
Builtin skills default OFF; tools default ON unless disabled. Skill-attached tools can run even if globally disabled.
-
Google Calendar skill exists in code but connector is product-disabled (Google token endpoint wants a client secret). Outlook is the working OAuth example.
-
Risky tools need renderer confirm. Non-GET
http_fetchescalates;generate_documentalways confirms. -
Multi-agent soft-fail is subtle. After tools ran, don’t re-enter single-agent casually — side effects may already have happened (
ipc.tscomments). -
Project-coding disables multi-agent for that turn.
-
userData brand pin in
main.ts— renaming the app display incorrectly can split profiles. -
Chroma is optional at runtime. RAG soft-degrades; don’t assume vectors exist.
-
Stale comments may still mention Cloud Functions or NestJS connectors. Prefer
firebase/README.md+ current TS. -
No MCP. Use tools/skills; don’t search for an MCP registry.
-
PDF skill/tool guides are slightly stale (NestJS, older tool lists,
.jspaths). This wiki + sources win. -
Proxy ≠ full AnyLM agent.
/v1does not run tools/skills/RAG assembly like the desktop chat path. -
Worker tool rounds (3) ≠ single-agent (15). Changing one doesn’t change the other automatically.
-
Shell tools: 15s timeout. Long builds need a different approach (external terminal / narrower tool).
-
Firestore id conventions (
members=orgId__userId, etc.) are load-bearing for rules. Don’t “simplify” ids without rewriting rules. -
Web
.env.example: treat tokens as secrets; prefer empty placeholders. -
Release tag must match
app/package.jsonversion or CI packaging will disagree with the tag.
| Page | Description |
|---|---|
| Home | Overview and navigation |
| Getting-Started | Local setup |
| Architecture | System design |
| Code-Structure | Directory map |
| Features | Feature inventory |
| Contributing | PR workflow |
| How-to-Change | Common change recipes |
| Gotchas | Footguns |
| Chat-Pipeline | Turn lifecycle |
| IPC-Contract | window.api |
| Auth-and-Firebase | Identity + rules |
| RAG-and-Knowledge | Vectors + graph |
| Agents | Multi-agent |
| Proxy-and-Governance | :3227 + policies |
| Configuration | Env + settings |
| Testing | bun test |
| Build-and-Release | Packaging |
| Skills | Build skills |
| Tools | Build tools |
| MCP-and-Extensions | MCP status + options |