-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Yash Aryan edited this page Aug 8, 2026
·
1 revision
Thanks for helping improve AnyLM. This page is the contributor workflow; deeper topics live in the rest of the wiki.
- Read Getting Started and Architecture.
- Skim Gotchas.
- For skills/tools work, read Skills, Tools, and MCP & Extensions.
- Fork / branch from
main. - Implement with small, focused commits.
- Run:
cd app && bun run typecheck && bun test
- Manually smoke the path you touched.
- Open a PR with:
- Why the change exists
- How to test it
- Notes on Firestore rules / IPC / migrations if relevant
- Match existing TypeScript style in the file you edit.
- Prefer focused changes; avoid drive-by refactors.
- Keep renderer free of Node APIs.
- Update
api.d.ts+ preload + ipc together. - Update
firestore.ruleswhen changing governance data access. - Don’t commit secrets,
.envwith live projects you care about, or signing material.
Non-trivial features often have:
docs/superpowers/specs/YYYY-MM-DD-*-design.mddocs/superpowers/plans/YYYY-MM-DD-*.md
Follow them when working in that area; if reality diverged, prefer code and update docs/wiki when you can.
| Contribution type | Guide |
|---|---|
| Custom tool/skill for yourself | UI only — Tools / Skills |
| Shipped builtin tool | registry + exec |
| Shipped builtin skill | builtins (+ connector if OAuth) |
| MCP support | Not present — propose a spec first |
| Marketing copy / catalog | web/ |
| Rules / authz |
firebase/ + api/
|
Reviewers will especially watch:
- Security: tool risk flags, confirm gates, token handling
- IPC contract completeness
- Soft-fail behavior for Chroma/Ollama
- Multi-agent fallback side effects
- Cooperative governance honesty (don’t pretend Spark enforces usage adversarially)
- Prefer precise PR descriptions over large unstructured dumps.
- Link wiki pages or specs when useful.
- Call out leftover stale comments (Cloud Functions, NestJS) if your PR touches them.
| 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 |