GitHub - CoderScreen/coderscreen: Modern, open-source technical hiring platform
Navigation Menu
Toggle navigation
[](https://github.com/)
Appearance settings
* Platform
* AI CODE CREATION
- GitHub Copilot Write better code with AI
- GitHub Copilot app Direct agents from issue to merge
- MCP Registry New Integrate external tools
* DEVELOPER WORKFLOWS
- Actions Automate any workflow
- Codespaces Instant dev environments
- Code Review Manage code changes
* APPLICATION SECURITY
- GitHub Advanced Security Find and fix vulnerabilities
- Code security Secure your code as you build
- Secret protection Stop leaks before they start
* EXPLORE
- Blog
* Solutions
* BY COMPANY SIZE
- Startups
* BY USE CASE
- DevOps
- CI/CD
* BY INDUSTRY
* Resources
* EXPLORE BY TOPIC
- AI
- DevOps
- Security
* EXPLORE BY TYPE
* SUPPORT & SERVICES
- Partners
* Open Source
* COMMUNITY
- GitHub Sponsors Fund open source developers
* PROGRAMS
* REPOSITORIES
- Topics
- Trending
* Enterprise
* ENTERPRISE SOLUTIONS
- Enterprise platform AI-powered developer platform
* AVAILABLE ADD-ONS
- GitHub Advanced Security Enterprise-grade security features
- Copilot for Business Enterprise-grade AI features
- Premium Support Enterprise-grade 24/7 support
- Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search
Clear
Provide feedback
We read every piece of feedback, and take your input very seriously.
- [x] Include my email address so I can be contacted
Cancel Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name
Query
To see all available qualifiers, see our documentation.
Cancel Create saved search
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Uh oh!
There was an error while loading. Please reload this page.
CoderScreen/**coderscreen**Public
- NotificationsYou must be signed in to change notification settings
- Fork 5
- Star 37
- Code
- Issues 0
- Actions
- Projects
- Insights
Additional navigation options
- Code
- Issues
- Actions
- Projects
- Insights
[](https://github.com/CoderScreen/coderscreen)
CoderScreen/coderscreen
main
[](https://github.com/CoderScreen/coderscreen/branches)[](https://github.com/CoderScreen/coderscreen/tags)
Go to file
Code
Open more actions menu
Folders and files
| Name | Name | Last commit message | Last commit date | | --- | --- | --- | --- |
| ## Latest commit !Image 3: RogutKuba!Image 4: claude RogutKuba and claude fix: use org name for Stripe customer instead of random org id (#23) Open commit details success Jun 30, 2026 99cd9b0·Jun 30, 2026 ## History 156 Commits Open commit details [](https://github.com/CoderScreen/coderscreen/commits/main/)156 Commits |
| [.agents/skills/agentation](https://github.com/CoderScreen/coderscreen/tree/main/.agents/skills/agentation "This path skips through empty directories") | [.agents/skills/agentation](https://github.com/CoderScreen/coderscreen/tree/main/.agents/skills/agentation "This path skips through empty directories") | [feat: Assessments — async coding screening with auto-grading (](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>")#18[)](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 21, 2026 |
| [.claude/skills](https://github.com/CoderScreen/coderscreen/tree/main/.claude/skills "This path skips through empty directories") | [.claude/skills](https://github.com/CoderScreen/coderscreen/tree/main/.claude/skills "This path skips through empty directories") | [feat: Assessments — async coding screening with auto-grading (](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>")#18[)](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 21, 2026 |
| [.github/workflows](https://github.com/CoderScreen/coderscreen/tree/main/.github/workflows "This path skips through empty directories") | [.github/workflows](https://github.com/CoderScreen/coderscreen/tree/main/.github/workflows "This path skips through empty directories") | [fix better auth](https://github.com/CoderScreen/coderscreen/commit/6bfb53ba4d8e8a0a046ed4f43029debc2adc5daf "fix better auth") | Jul 28, 2025 |
| [.nx](https://github.com/CoderScreen/coderscreen/tree/main/.nx ".nx") | [.nx](https://github.com/CoderScreen/coderscreen/tree/main/.nx ".nx") | [basic monorepo setup](https://github.com/CoderScreen/coderscreen/commit/d39c0584a46387150acf0a2219d6378ebaa92eb8 "basic monorepo setup") | Jun 21, 2025 |
| [.vscode](https://github.com/CoderScreen/coderscreen/tree/main/.vscode ".vscode") | [.vscode](https://github.com/CoderScreen/coderscreen/tree/main/.vscode ".vscode") | [fix biome version](https://github.com/CoderScreen/coderscreen/commit/cc83beb2361e11123bc834c77a19a4ecb52e640f "fix biome version") | Jul 28, 2025 |
| [apps](https://github.com/CoderScreen/coderscreen/tree/main/apps "apps") | [apps](https://github.com/CoderScreen/coderscreen/tree/main/apps "apps") | [fix: use org name for Stripe customer instead of random org id (](https://github.com/CoderScreen/coderscreen/commit/99cd9b0dabdf45e6144a9416415166f81d5e80d0 "fix: use org name for Stripe customer instead of random org id (#23) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>")#23[)](https://github.com/CoderScreen/coderscreen/commit/99cd9b0dabdf45e6144a9416415166f81d5e80d0 "fix: use org name for Stripe customer instead of random org id (#23) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 30, 2026 |
| [content](https://github.com/CoderScreen/coderscreen/tree/main/content "content") | [content](https://github.com/CoderScreen/coderscreen/tree/main/content "content") | [oss](https://github.com/CoderScreen/coderscreen/commit/a16ab12da70082ea89958b180c91faaad5a706f5 "oss") | Jul 26, 2025 |
| [docs](https://github.com/CoderScreen/coderscreen/tree/main/docs "docs") | [docs](https://github.com/CoderScreen/coderscreen/tree/main/docs "docs") | [feat: Assessments — async coding screening with auto-grading (](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>")#18[)](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 21, 2026 |
| [packages](https://github.com/CoderScreen/coderscreen/tree/main/packages "packages") | [packages](https://github.com/CoderScreen/coderscreen/tree/main/packages "packages") | [feat: shared email package, assessments launch broadcast, and marketi…](https://github.com/CoderScreen/coderscreen/commit/1082ecd218f90bafe69c9c59f5ab330048b7cde2 "feat: shared email package, assessments launch broadcast, and marketing feature pages (#19) Extract email layout into a shared @coderscreen/email package and migrate the API templates to it, add an Assessments-launch marketing email template plus a packages/scripts job that sends it as a Resend broadcast (with a test mode), and add static /assessments and /live-interviews marketing pages with SEO metadata, footer links, and sitemap entries. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 21, 2026 |
| [public](https://github.com/CoderScreen/coderscreen/tree/main/public "public") | [public](https://github.com/CoderScreen/coderscreen/tree/main/public "public") | [favicon (](https://github.com/CoderScreen/coderscreen/commit/bc1f27973c04ed4f727508373df12257840306bb "favicon (#15)")#15[)](https://github.com/CoderScreen/coderscreen/commit/bc1f27973c04ed4f727508373df12257840306bb "favicon (#15)") | Mar 14, 2026 |
| [.gitignore](https://github.com/CoderScreen/coderscreen/blob/main/.gitignore ".gitignore") | [.gitignore](https://github.com/CoderScreen/coderscreen/blob/main/.gitignore ".gitignore") | [seo updates'](https://github.com/CoderScreen/coderscreen/commit/5cee277da2141f2ef4f42b4f65b3c108c2fa438a "seo updates'") | Jan 18, 2026 |
| [.nvmrc](https://github.com/CoderScreen/coderscreen/blob/main/.nvmrc ".nvmrc") | [.nvmrc](https://github.com/CoderScreen/coderscreen/blob/main/.nvmrc ".nvmrc") | [basic partykit](https://github.com/CoderScreen/coderscreen/commit/f22d9b5f3d2cab0d5ae1ef1ea39b9499dba91b44 "basic partykit") | Jul 2, 2025 |
| [LICENSE](https://github.com/CoderScreen/coderscreen/blob/main/LICENSE "LICENSE") | [LICENSE](https://github.com/CoderScreen/coderscreen/blob/main/LICENSE "LICENSE") | [open-source setup](https://github.com/CoderScreen/coderscreen/commit/b3091bfdff385e81ad1f4d972a0a182b3e8d0907 "open-source setup") | Jul 26, 2025 |
| [QUICK_START.md](https://github.com/CoderScreen/coderscreen/blob/main/QUICK_START.md "QUICK_START.md") | [QUICK_START.md](https://github.com/CoderScreen/coderscreen/blob/main/QUICK_START.md "QUICK_START.md") | [Switch from Loops to Resend for transactional emails (](https://github.com/CoderScreen/coderscreen/commit/aab2224f281c3c8683edb0638dab48e4c6fc660c "Switch from Loops to Resend for transactional emails (#9) * Switch from Loops to Resend for transactional emails Replace Loops SDK with Resend for sending verification and org invitation emails. Emails now use branded HTML templates matching the app theme with the CoderScreen logo, brand blue buttons, and consistent typography. - Remove `loops` package, add `resend` - Replace LoopsService with ResendService - Move email templates into dedicated `emails/` folder with shared layout - Remove Loops contact creation on signup (no audience management needed) - Update env var from INFISCAL_LOOPS_API_KEY to INFISCAL_RESEND_API_KEY Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix lint formatting in Resend service Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>")#9[)](https://github.com/CoderScreen/coderscreen/commit/aab2224f281c3c8683edb0638dab48e4c6fc660c "Switch from Loops to Resend for transactional emails (#9) * Switch from Loops to Resend for transactional emails Replace Loops SDK with Resend for sending verification and org invitation emails. Emails now use branded HTML templates matching the app theme with the CoderScreen logo, brand blue buttons, and consistent typography. - Remove `loops` package, add `resend` - Replace LoopsService with ResendService - Move email templates into dedicated `emails/` folder with shared layout - Remove Loops contact creation on signup (no audience management needed) - Update env var from INFISCAL_LOOPS_API_KEY to INFISCAL_RESEND_API_KEY Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix lint formatting in Resend service Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>") | Feb 22, 2026 |
| [README.md](https://github.com/CoderScreen/coderscreen/blob/main/README.md "README.md") | [README.md](https://github.com/CoderScreen/coderscreen/blob/main/README.md "README.md") | [basic quick start](https://github.com/CoderScreen/coderscreen/commit/7ec5030c7111ff0f23242da2ba96ea085eb186d0 "basic quick start") | Jul 30, 2025 |
| [biome.json](https://github.com/CoderScreen/coderscreen/blob/main/biome.json "biome.json") | [biome.json](https://github.com/CoderScreen/coderscreen/blob/main/biome.json "biome.json") | [Web interviews (](https://github.com/CoderScreen/coderscreen/commit/8d303b9702b7da0dd7abefa92888a001e3111714 "Web interviews (#5) * basic sandpack ui * basic multifile editor * basic file explorer * basic responsiveness * basic multifile * basic add file input * decent file exlplorer * add fs item input * delete file dialog * test rename file * file rename * react to file changes * language icons * single and multi-file output * run single file code * fix bugs")#5[)](https://github.com/CoderScreen/coderscreen/commit/8d303b9702b7da0dd7abefa92888a001e3111714 "Web interviews (#5) * basic sandpack ui * basic multifile editor * basic file explorer * basic responsiveness * basic multifile * basic add file input * decent file exlplorer * add fs item input * delete file dialog * test rename file * file rename * react to file changes * language icons * single and multi-file output * run single file code * fix bugs") | Sep 17, 2025 |
| [nx](https://github.com/CoderScreen/coderscreen/blob/main/nx "nx") | [nx](https://github.com/CoderScreen/coderscreen/blob/main/nx "nx") | [basic monorepo setup](https://github.com/CoderScreen/coderscreen/commit/d39c0584a46387150acf0a2219d6378ebaa92eb8 "basic monorepo setup") | Jun 21, 2025 |
| [nx.bat](https://github.com/CoderScreen/coderscreen/blob/main/nx.bat "nx.bat") | [nx.bat](https://github.com/CoderScreen/coderscreen/blob/main/nx.bat "nx.bat") | [basic monorepo setup](https://github.com/CoderScreen/coderscreen/commit/d39c0584a46387150acf0a2219d6378ebaa92eb8 "basic monorepo setup") | Jun 21, 2025 |
| [nx.json](https://github.com/CoderScreen/coderscreen/blob/main/nx.json "nx.json") | [nx.json](https://github.com/CoderScreen/coderscreen/blob/main/nx.json "nx.json") | [basic monorepo setup](https://github.com/CoderScreen/coderscreen/commit/d39c0584a46387150acf0a2219d6378ebaa92eb8 "basic monorepo setup") | Jun 21, 2025 |
| [package.json](https://github.com/CoderScreen/coderscreen/blob/main/package.json "package.json") | [package.json](https://github.com/CoderScreen/coderscreen/blob/main/package.json "package.json") | [Fix sandbox (](https://github.com/CoderScreen/coderscreen/commit/e06d7d3b899463411e35003a74a77629d186bdd6 "Fix sandbox (#8) * sandbox overhaul phase 1: replace forked SDK with official @cloudflare/sandbox v0.7.4 - Swap @cloudflare/sandbox from workspace fork (v0.0.7) to official npm (v0.7.4) - Update @cloudflare/containers to v0.0.30 and wrangler to v4.67.0 - Create SandboxDO extending official Sandbox class with lifecycle hooks - Create languageCommands.ts map replacing 12 individual runner files - Rewrite CodeRun.service.ts and Sandbox.service.ts to use getSandbox() API - Slim Dockerfile based on cloudflare/sandbox:0.7.4 with language runtimes - Use tsx instead of ts-node for TypeScript execution - Add SANDBOX_OVERHAUL.md phased checklist for remaining work Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 2: add stop execution and streaming output - Add POST /stop endpoint using sandbox.killAllProcesses() - Add POST /run/stream SSE endpoint using sandbox.execStream() - Add runCodeStream() method to CodeRunService with SSE error wrapping - Add Stop button (destructive variant) that replaces Run while executing - Wire AbortController into /run fetch so Stop immediately cancels the request - Suppress AbortError from global mutation error handler and execution history - Remove debug console.log from /run route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 3: add interactive xterm.js terminal - Add GET /terminal WebSocket route using proxyTerminal() from SDK - Create Terminal component with xterm.js, FitAddon, and SandboxAddon - Light theme terminal with connection state indicator overlay - Register terminal panel in Dockview with RiTerminalBoxLine icon - Add terminal panel below code-output in both host and guest views - Install @xterm/xterm, @xterm/addon-fit, @cloudflare/sandbox in web app Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 4: add Yjs-to-sandbox file synchronization Add FileSyncService that continuously syncs Yjs document file contents to the sandbox filesystem, so the terminal sees exactly what the editor has. Includes initial full sync on load, debounced content writes (500ms), and structural change handling (add/delete/rename/move). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phase 4 in sandbox overhaul tracker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 5: add cloudflared tunnel for local preview dev Add cloudflared binary to sandbox Dockerfile, implement tunnel-based preview URLs via PreviewService for local development, and configure Vite templates with allowedHosts to accept tunnel hostnames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phases 5-6 and remove old Sandpack files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * redesign code output panel: clean stdout/stderr via /run API Restore separate output panel showing only latest execution result (empty state, loading spinner, plain stdout with stderr in red). Run/Stop button toggles based on loading state and hides for web frameworks. Fix compiled language paths (./ prefix on absolute paths), replace killAllProcesses with selective process killing to avoid destroying the sandbox container, and remove unused runCommands.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sync preview URL across participants via Yjs Store the preview URL in Yjs doc instead of local React state so all room participants see the running preview iframe immediately. On start, write URL to Yjs; on stop, clear it. New participants read the existing URL on mount and subscribe to changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix instructions text centering and add code block button Add text-left to the button wrapper in InstructionEditor to override browser default centered text. Add a code block toggle button to the TipTap toolbar alongside the existing inline code button. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix lint: reorder imports, remove unused code field from /run schema Auto-fix import ordering (biome), formatter fixes, remove the unused code field from /run and /run/stream validators since code is now read from the sandbox filesystem. Fix language type in useRunRoomCode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * lint auto-fixes and prior uncommitted sandbox changes Biome auto-fixed import ordering and formatting across API and web. Includes previously uncommitted sandbox overhaul changes: CodeRun service cleanup, SandboxDO updates, language commands reformatting, multiFileTemplates fixes, and removal of SANDBOX_OVERHAUL.md tracker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update pnpm-lock.yaml to match package.json changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci * update next-mdx-remote to v6 to fix CVE-2026-0969 Vercel blocks deploys with next-mdx-remote@5.0.0 due to a security vulnerability. Updated to v6.0.0 which resolves the CVE. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add missing sonner dependency to UI package The toast component imports sonner but it wasn't listed in package.json, causing Cloudflare web builds to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci again --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>")#8[)](https://github.com/CoderScreen/coderscreen/commit/e06d7d3b899463411e35003a74a77629d186bdd6 "Fix sandbox (#8) * sandbox overhaul phase 1: replace forked SDK with official @cloudflare/sandbox v0.7.4 - Swap @cloudflare/sandbox from workspace fork (v0.0.7) to official npm (v0.7.4) - Update @cloudflare/containers to v0.0.30 and wrangler to v4.67.0 - Create SandboxDO extending official Sandbox class with lifecycle hooks - Create languageCommands.ts map replacing 12 individual runner files - Rewrite CodeRun.service.ts and Sandbox.service.ts to use getSandbox() API - Slim Dockerfile based on cloudflare/sandbox:0.7.4 with language runtimes - Use tsx instead of ts-node for TypeScript execution - Add SANDBOX_OVERHAUL.md phased checklist for remaining work Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 2: add stop execution and streaming output - Add POST /stop endpoint using sandbox.killAllProcesses() - Add POST /run/stream SSE endpoint using sandbox.execStream() - Add runCodeStream() method to CodeRunService with SSE error wrapping - Add Stop button (destructive variant) that replaces Run while executing - Wire AbortController into /run fetch so Stop immediately cancels the request - Suppress AbortError from global mutation error handler and execution history - Remove debug console.log from /run route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 3: add interactive xterm.js terminal - Add GET /terminal WebSocket route using proxyTerminal() from SDK - Create Terminal component with xterm.js, FitAddon, and SandboxAddon - Light theme terminal with connection state indicator overlay - Register terminal panel in Dockview with RiTerminalBoxLine icon - Add terminal panel below code-output in both host and guest views - Install @xterm/xterm, @xterm/addon-fit, @cloudflare/sandbox in web app Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 4: add Yjs-to-sandbox file synchronization Add FileSyncService that continuously syncs Yjs document file contents to the sandbox filesystem, so the terminal sees exactly what the editor has. Includes initial full sync on load, debounced content writes (500ms), and structural change handling (add/delete/rename/move). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phase 4 in sandbox overhaul tracker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 5: add cloudflared tunnel for local preview dev Add cloudflared binary to sandbox Dockerfile, implement tunnel-based preview URLs via PreviewService for local development, and configure Vite templates with allowedHosts to accept tunnel hostnames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phases 5-6 and remove old Sandpack files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * redesign code output panel: clean stdout/stderr via /run API Restore separate output panel showing only latest execution result (empty state, loading spinner, plain stdout with stderr in red). Run/Stop button toggles based on loading state and hides for web frameworks. Fix compiled language paths (./ prefix on absolute paths), replace killAllProcesses with selective process killing to avoid destroying the sandbox container, and remove unused runCommands.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sync preview URL across participants via Yjs Store the preview URL in Yjs doc instead of local React state so all room participants see the running preview iframe immediately. On start, write URL to Yjs; on stop, clear it. New participants read the existing URL on mount and subscribe to changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix instructions text centering and add code block button Add text-left to the button wrapper in InstructionEditor to override browser default centered text. Add a code block toggle button to the TipTap toolbar alongside the existing inline code button. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix lint: reorder imports, remove unused code field from /run schema Auto-fix import ordering (biome), formatter fixes, remove the unused code field from /run and /run/stream validators since code is now read from the sandbox filesystem. Fix language type in useRunRoomCode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * lint auto-fixes and prior uncommitted sandbox changes Biome auto-fixed import ordering and formatting across API and web. Includes previously uncommitted sandbox overhaul changes: CodeRun service cleanup, SandboxDO updates, language commands reformatting, multiFileTemplates fixes, and removal of SANDBOX_OVERHAUL.md tracker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update pnpm-lock.yaml to match package.json changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci * update next-mdx-remote to v6 to fix CVE-2026-0969 Vercel blocks deploys with next-mdx-remote@5.0.0 due to a security vulnerability. Updated to v6.0.0 which resolves the CVE. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add missing sonner dependency to UI package The toast component imports sonner but it wasn't listed in package.json, causing Cloudflare web builds to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci again --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>") | Feb 22, 2026 |
| [pnpm-lock.yaml](https://github.com/CoderScreen/coderscreen/blob/main/pnpm-lock.yaml "pnpm-lock.yaml") | [pnpm-lock.yaml](https://github.com/CoderScreen/coderscreen/blob/main/pnpm-lock.yaml "pnpm-lock.yaml") | [feat: shared email package, assessments launch broadcast, and marketi…](https://github.com/CoderScreen/coderscreen/commit/1082ecd218f90bafe69c9c59f5ab330048b7cde2 "feat: shared email package, assessments launch broadcast, and marketing feature pages (#19) Extract email layout into a shared @coderscreen/email package and migrate the API templates to it, add an Assessments-launch marketing email template plus a packages/scripts job that sends it as a Resend broadcast (with a test mode), and add static /assessments and /live-interviews marketing pages with SEO metadata, footer links, and sitemap entries. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>") | Jun 21, 2026 |
| [pnpm-workspace.yaml](https://github.com/CoderScreen/coderscreen/blob/main/pnpm-workspace.yaml "pnpm-workspace.yaml") | [pnpm-workspace.yaml](https://github.com/CoderScreen/coderscreen/blob/main/pnpm-workspace.yaml "pnpm-workspace.yaml") | [Fix sandbox (](https://github.com/CoderScreen/coderscreen/commit/e06d7d3b899463411e35003a74a77629d186bdd6 "Fix sandbox (#8) * sandbox overhaul phase 1: replace forked SDK with official @cloudflare/sandbox v0.7.4 - Swap @cloudflare/sandbox from workspace fork (v0.0.7) to official npm (v0.7.4) - Update @cloudflare/containers to v0.0.30 and wrangler to v4.67.0 - Create SandboxDO extending official Sandbox class with lifecycle hooks - Create languageCommands.ts map replacing 12 individual runner files - Rewrite CodeRun.service.ts and Sandbox.service.ts to use getSandbox() API - Slim Dockerfile based on cloudflare/sandbox:0.7.4 with language runtimes - Use tsx instead of ts-node for TypeScript execution - Add SANDBOX_OVERHAUL.md phased checklist for remaining work Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 2: add stop execution and streaming output - Add POST /stop endpoint using sandbox.killAllProcesses() - Add POST /run/stream SSE endpoint using sandbox.execStream() - Add runCodeStream() method to CodeRunService with SSE error wrapping - Add Stop button (destructive variant) that replaces Run while executing - Wire AbortController into /run fetch so Stop immediately cancels the request - Suppress AbortError from global mutation error handler and execution history - Remove debug console.log from /run route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 3: add interactive xterm.js terminal - Add GET /terminal WebSocket route using proxyTerminal() from SDK - Create Terminal component with xterm.js, FitAddon, and SandboxAddon - Light theme terminal with connection state indicator overlay - Register terminal panel in Dockview with RiTerminalBoxLine icon - Add terminal panel below code-output in both host and guest views - Install @xterm/xterm, @xterm/addon-fit, @cloudflare/sandbox in web app Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 4: add Yjs-to-sandbox file synchronization Add FileSyncService that continuously syncs Yjs document file contents to the sandbox filesystem, so the terminal sees exactly what the editor has. Includes initial full sync on load, debounced content writes (500ms), and structural change handling (add/delete/rename/move). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phase 4 in sandbox overhaul tracker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 5: add cloudflared tunnel for local preview dev Add cloudflared binary to sandbox Dockerfile, implement tunnel-based preview URLs via PreviewService for local development, and configure Vite templates with allowedHosts to accept tunnel hostnames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phases 5-6 and remove old Sandpack files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * redesign code output panel: clean stdout/stderr via /run API Restore separate output panel showing only latest execution result (empty state, loading spinner, plain stdout with stderr in red). Run/Stop button toggles based on loading state and hides for web frameworks. Fix compiled language paths (./ prefix on absolute paths), replace killAllProcesses with selective process killing to avoid destroying the sandbox container, and remove unused runCommands.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sync preview URL across participants via Yjs Store the preview URL in Yjs doc instead of local React state so all room participants see the running preview iframe immediately. On start, write URL to Yjs; on stop, clear it. New participants read the existing URL on mount and subscribe to changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix instructions text centering and add code block button Add text-left to the button wrapper in InstructionEditor to override browser default centered text. Add a code block toggle button to the TipTap toolbar alongside the existing inline code button. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix lint: reorder imports, remove unused code field from /run schema Auto-fix import ordering (biome), formatter fixes, remove the unused code field from /run and /run/stream validators since code is now read from the sandbox filesystem. Fix language type in useRunRoomCode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * lint auto-fixes and prior uncommitted sandbox changes Biome auto-fixed import ordering and formatting across API and web. Includes previously uncommitted sandbox overhaul changes: CodeRun service cleanup, SandboxDO updates, language commands reformatting, multiFileTemplates fixes, and removal of SANDBOX_OVERHAUL.md tracker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update pnpm-lock.yaml to match package.json changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci * update next-mdx-remote to v6 to fix CVE-2026-0969 Vercel blocks deploys with next-mdx-remote@5.0.0 due to a security vulnerability. Updated to v6.0.0 which resolves the CVE. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add missing sonner dependency to UI package The toast component imports sonner but it wasn't listed in package.json, causing Cloudflare web builds to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci again --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>")#8[)](https://github.com/CoderScreen/coderscreen/commit/e06d7d3b899463411e35003a74a77629d186bdd6 "Fix sandbox (#8) * sandbox overhaul phase 1: replace forked SDK with official @cloudflare/sandbox v0.7.4 - Swap @cloudflare/sandbox from workspace fork (v0.0.7) to official npm (v0.7.4) - Update @cloudflare/containers to v0.0.30 and wrangler to v4.67.0 - Create SandboxDO extending official Sandbox class with lifecycle hooks - Create languageCommands.ts map replacing 12 individual runner files - Rewrite CodeRun.service.ts and Sandbox.service.ts to use getSandbox() API - Slim Dockerfile based on cloudflare/sandbox:0.7.4 with language runtimes - Use tsx instead of ts-node for TypeScript execution - Add SANDBOX_OVERHAUL.md phased checklist for remaining work Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 2: add stop execution and streaming output - Add POST /stop endpoint using sandbox.killAllProcesses() - Add POST /run/stream SSE endpoint using sandbox.execStream() - Add runCodeStream() method to CodeRunService with SSE error wrapping - Add Stop button (destructive variant) that replaces Run while executing - Wire AbortController into /run fetch so Stop immediately cancels the request - Suppress AbortError from global mutation error handler and execution history - Remove debug console.log from /run route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 3: add interactive xterm.js terminal - Add GET /terminal WebSocket route using proxyTerminal() from SDK - Create Terminal component with xterm.js, FitAddon, and SandboxAddon - Light theme terminal with connection state indicator overlay - Register terminal panel in Dockview with RiTerminalBoxLine icon - Add terminal panel below code-output in both host and guest views - Install @xterm/xterm, @xterm/addon-fit, @cloudflare/sandbox in web app Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 4: add Yjs-to-sandbox file synchronization Add FileSyncService that continuously syncs Yjs document file contents to the sandbox filesystem, so the terminal sees exactly what the editor has. Includes initial full sync on load, debounced content writes (500ms), and structural change handling (add/delete/rename/move). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phase 4 in sandbox overhaul tracker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sandbox overhaul phase 5: add cloudflared tunnel for local preview dev Add cloudflared binary to sandbox Dockerfile, implement tunnel-based preview URLs via PreviewService for local development, and configure Vite templates with allowedHosts to accept tunnel hostnames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: check off phases 5-6 and remove old Sandpack files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * redesign code output panel: clean stdout/stderr via /run API Restore separate output panel showing only latest execution result (empty state, loading spinner, plain stdout with stderr in red). Run/Stop button toggles based on loading state and hides for web frameworks. Fix compiled language paths (./ prefix on absolute paths), replace killAllProcesses with selective process killing to avoid destroying the sandbox container, and remove unused runCommands.ts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * sync preview URL across participants via Yjs Store the preview URL in Yjs doc instead of local React state so all room participants see the running preview iframe immediately. On start, write URL to Yjs; on stop, clear it. New participants read the existing URL on mount and subscribe to changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix instructions text centering and add code block button Add text-left to the button wrapper in InstructionEditor to override browser default centered text. Add a code block toggle button to the TipTap toolbar alongside the existing inline code button. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix lint: reorder imports, remove unused code field from /run schema Auto-fix import ordering (biome), formatter fixes, remove the unused code field from /run and /run/stream validators since code is now read from the sandbox filesystem. Fix language type in useRunRoomCode. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * lint auto-fixes and prior uncommitted sandbox changes Biome auto-fixed import ordering and formatting across API and web. Includes previously uncommitted sandbox overhaul changes: CodeRun service cleanup, SandboxDO updates, language commands reformatting, multiFileTemplates fixes, and removal of SANDBOX_OVERHAUL.md tracker. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * update pnpm-lock.yaml to match package.json changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci * update next-mdx-remote to v6 to fix CVE-2026-0969 Vercel blocks deploys with next-mdx-remote@5.0.0 due to a security vulnerability. Updated to v6.0.0 which resolves the CVE. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: add missing sonner dependency to UI package The toast component imports sonner but it wasn't listed in package.json, causing Cloudflare web builds to fail. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix ci again --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>") | Feb 22, 2026 |
| [skills-lock.json](https://github.com/CoderScreen/coderscreen/blob/main/skills-lock.json "skills-lock.json") | [skills-lock.json](https://github.com/CoderScreen/coderscreen/blob/main/skills-lock.json "skills-lock.json") | [feat: Assessments — async coding screening with auto-grading (](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a11y warnings on stopPropagation wrappers and custom-control labels, justify positional array-index keys, and move the expiration effect below its callback deps to fix use-before-declaration. Revert a risky auto-fix that would recreate the CodeEditor on every keystroke and restore TypedValueEditor's value-based dependency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>")#18[)](https://github.com/CoderScreen/coderscreen/commit/646344c6528b4043ef5cab7bab69e702e2ecce86 "feat: Assessments — async coding screening with auto-grading (#18) * base assessment ui' * candidate take view * feat: company assessment view * feat: better assessment ui * take assessment basics * feat: submission review, candidate emails, and Resend audience sync Add a full submission detail review view and route, candidate-facing assessment invitation and submission-confirmation emails, submission archive UI, and a script to sync users into a Resend marketing segment. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: brand test-case ids in submission detail to satisfy api build inArray/Map lookups against questionLibraryTestCase.id need the branded Id<'questionLibraryTestCase'> type; plain strings broke the CI tsc build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix: resolve biome lint errors across assessments feature Apply biome formatting + import sorting and fix lint errors: add button types, suppress a1