Implements Phases 1-8 of the TFTSR implementation plan. Rust backend (Tauri 2.x, src-tauri/): - Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama - PII detection engine: 11 regex patterns with overlap resolution - SQLCipher AES-256 encrypted database with 10 versioned migrations - 28 Tauri IPC commands for triage, analysis, document, and system ops - Ollama: hardware probe, model recommendations, pull/delete with events - RCA and blameless post-mortem Markdown document generators - PDF export via printpdf - Audit log: SHA-256 hash of every external data send - Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2) Frontend (React 18 + TypeScript + Vite, src/): - 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings - 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives - 3 Zustand stores: session, settings (persisted), history - Type-safe tauriCommands.ts matching Rust backend types exactly - 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs) DevOps: - .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push - .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload Verified: - cargo check: zero errors - tsc --noEmit: zero errors - vitest run: 13/13 unit tests passing Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# Browserslist
|
||
|
||
<img width="120" height="120" alt="Browserslist logo by Anton Popov"
|
||
src="https://browsersl.ist/logo.svg" align="right">
|
||
|
||
The config to share target browsers and Node.js versions between different
|
||
front-end tools. It is used in:
|
||
|
||
* [Autoprefixer]
|
||
* [Babel]
|
||
* [postcss-preset-env]
|
||
* [eslint-plugin-compat]
|
||
* [stylelint-no-unsupported-browser-features]
|
||
* [postcss-normalize]
|
||
* [obsolete-webpack-plugin]
|
||
|
||
All tools will find target browsers automatically,
|
||
when you add the following to `package.json`:
|
||
|
||
```json
|
||
"browserslist": [
|
||
"defaults and fully supports es6-module",
|
||
"maintained node versions"
|
||
]
|
||
```
|
||
|
||
Or in `.browserslistrc` config:
|
||
|
||
```yaml
|
||
# Browsers that we support
|
||
|
||
defaults and fully supports es6-module
|
||
maintained node versions
|
||
```
|
||
|
||
Developers set their version lists using queries like `last 2 versions`
|
||
to be free from updating versions manually.
|
||
Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries.
|
||
|
||
You can check how config works at our playground: [`browsersl.ist`](https://browsersl.ist/)
|
||
|
||
<a href="https://browsersl.ist/">
|
||
<img src="/img/screenshot.webp" alt="browsersl.ist website">
|
||
</a>
|
||
|
||
<br>
|
||
<br>
|
||
<div align="center">
|
||
<a href="https://evilmartians.com/?utm_source=browserslist"><img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a> <a href="https://cube.dev/?ref=eco-browserslist-github"><img src="https://user-images.githubusercontent.com/986756/154330861-d79ab8ec-aacb-4af8-9e17-1b28f1eccb01.svg" alt="Supported by Cube" width="227" height="46"></a>
|
||
</div>
|
||
|
||
[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features
|
||
[obsolete-webpack-plugin]: https://github.com/ElemeFE/obsolete-webpack-plugin
|
||
[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat
|
||
[Browserslist Example]: https://github.com/browserslist/browserslist-example
|
||
[postcss-preset-env]: https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env
|
||
[postcss-normalize]: https://github.com/csstools/postcss-normalize
|
||
[`browsersl.ist`]: https://browsersl.ist/
|
||
[`caniuse-lite`]: https://github.com/ben-eb/caniuse-lite
|
||
[Autoprefixer]: https://github.com/postcss/autoprefixer
|
||
[Can I Use]: https://caniuse.com/
|
||
[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env
|
||
|
||
## Docs
|
||
Read full docs **[here](https://github.com/browserslist/browserslist#readme)**.
|