Contributing to Minara
Choose the right extension point, set up the repository, and open a reviewable pull request
Minara grows through focused contributions: a clearer paragraph, a safer tool, a sharper research skill, or a better multi-agent workflow. Start with the smallest change that solves a real problem, and leave evidence that another person can verify.
The repository-wide CONTRIBUTING guide covers issue routing, pull request expectations, licensing, and community links. This section explains the Minara-specific extension points.
Choose where the change belongs
| You want to change | Start here |
|---|---|
| Documentation or translations | Edit all four locale siblings and follow the checks below |
| Domain knowledge or a repeatable workflow using existing tools | Add a Skill |
| Deterministic processing, an authenticated API, or a new execution surface | Add a Tool |
| Institution Mode analysis guidance or a Deep Research playbook | Add an Analysis Playbook |
| A reusable, testable investment rule | Add a Methodology |
| Runtime, Web UI, desktop, or shared-package behavior | Read System Design and the nearest package guide |
Prefer a Skill when existing tools already provide the capability. Add a Tool when code must authenticate, transform data deterministically, stream bytes, or enforce an execution boundary. Keep app-specific behavior inside that app and shared contracts in the matching package.
Set up the repository
You need Node.js 24 or later and pnpm 9.15.0 through Corepack.
git clone https://github.com/Minara-AI/minara-agent.git
cd minara-agent
corepack enable
pnpm install
pnpm build:packagesRun the surface you are changing:
pnpm dev:agent
pnpm dev:web-ui
pnpm dev:docsRead the root CLAUDE.md, the nearest app or package CLAUDE.md, and every matching .claude/rules/*.md file before editing. They are the tracked engineering contract for human and automated contributors.
Verify the change
Run the narrowest relevant test first, then the broader checks for the touched area.
# Agent
pnpm --filter @minara/agent typecheck
pnpm --filter @minara/agent test:unit
# Web UI
pnpm --filter @minara/web-ui typecheck
pnpm --filter @minara/web-ui build
# Documentation
pnpm --filter @minara/docs check:i18n
pnpm --filter @minara/docs lint:translations
pnpm --filter @minara/docs buildPublic documentation ships in English, Chinese, Japanese, and Korean. A hand-written MDX change updates the .mdx, .cn.mdx, .ja.mdx, and .ko.mdx siblings together. Keep internal links locale-relative, such as /docs/contributing/conventions.
Open a reviewable pull request
Keep one logical problem per pull request. Explain the problem, the reason for the change, its user impact, and the commands or screenshots that verify it. Open an issue first for public API changes, architecture changes, or work that crosses several subsystems.
Never include secrets, account data, user trading data, or third-party material without a compatible license. Report exploitable vulnerabilities through GitHub Private Vulnerability Reporting.
Continue with the project-wide Conventions.