Thanks for your interest in helping abduct more leads! Here's how to get involved.
- Fork the repo on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/ABDUCTR.git cd ABDUCTR/abductr - Install dependencies:
npm install
- Copy the env template and fill in your own Supabase keys:
cp .env.example .env.local
- Run the DB schema in your Supabase SQL Editor:
supabase/schema.sql - Start the dev server:
npm run dev
Use a clear, descriptive branch name:
| Type | Format | Example |
|---|---|---|
| Bug fix | fix/short-description |
fix/proxy-crash-on-refresh |
| New feature | feat/short-description |
feat/linkedin-enrichment |
| Docs | docs/short-description |
docs/update-env-guide |
| Refactor | refactor/short-description |
refactor/cron-singleton |
- Make sure your branch is up to date with
main:git fetch origin git rebase origin/master
- Run the TypeScript check before pushing:
npx tsc --noEmit
- Push your branch and open a PR on GitHub
- Fill out the PR template — describe what changed and why
- Link any related issues (e.g.
Closes #12)
Open an Issue using the Bug Report template.
Include steps to reproduce, expected vs actual behavior, and your OS/Node version.
Open an Issue using the Feature Request template.
Explain the use case — why would this help ABDUCTR users?
- TypeScript — no
anyunless absolutely necessary - Tailwind for all styling — no inline styles
- Keep API routes thin; move logic to
lib/ - Comment anything non-obvious
This project follows the Contributor Covenant Code of Conduct.
Be respectful. We're all just trying to abduct some leads. 👽