Good First Issues
This is a list of JavaScript repositories with good first issues for newcomers to open source. Contributions are welcome!
This list gets updated every day at midnight.
Uuriko/project-room
- Verify open-room share-link flow end-to-end post-#817; close #612 or file follow-ups
- scripts/room rebuild --commit-push aborts when --out is inside the repo cwd
- Agents start here — join the live room in 5 minutes
Deepak3699/Ai_Mentor
- No rate limiting on POST /generate
- [[Feature] Add DELETE /jobs/{job_id} endpoint to cancel running job](https://github.com/Deepak3699/Ai_Mentor/issues/104)
- [[UI] Right Sidebar - Quick Actions List](https://github.com/Deepak3699/Ai_Mentor/issues/179)
- [[FEAT] AI Video Player UI & Multi-Stage Generation Progress Indicator](https://github.com/Deepak3699/Ai_Mentor/issues/136)
- [[FEAT] Enhanced Gemini Prompt Templates & Educational Script Quality Control](https://github.com/Deepak3699/Ai_Mentor/issues/138)
- Two separate registration routes exist — which one should we use?
- Hardcoded localhost API URL in Report Submission breaks in production
- Onboarding setup modal does not redirect to dashboard upon clicking "Finish"
pacocartones/free-llm-api-hub
- [[good first issue] Does Fireworks AI's free tier allow production use? Confirm commercial_ok](https://github.com/pacocartones/free-llm-api-hub/issues/11)
- [[good first issue] Does HuggingFace Inference Providers ask for a phone? Confirm phone_required](https://github.com/pacocartones/free-llm-api-hub/issues/12)
Jason-Vaughan/TangleClaw
- ui/integration: six v2 palette pairs fall below the 4.5:1 contrast floor
- Add JSDoc to the 9 undocumented private helpers
Janani-bn/CivicFix
- Don't show a made-up admin reply when comments fail to load
- Security - Unauthenticated Admin & Status Update Routes
- Run frontend lint and build on pull requests
- Backend runtime crash: unsupported math functions (radians, acos) in SQLite
vercel/next.js
- ISG with GIP in _app overrides cache-control of ISG page
@next/next/no-html-link-for-pagesrule does not work withpageExtensions- Parameter on
AppTypeis used incorrectly
Fmarzochi/EGC
- feat(install): add Mistral Vibe as an install target
- feat(install): add Letta Code as an install target
- OpenHands: the spec should mention global hooks in ~/.openhands/hooks.json
- Guardian build: clean orphan outputs
- Release workflow: replace the deprecated actions/attest-sbom
- egc gain --history: show local time or label it UTC
- install.ps1: remove the unused Register-McpJson function
- Spec: protocol version 9, and Qwen Code has hooks
- Zed: install skills in ~/.agents/skills and .agents/skills
- feat(install): add Plandex as an install target
- feat(install): add Pi as an install target
- feat(install): add MiMo Code (Xiaomi) as an install target
- feat(install): add Kilo Code CLI as an install target
- feat(install): add Grok Build (xAI) as an install target
- test(v1.1.22): first install on Windows, npm and clone, and report
- test(v1.1.22): first install on macOS, npm and clone, and report
amponce/archive-movie-browser
- Easy pickings: small fixes from the September site check
- README catch-up: feeds table, project map, and a broken link
- Screen readers hear "Previewing channel 1…" every minute on the front page
- Some pages scroll sideways on small phones
- Search box: a pasted details/... path should open what it points at
- MCP: a recommend_films tool ("a noir under 70 minutes")
- Design another poster composition (the keyhole was great, let's have more)
Indicaza/holdfast
- [[Good first issue] Add a friendly local persona chooser for development](https://github.com/Indicaza/holdfast/issues/135)
- [[Good first issue] Add an internal Markdown link checker to CI](https://github.com/Indicaza/holdfast/issues/134)
- [[Good first issue] Add sanitized product screenshots to the README](https://github.com/Indicaza/holdfast/issues/133)
chocolajs/chocola
- Make components imports required
- Scoped styles bleed into nested components
- Can't select the root element using its tag
KarchinLab/open-cravat
PipedreamHQ/pipedream
- [[TRIGGER]](https://github.com/PipedreamHQ/pipedream/issues/21956)
- [[FEATURE] Add tawk.to actions to Pipedream MCP](https://github.com/PipedreamHQ/pipedream/issues/22017)
- Add tools to Yahoo Sports
- [[TRIGGER]](https://github.com/PipedreamHQ/pipedream/issues/22036)
- [[ACTION] Rewardful — Affiliate & Commission Management](https://github.com/PipedreamHQ/pipedream/issues/21991)
Ryoseiimai/pocket-gym
nextcloud/mail
- Provisioned accounts never auto-refresh the INBOX for passwordless (OIDC/SAML) sessions, even with a master password configured
- Specify rich text colors in RGB or Hex by default
- Show email next to name in Search dropdown
- Change Message-ID format
anoni-net/docs
- 新讀者走讀回報,照著一篇文章實際操作
- content(style): 全站動補結構的口語寫法待逐批處理,扣掉 #480 之後還有 2419 處
- 撰寫 tools/what-is-ipfs.md(IPFS 入門與如何用 IPFS 瀏覽 anoni.net)
- 文件站補示意圖:優先頁面清單
- 翻譯 + 在地脈絡:OpenArchive 如何協助記錄者保全證據(Tor Project blog 2026-05-18)
meshery/meshery.io
- Fix mobile spacing and alignment on MeshMates page
- [[Website] Extensions: Use the Meshery logo for the Meshery Academy entry](https://github.com/meshery/meshery.io/issues/3053)
- Site: Ensure a maximum size is enforced for all adopter logos
- [[Bug] Copy Button Flickering on Hover](https://github.com/meshery/meshery.io/issues/2903)
- [[DevOps] Populate Meshery Catalog with Sample Apps using meshery UI](https://github.com/meshery/meshery.io/issues/1699)
- Website: Consolidate duplicative and unused CSS
- Touch interactions provide no visual feedback on Catalog cards in mobile view
ToolJet/ToolJet
- Dark mode: Toggle not visible
- Icon colour on disabled buttons is incorrect
- Community template: Unix time format converter
- OpenAI logo is not visible in dark mode
- [[docs]: macOS contributor setup fails because postgresql@13 is disabled in Homebrew](https://github.com/ToolJet/ToolJet/issues/17330)
- Dark mode: Workspace login
- Glitch: Tabs are moving on hover
- Anthropic logo is not visible in dark mode
- Add support for Amazon DocumentDb
- Community template: Gym Membership Management System
foam-foundation/foam3
- Status enum pills: use sentence case for every label
- Foam Foundation github pages landing page url redirect
eyal-weiss/wonderlattice
- Room idea: The shape hiding inside randomness (a Galton board)
- Room idea: The punishment illusion (regression to the mean)
- Room idea: The ruler on its edge (why beams are I-shaped)
- Room idea: Random jumps, perfect triangle (the chaos game)
- Room idea: Needles that know π (Buffon's needle)
- Room idea: Fold a dragon (the paper-folding curve)
- Room idea: Rhythms from Euclid (evenly spread beats)
- Room idea: The sunflower's secret angle (the golden angle)
neomjs/neo
- Pin how CountryFlags turns a location into a flag
- Pin how IdGenerator names every instance
- Pin how the RPC API manager resolves each call's type and URL
- Pin Neo.util.Css: how CSS rules reach the main thread
- Pin when the toast manager refuses a toast
- Pin the range field's value-in-label display
- Pin the number field's spin-button trigger
- Pin how the progress, country-flag and GitHub-user grid columns map a record
- Pin which events the calendar's getDayRecords returns for a day
- Pin how the currency field parses and renders amounts
- Pin the ways ClassSystem.beforeSetInstance turns a config into an instance
- Pin HashHistory: one route stack per browser window
SecureBananaLabs/bug-bounty
- Low Handing Fruit Automation
- Benchmark APIs with p50, p95, p99 latency, RPS, error rate and TTFB
- Pixel Art Creation with high Creative Thinking
- Job validation should reject inverted budget ranges
- CORS configured with no origin restrictions — allows any domain
- Upload endpoint lacks authentication — unauthenticated file uploads allowed
- Admin routes lack role-based access control — any authenticated user can access admin endpoints
- Payment endpoint lacks authentication — unauthenticated payment creation
- Technical Poem Generation and Content Creation
- upload endpoint accepts empty file submissions as successful uploads
- Search endpoint has no input validation or length limit on query
- Automate Bug Detection and Reviews
- Reject inverted job budget ranges in job validation
- registerUser access token can reference a different user id
- auth refresh endpoint issues tokens without verifying the requester
- Freelancer profile route should resolve mock profiles by username
- Calculate the exact value of PI #2872
- Calculate the exact value of PI
- CORS configured without origin allowlist in app.js (reissue via #743)
- Bug: user creation accepts empty payloads and client-controlled ids
- User creation endpoint has no input validation
- POST /api/proposals endpoint missing authentication middleware (reissue via #743)
- POST /api/reviews endpoint missing authentication middleware (reissue via #743)
- POST /api/users endpoint missing authentication middleware (reissue via #743)
- Implement a fully functional Admin Panel
nextcloud/forms
Hylozoic/hylo
- Add Join button to events that have a virtual meeting link 15 minutes before the event
- New SPARKLE for Tracks button
- Add user rsvp calendar sub link to Calendar ViewMode
- Off-page overflow in message thread
- translation script sort reverses case
nextcloud/contacts
- [[Bug]: Activity shows contact being created in the wrong address book](https://github.com/nextcloud/contacts/issues/5757)
- Contact Groups edit field: horizontal scrollbar covers the contact group(s)
oss-slu/material-derailleur
HeroForgeAI/vault-mirror
- duration(3599.5) prints "59 min 60 s"
- Docs: say that a search returns at most 50 notes
- Docs: two settings are missing from the settings page
career-ops-hq/career-ops
- parseDate() is copied in three scripts and replicated in a test: move it to one lib module
- docs: name path-resolver.mjs as the module scripts use to resolve the data root and tracker path
- contact-extract and reply-watch: reuse parseFollowups() instead of two private copies
- fix(cli): validate-portals.mjs has no --help and silently ignores mistyped flags: delegate to lib/cli-flags.mjs
- i18n: translate the interview modes (plan/practice/debrief) to Polish
- fix(cli): tracker.mjs delete runs for real when --dry-run is mistyped: validate each subcommand's flags
- i18n(pl): re-sync modes/pl/oferta.md (Polish) to the canonical A–H + Risk Summary structure
- i18n(fr): bring the French interview modes (plan/practice/debrief) back to parity with the English ones
- i18n: translate the interview modes (plan/practice/debrief) to Portuguese (Brazil)
WordPress/gutenberg
- Blocks: Full Screen alignment/display option on several blocks
- @wordpress/eslint-plugin dependencies on other eslint plugins should be peer dependencies
- NumberControl: Disable dragging on touch devices
- Page jumps away when trying to edit an anchor link if you only enter #
- Problem with updating widgets
- stylelint-config: the selector-class-pattern rule rejects some default block, widget, and editor classes
- Original PRs may not be tagged properly when a manual cherry-pick is performed.
- Insert image using url for cover
- Add linting rule to fail build if package A incorrectly depends on package B
nextcloud/spreed
- Always show filters in conversation search
- Option to set "Original image quality" as default setting
- talk couldn't work after install the “talk_matterbridge”
- Write tests for "Team resources" integration
- System message shows "guest added user" to a conversation when adding through circle/team
- Reactions notifications when fully subscribed in federated conversations
- Limit to groups in federated target server breaks federation
- Instant meeting outside of dashboard?
- Go back to autopilot mode if re-clicking selected participant
- Imprint and privacy links in public talk conversations
- Migrate addParticipantToRoom to InvitationList
- Migrate OCC to InvitationList
- Guests in voice-rooms do not see "Leave call" button
Sara-Managed-Projects/space-radar
- Solar sails: a procedural sheet, while NASA publishes a sail concept
- CubeSats: a procedural box, while NASA publishes a 1U and a 2U
louislam/uptime-kuma
- Support URL parameters so we can link directly to filtered dashboard view
- Password Reset via CLI does not work on Embedded MariaDB
darshi1337/apogee
- [[chore] Share or document duplicated limit constants](https://github.com/darshi1337/apogee/issues/364)
- [[bug] suggest-questions-bg rebuilds promptsCacheKey without focusKeyword](https://github.com/darshi1337/apogee/issues/392)
- [[bug] Hidden focus keyword fragments summary cache keys](https://github.com/darshi1337/apogee/issues/390)
- [[bug] Video path drops focusKeyword in ollamaSummarize](https://github.com/darshi1337/apogee/issues/388)
- [[chore] Combine duplicated focus keyword reset into clearFocusKeyword() helper](https://github.com/darshi1337/apogee/issues/370)
- [[chore] Name timeout, retry, and delay magic numbers](https://github.com/darshi1337/apogee/issues/363)
- [[chore] Remove unused makeOpusTranslateFn export](https://github.com/darshi1337/apogee/issues/362)
Berserk-hub150/skillhawk
- [[Good First Issue] Add a false-positive review tip [MC-004]](https://github.com/Berserk-hub150/skillhawk/issues/191)
- [[Good First Issue] Add a minimal-evidence tip [MC-002]](https://github.com/Berserk-hub150/skillhawk/issues/190)
- [[Good First Issue] Add a SARIF-result tip [MC-015]](https://github.com/Berserk-hub150/skillhawk/issues/196)
- [[Good First Issue] Add a regression-test tip [MC-014]](https://github.com/Berserk-hub150/skillhawk/issues/166)
- [[Good First Issue] Add a narrow-rule design tip [MC-005]](https://github.com/Berserk-hub150/skillhawk/issues/192)
- [[Good First Issue] Add a safe-fixture writing tip [MC-007]](https://github.com/Berserk-hub150/skillhawk/issues/193)
- [[Good First Issue] Add an actionable-remediation tip [MC-003]](https://github.com/Berserk-hub150/skillhawk/issues/187)
- [[Good First Issue] Add a redaction tip [MC-009]](https://github.com/Berserk-hub150/skillhawk/issues/179)
- [[Good First Issue] Add a suspicious-fixture writing tip [MC-008]](https://github.com/Berserk-hub150/skillhawk/issues/186)
- [[Good First Issue] Add a SKILL.md trust-boundary tip [MC-012]](https://github.com/Berserk-hub150/skillhawk/issues/183)
- [[Good First Issue] Add a severity calibration tip [MC-006]](https://github.com/Berserk-hub150/skillhawk/issues/175)
- [[Good First Issue] Add an educational-warning tip [MC-016]](https://github.com/Berserk-hub150/skillhawk/issues/164)
- [[2–5 min] Define static analysis for beginners](https://github.com/Berserk-hub150/skillhawk/issues/7)