Practical guide

15 GitHub Repositories for Vibe Coding—and How to Use Them

Choose tools by the problem in front of you. This collection follows a small application from its first brief to a checked browser journey; you do not need to install all fifteen.

Developer workbench with grouped tools, a laptop and a notebook.
Original AI-generated editorial illustration; not a product screenshot.

This is a task-based selection, not a ranking by stars or a claim that all fifteen belong in one project. Start with a brief, add the tools needed for one user journey, and check the outcome. Repository maintenance, licenses and integrations can change; follow each linked project’s current documentation.

  1. Context7
  2. Playwright MCP
  3. Serena
  4. Awesome DESIGN.md
  5. shadcn/ui
  6. Tailwind CSS
  7. Lucide
  8. Supabase
  9. Drizzle ORM
  10. TanStack Query
  11. Zod
  12. Vitest
  13. Playwright
  14. Gitleaks
  15. axe-core
Documentation

1. Context7

Find relevant library documentation before asking an agent to change APIs.

Try this: Choose one dependency already in your project. Ask the agent to identify its installed version, retrieve documentation for one API, and cite the result before editing.

Check the result: The explanation names the dependency version and links to the documentation. The resulting code still needs a local build and test.

Before adopting: Documentation retrieval is a hosted service; check authentication and rate limits. It cannot establish that your application works.

Official repository: upstash/context7
Agent browser tools

2. Playwright MCP

Let an MCP-capable assistant inspect and interact with a browser during exploratory checks.

Try this: On a local demo, ask the assistant to create an item, refresh, and check whether it persists. Require observed evidence for each step.

Check the result: A record of the actions and visible outcome, plus a screenshot where helpful. Use a disposable browser profile.

Before adopting: An exploratory session is not a repeatable regression suite. The maintainers also document a separate CLI/skills option.

Official repository: microsoft/playwright-mcp
Code navigation

3. Serena

Give an agent symbol-aware ways to explore and edit a supported codebase.

Try this: Ask it to find a function and the references that call it. Review that map before requesting a small refactor.

Check the result: The references correspond to real code, and the existing tests pass after the edit.

Before adopting: Language and backend support matter. Follow the repository quickstart rather than assuming every client integration is identical.

Official repository: oraios/serena
Visual specifications

4. Awesome DESIGN.md

Study written design-system examples and turn your own visual requirements into a specification.

Try this: Choose spacing, typography and component rules for your project. Write an original DESIGN.md, then apply it to one page.

Check the result: The rendered page follows the documented tokens, including focus, error and mobile states.

Before adopting: Reference collections are not permission to reuse another company’s identity. A Markdown file is not automatically read by every agent.

Official repository: VoltAgent/awesome-design-md
UI components

5. shadcn/ui

Use documented component patterns instead of asking the agent to invent every control.

Try this: Follow the official setup for your framework. Add one form control and an error message, then inspect its keyboard behavior.

Check the result: The control has a label, usable focus, appropriate error feedback and no accidental form submission.

Before adopting: Components become part of a larger application that you maintain. Accessibility still depends on composition and behavior.

Official repository: shadcn-ui/ui
Styling

6. Tailwind CSS

Express visual constraints using a utility-based styling system.

Try this: Start from the setup matching your framework and installed version. Implement one responsive card using a small spacing and color palette.

Check the result: The intended layout appears at narrow and wide widths, and the compiled stylesheet includes the classes you use.

Before adopting: Version-specific setup matters. Avoid mixing configuration examples from different major versions.

Official repository: tailwindlabs/tailwindcss
Icons

7. Lucide

Keep interface icon style consistent using an existing icon library.

Try this: Add an icon to a labeled action in the package matching your framework.

Check the result: The action still has a clear accessible name; a decorative icon does not add duplicate screen-reader text.

Before adopting: An icon alone may not explain an unfamiliar action. Check the package license and attribution requirements.

Official repository: lucide-icons/lucide
Backend

8. Supabase

Explore a Postgres-based backend when the project genuinely needs shared data or accounts.

Try this: Use a disposable development project to store one non-sensitive example record. Define who should be able to read and write it.

Check the result: A user who should not have access cannot fetch or modify another user’s record.

Before adopting: Hosted services can incur charges. Follow the current security documentation; never put privileged server credentials in a public client.

Official repository: supabase/supabase
Database schema

9. Drizzle ORM

Describe database tables and queries in a typed application workflow.

Try this: In a development database, define a reading-list table and review the migration before applying it.

Check the result: A new record can be inserted and queried, and the migration does not unexpectedly remove existing columns.

Before adopting: It is not a substitute for backups or reviewing destructive schema changes. Use documentation for your database driver.

Official repository: drizzle-team/drizzle-orm
Server state

10. TanStack Query

Manage asynchronous data, cached results and loading/error states in a supported frontend.

Try this: Use the adapter for your framework to fetch a list, show a loading state, and refresh it after a change.

Check the result: Failed requests produce readable errors; stale data refreshes when intended without an endless request loop.

Before adopting: It manages server-state behavior, not your authorization rules or database security.

Official repository: TanStack/query
Validation

11. Zod

Describe and validate the shape of data crossing a boundary.

Try this: Define the shape of a saved item and reject a missing title or invalid field type before storing it.

Check the result: Both valid and intentionally malformed inputs have explicit outcomes in tests.

Before adopting: Schema validation alone does not sanitize arbitrary HTML or authorize a request. Validate again at the server boundary when there is one.

Official repository: colinhacks/zod
Unit tests

12. Vitest

Check small pieces of application logic with repeatable assertions.

Try this: Write tests for filtering a reading list, including an empty list and a missing field.

Check the result: The test fails for an intentionally broken implementation, then passes after the correction.

Before adopting: A passing unit suite does not prove that the browser interface or deployment works.

Official repository: vitest-dev/vitest
End-to-end tests

13. Playwright

Turn a critical browser journey into a repeatable test.

Try this: Automate adding an item and checking the visible list after refresh. Use locators based on labels or roles.

Check the result: The test makes assertions about what the user sees, rather than merely clicking without checking results.

Before adopting: Browser installation and CI configuration are separate setup steps. Keep fixtures and credentials isolated.

Official repository: microsoft/playwright
Secret detection

14. Gitleaks

Look for likely secrets in a repository before sharing code.

Try this: Follow the official installation instructions, then scan a disposable example repository with a deliberately fake test token.

Check the result: Review the finding without publishing a real credential. Remove fixtures before using the same process on real work.

Before adopting: No scanner finds every secret. If a genuine secret was exposed, deleting it from the latest file is not sufficient; rotate it.

Official repository: gitleaks/gitleaks
Accessibility checks

15. axe-core

Add automated accessibility checks to a browser testing workflow.

Try this: Run a supported integration against one local form and fix a reported missing-label issue.

Check the result: The automated issue is resolved, and the control is also checked manually with a keyboard.

Before adopting: Automated checks cover only part of accessibility. Reading order, task clarity and assistive-technology behavior need further review.

Official repository: dequelabs/axe-core

A small starting workflow

Write a project brief, find the relevant API with Context7, define an original DESIGN.md, then inspect the complete browser journey. Add database or state-management packages only when the project requires them.