agentskit.js
Contribute

Good first issues

Curated issues ready to grab. Pick one, comment on it to claim, and ship a PR.

Curated, tractable issues. Each ships end-to-end in a few hours. Comment on the issue to claim it — we'll reply within a day.

Loading issues…

Seeded starter issues

If the live list above is short, any of these are fair game — open an issue using the PR template and link back to this page. Maintainers will triage + label good first issue.

Dev experience

  • Wire commitlint + husky — enforce conventional commits (see Commit style for the full plan)
  • Add .editorconfig — consistent indentation, line endings, trailing newlines across the repo
  • Add pnpm fresh script — one-shot clean of node_modules, dist, .turbo, tsconfig.tsbuildinfo across the workspace
  • VSCode recommended-extensions file — ship .vscode/extensions.json with ESLint, Prettier, Biome, MDX
  • renovate.json — opt-in Renovate config with grouped updates for non-major deps
  • pnpm doctor Turbo-pipelined health check — verifies Node version, pnpm version, all workspace deps installed

Documentation

  • Fix broken links — crawl apps/docs-next/content/docs with linkinator and fix any 404s
  • Screenshot every example — add static PNGs to each /docs/examples/* page for SEO + social-card previews
  • Dark-mode contrast audit — run Axe DevTools on every docs page, file sub-issues per contrast failure
  • Translate the homepage to pt-BR / es — Fumadocs i18n is already wired; add strings
  • Add an ADR index page — auto-generated list of all ADRs with status (proposed / accepted / superseded)

Adapters

  • Add @agentskit/adapters/mistral — implement the Adapter contract against Mistral's streaming REST API
  • Add @agentskit/adapters/groq — Groq chat-completions with streaming
  • Add @agentskit/adapters/cerebras — Cerebras inference with streaming
  • Add @agentskit/adapters/perplexity — Perplexity Sonar with citations
  • Token-usage normalization — ensure every adapter emits usage in the same shape via simulateStream helper

Tools

  • @agentskit/tools/datetimenow(), parse(), format(), addDays() — deterministic, zero-deps
  • @agentskit/tools/math — expression evaluator (mathjs wrapper) with schema validation
  • @agentskit/tools/http — safe HTTP fetch with allow-list + rate limit
  • @agentskit/tools/sqlite — read-only query tool against a local SQLite file, parameterized only
  • Confirmation wrapper — higher-order tool that prompts the user before executing a destructive tool

React / Ink

  • <MessageActions /> — copy / regenerate / edit buttons that wire into useChat
  • Virtualized message list — drop-in replacement for long chats (1000+ messages)
  • Ink mouse support — click-to-focus for input bar in supported terminals
  • Keyboard shortcut cheat sheet? opens a modal listing all shortcuts in React + Ink

Memory / RAG / Eval

  • @agentskit/memory/sqlite — persistent chat history via better-sqlite3
  • Chunking strategies — semantic-split alongside the existing char-split in @agentskit/rag
  • Citation markers<sup> refs in retrieved-document output that link to sources
  • Benchmark dashboard@agentskit/eval CLI that writes a markdown report to ./eval-report.md
  • Golden-regression tests — snapshot of eval results blocking PRs that regress > 5%

Observability

  • LangSmith exporter@agentskit/observability/langsmith with trace + run logging
  • OpenTelemetry exporter — OTLP gRPC + HTTP
  • Console pretty-printer — colored, structured log output for local development

Examples / recipes

  • Realtime cursor chat — two tabs sharing a session via @agentskit/memory/redis
  • PDF Q&A with citations — upload a PDF, ask questions, show source pages
  • Discord bot — webhook-based, streaming responses to a channel
  • GitHub PR reviewer — action that runs an AgentsKit agent on every PR

How to claim an issue

  1. Comment /claim (or just "I'll take this") on the issue.
  2. Fork, branch, open a draft PR early — it's fine if it's rough.
  3. Push ready for review when tests pass.
  4. A maintainer reviews within 2 business days.

Don't see anything?

✎ Edit this page on GitHub·Found a problem? Open an issue →·How to contribute →

On this page