Skip to content

Contributing

Thank you for helping improve hypar. The canonical contributing guide (branch naming, commit style) lives in the repository root:

CONTRIBUTING.md (same content as in your clone at the project root).


Quick local setup

bash
git clone https://github.com/albegosu/hypar.git
cd hypar
pnpm install
docker compose --profile api up -d   # Postgres (+ Ollama if you use the profile)
cp .env.example .env                  # then edit DATABASE_URL, keys, etc.
pnpm db:migrate
pnpm dev

Open http://localhost:3000.


Before you open a PR

bash
pnpm build   # production build + type checking via Nuxt
pnpm test    # Vitest
pnpm docs:build   # if you touch docs/**
pnpm db:migrate   # only if Prisma schema changed

Where to change things

GoalLikely paths
RAG / searchserver/utils/search.service.ts, server/utils/agent.service.ts
Ingestionserver/workflows/ingest-document.ts, server/utils/documents.service.ts
API contractsserver/api/**/*.ts
UIpages/, components/
Docs sitedocs/ (this VitePress project)

Micrographics (UI)

Use the shared kit in components/micro/: MicroGlyph.vue plus glyphs.ts (stroke 1.5, currentColor). Prefer semantic glyphs for empty states and headings; add decorative ones only at low density (aria-hidden="true" via decorative on MicroGlyph). In the docs theme, chapter pages can start with <DocMicroLead />. Animation (GSAP) is optional and should respect prefers-reduced-motion — match the landing pattern in docs/.vitepress/theme/HomeLandingAnimations.vue when extending motion.

Questions or large features: open a GitHub issue first when in doubt.