ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Mobile-first PWA for learning French words with Russian translations: spaced-repetition cards (FSRS), quick add with dictionary and Claude suggestions, word extraction from screenshots, and themes that sort themselves.
mockups/*.dc.htmlnpm install
cp .env.example .env.local # optional; leave Supabase empty for local-only mode
npm run dev # http://localhost:3000
Without NEXT_PUBLIC_SUPABASE_URL the app runs fully on-device: no login and no sync. Suggestions and screenshot import need ANTHROPIC_API_KEY, and in local-only mode /api/ai/* works only outside production.
npm run lint && npm run typecheck && npm test && npm run build
npm run e2e # Playwright, 390×844, local-only mode; builds must exist (npm run build)
The e2e suite starts next start on port 3100 and mocks /api/ai/*. It uses the preinstalled Chromium (PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers).
supabase/migrations/ in order (0001_init.sql, 0002_user_keys_and_stale_writes.sql, 0003_extra_examples.sql, 0004_review_sets.sql, 0005_connector_grants.sql, 0006_custom_fields.sql, 0007_connector_field_writes.sql, 0008_word_origin_conjugation.sql, 0009_word_muted.sql, 0010_folder_muted.sql, 0011_exercises.sql, 0012_user_prefs.sql, 0013_exercise_scope.sql, 0014_word_level.sql, 0015_connector_study_plan.sql, 0016_progress_days.sql, 0017_progress_days_plan.sql, 0018_exercise_level.sql, 0019_connector_exercise_runs.sql, then 0020_connector_review_log.sql). Apply a new migration before deploying the app version that needs it./auth/confirm, then /auth/reset).<production URL>/**.ALLOWED_EMAIL keeps them off the AI routes, but there is no reason to let them in.NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, ALLOWED_EMAIL, NEXT_PUBLIC_ALLOWED_EMAIL (optional), ANTHROPIC_API_KEY, AI_MODEL_EXTRACT (optional), CRON_SECRET.NEXT_PUBLIC_ALLOWED_EMAIL if it is set (it makes the login screen refuse other addresses) and redeploy; they create their account in the app; turn sign-up off again. Then add their address to ALLOWED_EMAIL (comma-separated, e.g. [email protected],[email protected]; the same list may go back into NEXT_PUBLIC_ALLOWED_EMAIL) and redeploy, so the AI routes answer them too.MCP_SECRET, SUPABASE_SECRET_KEY, MCP_USER_ID and optionally MCP_TIMEZONE, redeploy, then add https://<production URL>/api/mcp/<MCP_SECRET> as a custom connector in claude.ai with no sign-in. Steps, the companion skill and the security trade-offs are in docs/CONNECTOR.md.public/lexique/fr-lemmas.json is derived from Lexique 3.83 by Boris New & Christophe Pallier (lexique.org), licensed under CC BY-SA 4.0; the derived file is shared under the same license. See public/lexique/LICENSE.txt; rebuild with node scripts/build-lexique.mjs.public/lexique/fr-conj.json (verb tables for «Контекст» → «Спряжение») is derived from the same Lexique 3.83 data under the same CC BY-SA 4.0 license; rebuild with node scripts/build-conjugation.mjs.public/lexique/fr-morpho.json («Слово по частям»: how words are made) is derived from the morphology column of the same Lexique 3.83 data, same license; rebuild with node scripts/build-morpho.mjs.