$ show toss/frontend-fundamentals
This is a monorepo (Yarn Berry workspaces) serving as a comprehensive educational resource for frontend fundamentals, maintained by the Korean fintech company Viva Republica (Toss). It comprises multiple VitePress documentation sites covering code quality, accessibility, debugging, and bundling, along with a real React application ('today-i-learned') that demonstrates the principles by using GitHub Discussions as a backend for a community TIL blog. The repository also includes a Claude Code plugin (frontend-fundamentals-plugin) that evaluates code against these principles using automated grading tasks. The architecture is documentation-centric with a shared navigation component, multi-language support (Korean, English, Japanese, Chinese), and Vercel serverless functions for GitHub OAuth and GraphQL API proxying. The TIL app is a production-grade React SPA (Vite, React Query, Panda CSS, Radix UI) that features post creation, comments, reactions, streaks, and weekly challenges. While the code is well-structured and the educational content is high-quality, much of the code is tightly coupled to the documentation context or the TIL app's specific domain, limiting broad reuse. The repository is actively maintained with recent commits and responsive issue management.
The LLM identified 2 files worth highlighting for reuse:
A reusable Vue navigation component used across all VitePress documentation sites. It accepts a configuration object (from OneNavigationItems.ts) to render a multi-level navigation bar with locale support. It is isolated enough to be extracted into a new VitePress project with minimal modification, and demonstrates good separation of configuration from rendering logic.
A parameterized Vue component that fetches and displays GitHub discussions for a repository. It uses composables (useGithubDiscussions, usePagination, useSortableData) to handle filtering, sorting, and pagination without global state. The component can be reused in any VitePress site by providing the necessary GitHub repository configuration, and the composable pattern is a clean example of separating data fetching from UI.