title: Contribute to LQ.AI
description: Two contribution tracks for this repository's own code and first-party skills — engineering and legal substance — that share a repository but not a review path.
url: https://legalquants.github.io/lq-ai/contribute/
checked-against: 671eab0d (2026-10-25)
status: draft
kind: explanation
sources: docs/site/contribute/index.md, CONTRIBUTING.md, skills/CONTRIBUTING.md

You can help by improving instructions, reporting a problem others can reproduce, reviewing a skill, or changing the code — choose a task that fits your experience. LQ.AI takes contributions from two different kinds of work, and the two run through different review paths in the same repository.

**Engineering** — code, infrastructure, deployment recipes, and general project documentation — is reviewed by maintainers under the ordinary pull-request process. **Legal substance** — the skills that do the actual review, drafting, and analysis work — carries an attestation and a practicing-attorney review, because a skill that produces a wrong answer affects real legal work. Neither track is a lesser front door: a lawyer with no engineering background and an engineer with no legal background are both first-class contributors, on their own track, and a single pull request rarely needs both hats at once.

The split exists because the two kinds of review answer different questions. Maintainer review on the engineering track asks whether the change does what it claims, is tested, and follows the project's conventions. Attorney review on the legal-substance track asks whether the skill's patterns, severity calibrations, and recommended language reflect reasonable practice — a question an engineer reviewer, however careful, is not positioned to answer alone. Both tracks still land in the same pull-request process and both are gated on the same Code of Conduct.

Start with whichever describes what you want to work on. If neither is obvious yet, [the contribution board](/lq-ai/contribute/board/) lists specific, scoped items with an effort estimate and a contributor profile attached to each — several fit a first-time contributor with no prior context on the codebase.

## The engineering track

The section below is included live from [`CONTRIBUTING.md`](/lq-ai/contribute/engineers/):

## What to work on

> **Working with an AI coding agent (Claude Code, Cursor, …)?** Start it on the [cold-start guide for coding agents](/lq-ai/contribute/coding-agents/) — read-order, the build loop, dev-environment hard rules, and how to take a roadmap item to a merged PR.

The project's [Deferred Enhancements list (PRD §9)](https://github.com/LegalQuants/lq-ai/blob/671eab0d/docs/PRD.md#9-deferred-enhancements-and-identified-future-work) catalogs ~50+ bounded enhancements where the architectural slot exists and the implementation is well-defined. Items tagged **P1** are particularly welcome for v1.5+. A few that are well-shaped for first-time contributors:

- **DE-013 Saved Prompts Library** (S effort) — per-user saved prompts in a sidebar; CRUD plus promote-to-skill.
- **DE-015 Voice / Dictation Input** (S) — Web Speech API toggle on the chat input.
- **DE-031 Reverse proxy / TLS recipes** (S) — document Caddy / Traefik / nginx integration patterns.
- **DE-103 IP allowlisting and geo-restriction** (S) — configurable IP allowlist for the web app and Word add-in.
- **DE-105 Outbound proxy support** (S) — `HTTPS_PROXY` / `NO_PROXY` configuration in the Inference Gateway.

For larger items (M and L effort), please **file an issue first** to discuss approach before opening a PR. We do not want anyone to invest weeks of work that turns out to conflict with an architectural choice or another in-flight contribution.

For features not on the deferred-enhancements list, please file an issue describing the use case and the proposed approach. Pull requests for unfiled features are welcome but at higher risk of bouncing if they conflict with the project's direction.

---

## The legal-substance track

Skills carry a higher bar than code, and the project is explicit about why, in [`skills/CONTRIBUTING.md`](/lq-ai/skills/attestation/):

## Why skill contribution has a higher bar

LQ.AI is open source for the same reason a black-box statute would be unsuited to law: **the tools that shape a lawyer's judgment should be accountable to clients, courts, regulators, and ethics boards**. A skill that produces a wrong answer should be readable, debuggable, and forkable by the lawyer who relies on it. A skill that codifies a position should be reviewable by the team that signs off on it.

That accountability has a flip side. Because skills are open source and used in real practice, contributing a skill means contributing legal substance to a community of practitioners who may rely on it. The contribution norms below — attestation, practicing-attorney review, conservative posture — exist to keep the bar high enough that the project is fitness-for-purpose for the work it claims to do.

---

The five steps — claim, draft, attest, review, merge — are unchanged whether a human or a coding agent drafts the skill. Agents do not attest; the human contributor is always the attesting party.

## Next

- [On-ramp for lawyers](/lq-ai/skills/attestation/)
- [On-ramp for engineers](/lq-ai/contribute/engineers/)
- [Help with compliance and procurement reviews](/lq-ai/contribute/compliance-professionals/)
- [Work with a coding assistant](/lq-ai/contribute/coding-agents/)
