Skip to content

About

Free open-source planning poker for Scrum teams. No registration required. Real-time estimation for remote agile teams.

Topics

Resources

Code of conduct

Stars

115 stars

Watchers

1 watching

Forks

Latest commit

 

History

486 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgileKit logo

AgileKit

Estimate and reflect, without the noise.

Planning poker and retros for Scrum teams, on one real-time whiteboard.
Free, no sign-up, open source.

Version CI License: MIT

Open AgileKit  ·  Try the demo  ·  Changelog  ·  Report a bug


A planning poker room in AgileKit: six players around the session card, with the voting cards below

Planning poker Retro
  • Vote in private, reveal together
  • Fibonacci, T-shirt or your own scale
  • Average, median and consensus on reveal
  • Issues, a timer that runs itself, CSV export
  • Two-way Jira Cloud sync
  • Stickies stay face-down until the reveal
  • Five templates, with columns you can edit
  • Stack, vote, then discuss in vote order
  • Action items carry over to the next retro
  • GIFs welcome, names hidden by default

Run it yourself

With Node.js 20.9 or newer:

git clone https://github.com/spokvulcan/poker-planning.git
cd poker-planning
npm install
npx convex dev

The first run creates a Convex deployment, writes its URLs to .env.local and then asks for an auth secret. Set it from a second terminal and start the app:

npx convex env set BETTER_AUTH_SECRET "$(openssl rand -base64 32)"
npm run dev

Open localhost:3000. To go live on Vercel, set the build command to npx convex deploy --cmd 'npm run build' and add a production CONVEX_DEPLOY_KEY: each build then deploys the backend along with the app. On any other Node host, run npx convex deploy before you start the app. Either way, set the variables below.

Environment variables

On Convex, set with npx convex env set (add --prod for production):

Variable Used for
BETTER_AUTH_SECRET Signing sessions. Required
SITE_URL Sign-in and Jira OAuth callbacks. Required in production, defaults to http://localhost:3000
RESEND_API_KEY Emailing sign-in links, sent from EMAIL_FROM_ADDRESS
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET Google sign-in (setup guide)
JIRA_CLIENT_ID, JIRA_CLIENT_SECRET, JIRA_WEBHOOK_SECRET, TOKEN_ENCRYPTION_KEY Jira Cloud sync

For Next.js, in .env.local or your host's settings:

Variable Used for
NEXT_PUBLIC_CONVEX_URL, NEXT_PUBLIC_CONVEX_SITE_URL Reaching Convex. Written by npx convex dev locally
NEXT_PUBLIC_SITE_URL Your public URL
CONVEX_DEPLOY_KEY Deploying Convex from your host's build
GIPHY_API_KEY GIF search on stickies. Pasted GIPHY, Tenor and Imgur links work without it
NEXT_PUBLIC_GA_ID Google Analytics

.env.example has notes on most of them.

Contributing

Issues and pull requests are welcome. CONTEXT.md defines the words the code uses, and docs/adr records why it is built the way it is. Before opening a pull request:

npm run lint && npm run ts:check && npm test
npm run test:e2e

Commit messages follow Conventional Commits, which release-please turns into releases and the changelog.


Built with Next.js, Convex, Better Auth, React Flow and shadcn/ui. MIT licensed.

About

Free open-source planning poker for Scrum teams. No registration required. Real-time estimation for remote agile teams.

Topics

Resources

Code of conduct

Stars

115 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages