display-ambient-light-desktop
Cross-platform desktop app for ambient lighting control: Tauri backend + a TS/SolidJS frontend, with Rust toolchain pinned. Evidence: src-tauri/, package.json, rust-toolchain.toml.
- Tauri desktop app
- Rust application
- UI version display
- GitHub Actions scheduling
目录
技术栈
运行与交付
- CI 工作流
- ci.yml
- dependencies.yml
- dev-build.yml
- release.yml
- 能力标记
- github_actions
- package_json
依赖与工具
- package.json
- 开发依赖
- @commitlint/cli
- @commitlint/config-conventional
- @tailwindcss/postcss
- @tailwindcss/vite
- 生产依赖
- @solid-primitives/i18n
- @solidjs/router
- @tauri-apps/api
- debug
- solid-icons
- solid-js
- solid-tippy
- tippy.js
- 项目脚本
- build
- dev
- dev:browser
- dev:headless
配置与质量
- 配置文件
- .gitignore
- .markdownlint-cli2.yaml
- lefthook.yml
- package.json
- rust-toolchain.toml
- tsconfig.json
{
"ci_workflows": [
"ci.yml",
"dependencies.yml",
"dev-build.yml",
"release.yml"
],
"configs_root": [
".gitignore",
".markdownlint-cli2.yaml",
"lefthook.yml",
"package.json",
"rust-toolchain.toml",
"tsconfig.json"
],
"markers_present": [
"github_actions",
"package_json"
],
"package_json": {
"deps_dev": [
"@commitlint/cli",
"@commitlint/config-conventional",
"@tailwindcss/postcss",
"@tailwindcss/vite",
"@tauri-apps/cli",
"@types/debug",
"@types/node",
"autoprefixer",
"commitlint-plugin-function-rules",
"concurrently",
"daisyui",
"lefthook",
"markdownlint-cli2",
"postcss",
"tailwindcss",
"typescript",
"vite",
"vite-plugin-solid"
],
"deps_prod": [
"@solid-primitives/i18n",
"@solidjs/router",
"@tauri-apps/api",
"debug",
"solid-icons",
"solid-js",
"solid-tippy",
"tippy.js"
],
"scripts": [
"build",
"dev",
"dev:browser",
"dev:headless",
"fmt:md",
"fmt:rust",
"lint",
"lint:md",
"lint:rust",
"prepare",
"serve",
"start",
"tauri",
"tauri:browser",
"tauri:headless",
"test:rust"
]
}
}Basics
Cross-platform desktop app for ambient lighting control: Tauri backend + a TS/SolidJS frontend, with Rust toolchain pinned. Evidence: src-tauri/, package.json, rust-toolchain.toml.
Taxonomy
- Tags: Tauri desktop app, Rust application, UI version display, GitHub Actions scheduling
Architecture
- Frontend: Vite-powered TS app under
src/, with Tailwind pipeline and static HTML entrypoints. Evidence:vite.config.ts,src/,tailwind.config.js. - Backend: Rust Tauri side under
src-tauri/(native integration + device control). Evidence:src-tauri/,rust-toolchain.toml. - Version surfacing: an About UI renders the app version fetched from an internal API endpoint. Evidence:
src/about.tsx,src-tauri/src/http_server/api/info.rs.
Workflow and quality gates
.github/workflows/release.yml 只由 workflow_dispatch 触发,却以 workflow/ref 作为 concurrency group 并允许取消在途运行。重复手工发布可能因此取消仍在执行的构建;这属于 GitHub Actions scheduling 的后续同步风险,当前 snapshot 不预设外部修复。
Conventions
- Tooling:
lefthook.yml+commitlint.config.cjsused to keep commit and hook workflows consistent. Evidence:lefthook.yml,commitlint.config.cjs. - Multi-language lint: repo includes both Rust and TS formatting/lint scripts. Evidence:
package.json,rust-toolchain.toml.
Taste notes
Good “hybrid app” structure: clear frontend/backend boundary (src/ vs src-tauri/) plus pinned toolchain improves long-term maintainability.
相关内容
GitHub Actions scheduling
主题GitHub Actions scheduling 表示仓库把 workflow 触发事件、并发 namespace、cancel-in-progress 和 required check 可见性组织成可审计的运行调度合同。目标不是让每个事件只跑一次,而是让当前 PR head 获得正确且可观察的 gate,同时不让无关 PR、main、deploy 或手工任务被同一个并发键误取消。
Rust application
主题Rust application 指 Rust 是主执行面之一,交付物直接面向终端用户或操作者,而不是仅作为库、后端服务或固件组件存在。这里关心的是“应用如何被构建、运行、打包、调试和支撑用户工作流”,包括桌面 app、带 Web UI 的 hybrid app,或强用户导向的本地工具(projects/display-ambient-light-desktop.md、projects/televy-backup.md)。
Tauri desktop app
主题Tauri desktop app 指 Rust 原生侧与 Web UI 前端通过 Tauri 组成同一个桌面产品,二者共同构成交付面。它不是单纯“桌面端套个网页壳”,而是要长期维护 Rust 系统能力、前端交互层、桌面打包和两侧桥接 API 的工程模式(projects/display-ambient-light-desktop.md)。
UI version display
主题UI version display 指产品有意识地把“当前运行的到底是哪一版”暴露给用户或操作者查看,而不是把版本号藏在构建日志或开发者工具里。它通常包含一个稳定的人类可读显示位点,以及一条由运行时或构建链提供的版本真相路径,用于支持排障、远程协作和发布确认(projects/codex-vibe-monitor.md、projects/dockrev.