TeachKit project

TeachKit / Design system

Documentation v0.1 · Released product

Design system contents

Implementation and maintenance

Source inventory and coverage

Trace documentation and captures to the audited TeachKit baseline.

On this page

Baseline

The audit records revision d8cf23d0a329b822a8aa4e16831adc1683f78283 and 113 component, hook, creator-route, utility, type, server-contract and style/configuration files. Each file has a SHA-256 hash. The source working tree is compared before and after rendering.

Audited sources

Audited sources
FileExported functions (static scan)
src/app/globals.cssNo function declaration matched by scanner
src/app/make-class/[classId]/basic-info/page.tsxBasicInfoPage
src/app/make-class/[classId]/cta/page.tsxCTAPage
src/app/make-class/[classId]/email/page.tsxEmailPage
src/app/make-class/[classId]/instructions/page.tsxInstructionsPage
src/app/make-class/[classId]/payments/page.tsxPaymentsPage
src/app/make-class/[classId]/registration/page.tsxRegistrationPage
src/app/make-class/[classId]/video-lessons/page.tsxVideoLessonsPage
src/app/make-class/layout.tsxMakeClassLayout
src/app/make-class/page.tsxStatsPage
src/components/AdminSubnav.tsxAdminSubnav
src/components/AssetImage.tsxAssetImage
src/components/BecomeTeacherCard.tsxBecomeTeacherCard
src/components/ClientGrid.tsxClientGrid
src/components/ClientLayout.tsxClientLayout
src/components/ClientOnlyIcon.tsxClientOnlyIcon
src/components/CountdownTimer.tsxCountdownTimer
src/components/CourseCard.tsxCourseCard
src/components/CourseCardGrid.tsxCourseCardGrid
src/components/CourseListItem.tsxCourseListItem
src/components/CoursePublicLink.tsxCoursePublicLink
src/components/courses-public/index.tsNo function declaration matched by scanner
src/components/courses-public/logged-in/ActionChecklist.tsxActionChecklist
src/components/courses-public/logged-in/CourseInformationTabs.tsxCourseTabs
src/components/courses-public/logged-in/DownloadsList.tsxDownloadsList
src/components/courses-public/logged-in/LinksList.tsxLinksList
src/components/courses-public/logged-in/PrivateCourseView.tsxPrivateCourseView
src/components/courses-public/logged-in/VideoHeader.tsxVideoHeader
src/components/courses-public/logged-out/CourseAbout.tsxCourseAbout
src/components/courses-public/logged-out/CourseHeader.tsxCourseHeader
src/components/courses-public/logged-out/PublicCourseView.tsxPublicCourseView
src/components/courses-public/logged-out/SignupSidebar.tsxSignupSidebar
src/components/courses-public/shared/LessonList.tsxLessonList
src/components/CourseSearchBox.tsxCourseSearchBox
src/components/DeleteClassButton.tsxDeleteClassButton
src/components/EmptyState.tsxEmptyState
src/components/ExternalConnection.tsxExternalConnection
src/components/FeedbackForm.tsxFeedbackForm
src/components/Footer.tsxFooter
src/components/forms/FormField.tsxFormField
src/components/forms/TextareaField.tsxTextareaField
src/components/layouts/CourseEditLayout.tsxCourseEditLayout
src/components/LessonItem.tsxLessonItem
src/components/LoadingSpinner.tsxLoadingSpinner
src/components/MainNav.tsxMainNav
src/components/MessageBar.tsxMessageBar
src/components/onboarding/CompletionBar.tsxCompletionBar
src/components/onboarding/OnboardingStep.tsxOnboardingStep
src/components/OnboardingBar.tsxOnboardingBar
src/components/PageHeading.tsxPageHeading
src/components/reviews/CourseReviewShowcase.tsxCourseReviewShowcase
src/components/reviews/ReviewAvatar.tsxReviewAvatar
src/components/reviews/ReviewCard.tsxReviewCard
src/components/reviews/ReviewDetailModal.tsxReviewDetailModal
src/components/reviews/ReviewStars.tsxReviewStars
src/components/SaveButton.tsxSaveButton
src/components/SidebarLayout.tsxSidebarLayout
src/components/SidebarNav.tsxSidebarNav
src/components/SidebarNavDropdown.tsxSidebarNavDropdown
src/components/SortableLesson.tsxSortableLesson
src/components/TeacherGuard.tsxTeacherGuard
src/components/ToggleField.tsxToggleField
src/components/TrixEditor.tsxTrixEditor
src/components/TrixEditorWrapper.tsxTrixEditor
src/components/UserListItem.tsxUserListItem
src/components/UserSidebarCard.tsxUserSidebarCard
src/components/VideoSearchBox.tsxVideoSearchBox
src/constants/onboarding.tsNo function declaration matched by scanner
src/constants/pricing.tsNo function declaration matched by scanner
src/constants/referrals.tsNo function declaration matched by scanner
src/constants/sidebars.tsxresolveCourseSidebar, resolveManageSidebar
src/constants/topics.tsNo function declaration matched by scanner
src/hooks/useAutoSaveCourse.tsuseAutoSaveCourse
src/hooks/useCourseEditor.tsuseCourseEditor
src/hooks/useCourseRedirect.tsuseCourseRedirect
src/hooks/useHasActiveSubscription.tsuseSubscriptionAccess, useHasActiveSubscription
src/hooks/useIsClient.tsuseIsClient
src/hooks/useOnboardingProgress.tsslugify, useOnboardingProgress
src/hooks/useOrigin.tsuseOrigin
src/hooks/useRequireCourseOwner.tsuseRequireCourseOwner
src/hooks/useSproutVideos.tsuseSproutVideos
src/hooks/useTiktokVideos.tsuseTiktokVideos
src/hooks/useVimeoVideos.tsuseVimeoVideos
src/hooks/useYoutubeVideos.tsuseYoutubeVideos
src/lib/server/courses.tsmapCourseRow, findCourseById, findCourseByLegacySlug, findCourseForOwner, createCourse, updateCourseById, deleteCourseById, deleteCoursesForUser, listOwnedCourses, listCoursesByIds, listPublishedCourses, listLatestApprovedCourses, listApprovedCoursesByTopic, listMarketingApprovedCourses, listTeacherPublicCourses, listAdminCourses, addLesson, updateLesson, deleteLesson, reorderLessons, findLessonById, replaceLessonDownloads, incrementCourseViews
src/lib/server/postgres.tsgetSql, query, queryOne, toDateOnly
src/lib/server/referrals.tsensureReferralCode, resolveReferralCookieDomain, resolveMarketingSiteUrl, incrementReferralLinkMetrics, findReferralCode, recordReferralSignup, activateReferralForSubscriber, prepareReferralDiscountForCheckout, getWalletBalance, creditEligibleReferrals, getRecentReferrals, getReferralDiscountStatusForUser, parseReferralCookie, buildReferralCookie, countPendingReferralCredits
src/lib/server/reviews.tsmapReviewRow, findReviewByCourseAndUser, findReviewById, upsertCourseReview, updateReviewLandingVisibility, listTeacherReviews, listLandingPageReviews
src/lib/server/stats.tsincrementStats, listStats, setStats, pruneStats, findStat
src/lib/server/subscription.tsgetStripeSubscription, getStripeSubscriptionTier, clearStripeSubscriptionCache, refreshStripeSubscription
src/lib/server/tokens.tsfindTokenByHash, createToken, deleteTokensForUser, deleteExpiredTokens
src/lib/server/users.tsmapUserRow, findUserById, findUserByEmail, findUserByUsername, findUsersByIds, listUsers, createUser, updateUser, deleteUser, addUserCourse, removeUserCourse, removeCourseFromStudents, findStudentsForCourses, countStudentsForCourses, getCompletedLessonIds, toggleCompletedLesson, getCompletedActionItems, toggleCompletedActionItem, setLastLesson
src/styles/trix-content.cssNo function declaration matched by scanner
src/types/backblaze-b2.d.tsNo function declaration matched by scanner
src/types/course.tsNo function declaration matched by scanner
src/types/global.d.tsNo function declaration matched by scanner
src/types/next-auth.d.tsNo function declaration matched by scanner
src/types/review.tsNo function declaration matched by scanner
src/types/teacher.tsNo function declaration matched by scanner
src/types/trix-module.d.tsNo function declaration matched by scanner
src/types/trix.d.tsNo function declaration matched by scanner
src/types/user.tsNo function declaration matched by scanner
src/utils/asset-url.tsensureAssetHost
src/utils/buildCourseFormData.tsbuildCourseFormData
src/utils/buildUserFormData.tsbuildUserFormData
src/utils/formatDate.tsformatDate, formatDateTime
src/utils/formatDuration.tsformatDuration
src/utils/formatMarkdown.tsformatMarkdown
src/utils/parseDateWithTimezone.tsparseDateWithTimezone
src/utils/sanitizeReviewText.tssanitizeReviewText
src/utils/slugify.tsslugify
src/utils/truncateHtmlContent.tstruncateHtmlContent
tailwind.config.jsNo function declaration matched by scanner

Coverage

Component families group related implementations rather than asserting that every file is a fully specified public component. Creator captures use actual routes, with only their server auth layout replaced in the temporary copy. Library and learner/public captures compose actual components. Admin/student management, live billing, full authentication, review records and uploads are not verified applied demos.

Drift review

  • Compare revision and per-file hashes before reusing an old capture.
  • A screenshot proves appearance with its fixture, not backend correctness.
  • A code-inspected accessibility feature is not a manual assistive-technology pass.
  • Refresh affected documentation when props, source CSS or workflow behavior changes.

Reference downloads

Source audit: 2026-10-07 · Revision d8cf23d0a329 · Documentation v0.1