MCPcopy Index your code
hub / github.com/antiwork/gumboard

github.com/antiwork/gumboard @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
258 symbols 662 edges 111 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Gumboard

Keep on top of your team's to-dos.

Getting Started

Prerequisites

  • Docker Compose
  • Node

Install dependencies

npm install

Database Setup

  1. Create your environment variables file:
cp .env.example .env
  1. Start the PostgreSQL database using Docker:
npm run docker:up
  1. Push the database schema:
npm run db:push

Development Server

First, run the development server:

npm run dev

Visit http://localhost:3000 in your browser to access the application.

Deploy with Vercel

Database Commands

  • npm run docker:up - Start PostgreSQL database
  • npm run docker:down - Stop PostgreSQL database
  • npm run db:generate - Generate Prisma client
  • npm run db:push - Push schema changes to database
  • npm run db:migrate - Run database migrations
  • npm run db:studio - Open Prisma Studio (database GUI)
  • npm run db:reset - Reset database and run migrations

Schema Changes

When changing the database schema in prisma/schema.prisma, create and check in a new migration to apply the changes in production:

npm run db:migrate

🔐 Google OAuth Setup

To enable login with Google, follow these steps:

1. Create Google OAuth Credentials

  1. Visit Google Cloud Console.
  2. Navigate to:
    APIs & ServicesCredentialsCreate CredentialsOAuth Client ID
  3. Choose Web Application as the application type.
  4. Add this to Authorized redirect URIs: http://localhost:3000/api/auth/callback/google (Replace with your production URL if deploying)

2. Add Environment Variables

In your .env.local file, add:

GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret

🔐 GitHub OAuth Setup

To enable login with GitHub, follow these steps:

1. Create GitHub OAuth App

  1. Go to GitHub Developer Settings
  2. Click OAuth AppsNew OAuth App
  3. Fill in the application details:
  4. Application name: Gumboard (or your preferred name)
  5. Homepage URL: http://localhost:3000 (for development)
  6. Authorization callback URL: http://localhost:3000/api/auth/callback/github
  7. Click Register application
  8. Copy the Client ID and Client Secret

2. Add Environment Variables

In your .env.local file, add:

GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

Extension points exported contracts — how you extend this code

TotalsData (Interface)
(no doc)
components/stats-section.tsx
ChecklistItem (Interface)
(no doc)
components/checklist-item.tsx
User (Interface)
(no doc)
components/note.tsx
FilterPopoverProps (Interface)
(no doc)
components/ui/filter-popover.tsx
SlackMessage (Interface)
(no doc)
lib/slack.ts
InviteAcceptPageProps (Interface)
(no doc)
app/invite/accept/page.tsx
OrganizationSetupFormProps (Interface)
(no doc)
app/setup/organization/form.tsx
OrganizationInvite (Interface)
(no doc)
app/settings/organization/page.tsx

Core symbols most depended-on inside this repo

prefix
called by 259
tests/fixtures/test-helpers.ts
cn
called by 90
lib/utils.ts
getBoardName
called by 84
tests/fixtures/test-helpers.ts
hasValidContent
called by 27
lib/slack.ts
redirect
called by 18
auth.ts
formatLastActivity
called by 17
lib/utils.ts
refreshUser
called by 6
app/contexts/UserContext.tsx
useUser
called by 6
app/contexts/UserContext.tsx

Shape

Function 227
Interface 24
Method 5
Class 2

Languages

TypeScript100%

Modules by API surface

app/settings/organization/page.tsx16 symbols
components/note.tsx15 symbols
app/boards/[id]/page.tsx14 symbols
components/ui/draggable.tsx12 symbols
components/ui/alert-dialog.tsx11 symbols
components/ui/dialog.tsx10 symbols
lib/utils.ts9 symbols
tests/fixtures/test-helpers.ts8 symbols
lib/slack.ts8 symbols
components/ui/date-range-picker.tsx8 symbols
components/ui/form.tsx7 symbols
components/ui/card.tsx7 symbols

For agents

$ claude mcp add gumboard \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact