ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Website educativo bilingüe de Luis Cárdenas. Su propósito es preservar y compartir conocimiento musical: curso de armonía, entrenamiento auditivo, apps y guías de práctica. Requiere Node.js 24 y npm. Desde la raíz: El sitio usa Next.js 16, React, TypeScript y next-intl. Antes de modificar APIs de Next, consulta la documentación de la versión instalada en node_modules/next/dist/docs.檢視完整 README ↗
Website educativo bilingüe de Luis Cárdenas. Su propósito es preservar y compartir conocimiento musical: curso de armonía, entrenamiento auditivo, apps y guías de práctica.
Requiere Node.js 24 y npm. Desde la raíz:
npm ci
npm run apps:install
npm run dev
El sitio usa Next.js 16, React, TypeScript y next-intl. Antes de modificar APIs de Next, consulta la documentación de la versión instalada en node_modules/next/dist/docs.
npm run check
npm run apps:check
npm audit --audit-level=high
npm run apps:audit
check ejecuta lint, pruebas unitarias y build de Next. Después del build, npm run test:e2e corre las pruebas de humo con Playwright contra next start (la primera vez, npx playwright install chromium). apps:check compila las 15 apps Vite y compara cada archivo generado con la copia servida desde public/apps. Si modificas fuentes de apps, ejecuta primero npm run apps:build y revisa el diff de fuentes y bundles. Este comando sincroniza archivos locales; no despliega a internet. Conserva assets antiguos para no romper clientes que aún cargan una versión anterior. Un bundle que ya no referencia ningún index.html puede retirarse 90 días después de su reemplazo; anota la fecha en el commit que lo reemplaza. Las herramientas HTML heredadas (secuenciador y juegos *-gemini.html) y Cosmic Ear usan CSS de Tailwind precompilado: si cambias sus clases, ejecuta npm run legacy:css (y después npm run apps:build para Cosmic Ear). grados-mayores e intervalos-reconocimiento son JavaScript escrito a mano sin compilación: su fuente son los archivos de public/apps/<app>/ y se editan ahí. Solo acordes-cantar es un bundle sin fuente: sus cambios se hacen publicando una copia del bundle con nombre nuevo, como documenta docs/cloudflare-audio.md.
El proyecto de Vercel está conectado con el repositorio GitHub. Publicar en su rama de producción puede activar un despliegue. Primero revisar cambios y pruebas, y acordar la publicación. El workflow .github/workflows/quality.yml ejecuta controles en push y pull request; debe comprobarse su primer resultado en GitHub.
app/[locale]: páginas ES/EN. Las URLs públicas se traducen en i18n/routing.ts.content/pages, content/course, content/blog: contenido MDX público.data/course y lib/course.ts: lecciones, reglas y disponibilidad. construction muestra aviso; hidden no se publica.data/apps/apps-catalog.ts: catálogo público de apps, compartido por fichas y /catalog.json.apps-src: fuentes Vite; public/apps: archivos servidos en iframes y herramientas HTML heredadas.lib/maestro-virtual: validadores musicales deterministas. La revisión operativa cubre las lecciones 1–3; no usa un modelo generativo por ejercicio.lib/course-progress.ts: validación y almacenamiento local de progreso. El curso permite respaldo JSON de marcas de completado.app/api/contact: formulario vía Resend; app/api/audio: proxy de audio con rangos y caché controlada.firestore.rules: aislamiento por UID para App Memoria. Un archivo local no demuestra que estas reglas estén desplegadas.RESEND_API_KEY es secreta y solo se configura en el entorno servidor. Nunca incluirla en Git, capturas o logs. Sin ella el formulario devuelve un error recuperable, no un éxito ficticio.
AUDIO_BUCKET_BASE_URL permite configurar el origen del proxy de audio. Su valor predeterminado es el bucket público actual. Las apps con acceso directo tienen otros orígenes; cambiar esta variable no migra todas las apps. Consulta la guía de Cloudflare.
App Memoria usa Firebase anónimo para sus palabras personalizadas. El progreso del curso es local al navegador; no se sincroniza automáticamente entre dispositivos. El aviso público explica este tratamiento y los proveedores.
Usar updatedAt: "YYYY-MM-DD" cuando se revise realmente una página MDX. No usar la fecha del build como fecha editorial. Mantener ES/EN y los slugs sincronizados. Las fechas desconocidas se omiten del sitemap.
Las clases ofrecen entrenamiento auditivo, composición/análisis/contrapunto/orquestación, producción de audio y música con IA, film scoring e instrumentos. Las tarifas no se publican: se invita a contactar a Luis.
La base de conocimiento privada es una fuente de contexto. No copiarla, publicarla, importarla al runtime ni incluir datos de alumnos en catálogos o documentación pública.
Ver estado de la remediación y operación de audio en Cloudflare.