Saltar al contenido
supastack
Explorar la documentación
EscritorioTauri

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/desktop/project-structure.md (or send Accept: text/markdown).

Estructura del proyecto

Encuentre el shell de Rust, la página de arranque, los scripts de lanzamiento y el límite con la aplicación web.

Configuración y ajustes

Antes de cualquier paso, lea Antes de empezar y Conceptos básicos de la terminal. Abra la carpeta supastack en su raíz: la carpeta que contiene package.json. Un checkout de Desktop contiene apps/desktop y sus scripts de lanzamiento; el monorepo All Platforms añade el backend Web y la aplicación móvil. Una variable de entorno es una configuración con nombre almacenada en un archivo .env local o en su panel de hosting; el shell lee SUPASTACK_APP_URL como configuración de terminal, no desde un archivo.

1. Abra apps/desktop/src-tauri/src/lib.rs: todo el comportamiento nativo vive en este único archivo.

2. Explore apps/desktop/src-tauri/: configuración, capabilities e iconos.

3. Desde la raíz del repositorio ejecute corepack pnpm --filter @supastack/desktop dev con un backend accesible.

El checkout contiene solo el shell de Tauri: el código fuente de Rust, su configuración, la página de arranque y los scripts de lanzamiento. Las pantallas del producto viven en la aplicación web que carga la ventana: un checkout solo de Desktop no tiene pantallas de aplicación propias. Lea AGENTS.md y .ai/PROJECT_CONTEXT.md antes de cambiar el comportamiento; los documentos espejo de .ai/ registran decisiones que no se ven solo en un archivo.

apps/desktop/src-tauri/src/    Rust — window, tray, menus, deep links, updater
apps/desktop/src-tauri/        tauri.conf.json, capabilities/, Cargo.toml, icons
apps/desktop/ui/               Boot page (index.html + boot.js) shown while loading
apps/desktop/scripts/          Release preflight + update manifest
docs/                          Runbooks incl. desktop updates
.agents/skills/                Task guides for coding agents

Dónde pertenece un cambio

Antes de editar, decida qué lado es dueño del cambio: cualquier cosa que un usuario vea como UI de producto pertenece a la aplicación web; solo el comportamiento a nivel de SO pertenece a Rust.

  • Comportamiento de ventana, bandeja, menú, atajo o instancia única → apps/desktop/src-tauri/src/lib.rs.
  • Un nuevo permiso de webview → apps/desktop/src-tauri/capabilities/default.json: amplíe solo cuando una función nativa lo necesite.
  • Identificador de paquete, versión, endpoint del actualizador u opciones de plugins → apps/desktop/src-tauri/tauri.conf.json.
  • Iconos de producto de marcador de posición → reemplace placeholder-icon.png y ejecute el script de iconos.
  • Comportamiento de arranque, carga o capa sin conexión → apps/desktop/ui/.
  • Cualquier pantalla, configuración o dato de producto → el repositorio de la aplicación web: el shell nunca bifurca UI de producto.

Flujo de implementación

Para un cambio nativo, edite lib.rs, ejecute cargo check y las pruebas de Rust, luego ejercite la ventana en cada SO de destino: el comportamiento de bandeja, atajo y deep link difiere por plataforma. El skill add-a-desktop-capability en .agents/skills/ recorre este mismo orden.

Verificación y solución de problemas

cargo check atrapa errores de compilación y cargo test cubre la lógica pura. La verificación real es la ventana en ejecución en Windows, macOS y Linux: la bandeja, el atajo y los deep links no pueden probarse solo con tests.

corepack pnpm --filter @supastack/desktop test
corepack pnpm --filter @supastack/desktop typecheck