A plugin for user data management in Tauri applications.
Uso: generate-readme-badges.sh
Tipos válidos: tauri-vue Apps Tauri + Vue 3 (Rust, Tauri, Vue 3, TypeScript) rust-service Servicios Rust systemd/D-Bus (Rust, systemd, D-Bus) cpp-plugin Plugins C++ Wayfire (C++, Meson, Wayfire) meson-c Módulos C WirePlumber (C, Meson, WirePlumber) meson-cpp Plugins C++ genéricos Meson (C++, Meson)
Ejemplos: ./generate-readme-badges.sh tauri-vue ./generate-readme-badges.sh rust-service > tech-badges.md
A plugin for user data management in Tauri applications.
Para el usuario:
Integración VasakOS: Integra con el ecosistema VasakOS vía D-Bus y configuración compartida.
Copia y pega la plantilla que necesites, descomenta y adapta.
<!--
graph TD
A[Entrada: Teclado / Ratón / D-Bus / Sistema] --> B[Procesamiento: Core Rust + Tauri Commands]
B --> C[Salida: UI actualizada / Acciones del sistema]
style A fill:#e1f5fe
style C fill:#e8f5e9
-->
<!--
flowchart LR
subgraph App[Tauri plugin user data]
UI[Frontend Vue 3 + vue-libvasak]
Core[Core Rust: lógica principal]
IPC[Tauri Commands / Eventos]
System[Systemd / D-Bus / PipeWire / Wayland]
end
UI --> IPC
IPC --> Core
Core --> DBus[(D-Bus / zbus)]
Core --> System
style UI fill:#f3e5f5
style Core fill:#e3f2fd
style DBus fill:#fff3e0
style System fill:#fce4ec
-->
<!--
C4Context
title Tauri plugin user data en VasakOS
Person(usuario, "Usuario", "Persona que usa el sistema")
System_Boundary(c1, "VasakOS") {
System(app, "Tauri plugin user data", "A plugin for user data management in Tauri applications.")
System_Ext(settings, "vasak-settings", "Configuración central")
System_Ext(keyring, "vasak-keyring", "Secrets y claves")
System_Ext(accounts, "vasak-accounts", "Cuentas e identidad")
System_Ext(permissions, "vasak-permissions", "Permisos y portales")
}
System_Ext(systemd, "systemd", "Gestión de servicios")
System_Ext(dbus, "D-Bus", "Bus de mensajes del sistema")
System_Ext(wayland, "Wayland / Wayfire", "Compositor")
System_Ext(pipewire, "PipeWire", "Multimedia")
Rel(usuario, app, "Usa")
Rel(app, settings, "Lee/escribe config")
Rel(app, keyring, "Guarda/lee secrets")
Rel(app, accounts, "Identidad de cuenta")
Rel(app, permissions, "Solicita permisos")
Rel(app, systemd, "Activación / sockets")
Rel(app, dbus, "Expone / consume interfaces")
Rel(app, wayland, "Superficies / protocolos")
Rel(app, pipewire, "Streams de audio/video")
-->
pacman -S vasak-tauri-plugin-user-datawget https://github.com/Vasak-OS/tauri-plugin-user-data/releases/download/v{{VERSION}}/vasak-tauri-plugin-user-data_{{VERSION}}_amd64.deb
sudo apt install ./vasak-tauri-plugin-user-data_{{VERSION}}_amd64.debgit clone https://github.com/Vasak-OS/tauri-plugin-user-data.git
cd tauri-plugin-user-data
# Build Rust (plugin Tauri)
cargo build --release --locked
# Tests
cargo test --locked
# Publicar (crates.io + npm)
cargo publish --locked
npm publishPlaceholder: añadir cuando exista paquete Flatpak o AppImage oficial.
Publicado como @vasakgroup/tauri-plugin-user-data en npm.
# Con bun (recomendado)
bun add @vasakgroup/tauri-plugin-user-data
# Con npm
npm install @vasakgroup/tauri-plugin-user-data
# Con pnpm
pnpm add @vasakgroup/tauri-plugin-user-dataimport { tauri_plugin_user_data } from '@vasakgroup/tauri-plugin-user-data';
// Inicializar el plugin en tu app Tauri
const plugin = tauri_plugin_user_data();
// Usar las APIs expuestas
// Ver documentación completa en: https://docs.vasakos.org/plugins/user-data- Referencia API: docs.vasakos.org/plugins/user-data
- Changelog: GitHub Releases
- Ejemplos: vasak-apps
# Se lanza automáticamente (systemd --user) o manualmente:
tauri-plugin-user-data| Acción | Comando / Tecla |
|---|---|
| Acción principal | tauri-plugin-user-data |
| Configuración | tauri-plugin-user-data --config |
| Ayuda | tauri-plugin-user-data --help |
Captura:
assets/demo.gif(placeholder — sustituir por GIF real)
~/.config/vasak/tauri-plugin-user-data.toml
| Variable | Descripción | Por defecto |
|---|---|---|
VASAK_DEBUG |
Activa logs de depuración en consola | false |
VASAK_PROFILE |
Perfil de rendimiento: balanced, performance, power-save |
balanced |
- Esquemas de color: respeta
--ui-primary,--ui-surface,--ui-focus,--ui-on-surface,--ui-border - Tema de iconos: usa el tema del sistema (
vasakos-icon-theme) víaviconlookup - Radio de bordes: variable CSS
--ui-radiusdel esquema activo (por defecto 12px) - Fuentes:
--ui-font-family,--ui-font-size-basedesde el esquema
- Rust:
rustuptoolchain estable (rust-toolchain.tomlfija la versión) - Node / bun:
bun≥ 1.1 (nunca npm/yarn/pnpm para apps Tauri) - Sistema:
pkg-config,libgtk-3-dev,libwebkit2gtk-4.1-dev,libssl-dev libssl-devpara TLS, dependencias específicas del plugin
base-devel, pkgconf, libssl-dev, libwebkit2gtk-4.1-dev, libgtk-3-dev, libayatana-appindicator3-dev, librsvg2-dev, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, libpipewire-0.3-dev, libwireplumber-0.5-dev, libdbus-1-dev, libudev-dev, libxkbcommon-dev, libwayland-dev, meson, ninja, clang, lld
rustup → stable + rustfmt + clippy
Solo bun (nunca npm/yarn/pnpm para apps Tauri). bun --version ≥ 1.1
just (command runner), cargo-binstall (opcional), cargo-llvm-cov (para cobertura)
# Frontend (Vite dev server + Tauri dev)
bun run tauri dev
# Solo frontend (Vite)
bun run dev
# Solo backend (cargo watch)
cargo watch -x "run --bin tauri-plugin-user-data"# Build completo (frontend + backend + bundle)
bun run tauri build
# Solo frontend (para testear bundle después)
bun run build
# Solo backend Rust (binario optimizado)
cargo build --release --locked
# Paquetes nativos
# Arch: makepkg -sf en PKGBUILDS/tauri-plugin-user-data/
# Debian: cargo deb --no-build --target-dir src-tauri/target/release/debian# Desarrollo (Tauri dev server + hot reload)
bun run dev
# Build producción
bun run build
# Solo frontend
bun run build:frontend
# Solo backend Rust
cargo build --release --locked
# Lint + tipos (pre-commit / CI)
bunx --bun biome check .
bunx vue-tsc --noEmit
cargo fmt --check# Tests Rust
cargo test -p tauri-plugin-user-data --locked
# Tests JS (si tiene bindings)
bun test<tipo>(<ámbito>): <descripción corta>
[cuerpo opcional]
[pie opcional: Closes #N]
Tipos habituales: feat, fix, bugfix, docs, ci, chore, security, refactor, perf, test.
- Rama desde
origin/main:git worktree add -b feat/tema ~/wt/tauri-plugin-user-data-tema origin/main - Prefijos de rama:
fix/,feat/,bugfix/,docs/,ci/,chore/,security/ - Escribe el fix →
qaescribe las pruebas (fallan sin el fix) → suite verde → abre PR - Al abrir PR, cuatro cosas obligatorias:
- Asignado a
JoaquinDecima - Etiqueta
enhancementobug(+ci/dependenciessi aplica) - Añadido al proyecto «VasakOS Roadmap»
- Status In Progress
- Asignado a
| tauri-plugin-user-data | Plugin Tauri: Rust backend + JS bindings |
| org.vasak.user-data | Métodos específicos del plugin | Funcionalidad expuesta a apps Tauri |
- Plugins: Sistema de plugins modular
- Hooks: Hooks de ciclo de vida
- API pública Rust: API pública del crate principal
| Feature | Descripción | Default |
|---|---|---|
async |
API asíncrona (futures) | ✓ |
blocking |
API bloqueante para compatibilidad |
Y para apps Tauri+Vue: features del tauri.conf.json → bundle / plugins / allowlist (capabilities).
- Cobertura objetivo: ≥ 80 % del código nuevo (SonarCloud Quality Gate)
- Informes: GitHub Actions → pestaña SonarCloud Code Analysis → enlace a SonarCloud
- Añadir pruebas: ver
AGENTS.mdsección 9 (mapa de repos y comandos de prueba) - Regla: toda corrección lleva prueba escrita por
qaque falla sin el fix
- Guía: .github/CONTRIBUTING.md
- Plantillas de issue: .github/ISSUE_TEMPLATE/
- Código de conducta: CODE_OF_CONDUCT.md
Actualizado automáticamente en CI — muestra los avatares de quienes han aportado código a este repo.
Backers: Actualizado automáticamente en CI desde GitHub Sponsors / OpenCollective / Polar.
GPL-3.0 — Copyright © 2026 Vasak-OS Contributors