Cline rules
.clinerules/project-identity.mdHoshimiNest project overview — tech stack, directory structure, package manager, dev commands, Rust dependencies. Always apply.
Cline rules
Quality
93/100
Scores the file, not the repository.Length
541 words
11 headings · 2 code blocksRepository
1
— · pushed 0 days agoLast changed
yesterday
First indexed yesterday.1234567# Project Identity89<!-- HoshimiNest 项目身份与架构,AI 每次对话自动加载 -->1011## Project Name & Purpose1213HoshimiNest is a desktop anime tracking & download manager.1415## Tech Stack1617### Frontend1819- **React 19 + TypeScript** — functional components + hooks, strict mode20- **Vite 7** — bundler, dev port `1520`21- **Zustand** — state management (`src/store/`)22- **Plain CSS** — NO Tailwind, NO CSS-in-JS23- **Yarn** — the ONLY package manager2425### Backend2627- **Tauri v2** — Rust desktop shell28- **Key Rust crates:**29 - `reqwest` (HTTP client, rustls-tls)30 - `serde` + `serde_json` (serialization)31 - `tokio` (async runtime: time, sync, macros, rt)32 - `tauri-plugin-shell` / `tauri-plugin-opener` / `tauri-plugin-dialog`33 - `log` + `env_logger`3435### External Binaries3637Bundled with the app via `externalBin`:3839- `aria2c` — download engine40- `mkvmerge` — media remuxing4142## Development Environment4344- **OS**: Windows only — NEVER assume macOS/Linux/WSL paths or tools45- **Shell**: PowerShell (`.ps1` scripts) — NEVER write `.sh` or bash scripts46- **Terminal commands**: always use PowerShell syntax; NEVER use Unix-only flags or pipes4748## Directory Structure4950```text51src/ # React frontend source52 ├── App.css # global layout & component styles (colors reference theme.css vars)53 ├── App.tsx # root component (topbar + sidebar nav + download settings modal)54 ├── assets/55 │ └── fonts/ # bundled font files56 ├── main.tsx # React entry point57 ├── pages/ # page-level components (one per nav item)58 │ ├── BacklogPage.tsx # backlog / plan-to-watch59 │ ├── DownloadPage.tsx # download manager60 │ ├── FinishedPage.tsx # completed anime (main file, sub-logic in finished/)61 │ ├── QueryPage.tsx # seasonal query (main page)62 │ ├── QueryPage/ # seasonal query sub-components63 │ ├── SearchPage.tsx # resource search (main page)64 │ ├── SearchPage/ # resource search sub-components65 │ ├── TracksPage.tsx # track workshop (main file, sub-logic in tracks/)66 │ ├── WatchingPage.tsx # currently watching67 │ ├── WatchListPage.tsx # watchlist base (main file, sub-logic in watchlist/)68 │ ├── finished/ # completed anime sub-components69 │ ├── tracks/ # track workshop sub-components70 │ └── watchlist/ # watchlist sub-components71 ├── store/ # global state72 │ ├── downloadStore.tsx # download task context (state machine + aria2 events + localStorage)73 │ └── watchStore.ts # watchlist localStorage helpers74 ├── styles/75 │ ├── fonts.css # @font-face declarations76 │ └── theme.css # theme CSS variables77 └── vite-env.d.ts # Vite type declarations78src-tauri/ # Tauri/Rust backend79 ├── app-config.json # compile-time config (BT trackers, ports, cache)80 ├── build.rs # Tauri build script81 ├── capabilities/82 │ └── default.json # Tauri ACL capability config83 ├── icons/ # app icons84 ├── src/85 │ ├── lib.rs # Tauri commands + aria2 control + mkvmerge track merge86 │ └── main.rs # Rust entry point87 └── tauri.conf.json # Tauri app config (window/bundle/permissions)88scripts/ # dev & setup scripts (.ps1)89```9091## Package Rules9293NEVER run `npm install` or `pnpm add`. Always use `yarn`.9495NEVER suggest re-installing these — already in `package.json`:9697- `@tauri-apps/api`, `@tauri-apps/plugin-dialog`, `@tauri-apps/plugin-opener`98- `animal-island-ui`, `bangumi-api-client`99- `react`, `react-dom`, `zustand`100101## Dev Commands102103```bash104yarn dev # Vite dev server (frontend only, port 1520)105yarn tauri dev # full Tauri app in dev mode106yarn build # TypeScript check + Vite build107yarn tauri build # production Tauri bundle108yarn rustcheck # cargo check (Rust compilation check only)109```110111## Window Config112113- Window: 1360×820, non-resizable, non-maximizable, frameless (custom titlebar)114- App identifier: `HoshimiNest`115
Also in VaillerTeeter/HoshimiNest
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| VaillerTeeter/HoshimiNest.clinerules/backend-rules.md · 1 | Cline rules | buildlint-formatstyledo-not | 81/100 | yesterday | |
| VaillerTeeter/HoshimiNest.clinerules/frontend-rules.md · 1 | Cline rules | styletypesdependenciesui+1 | 81/100 | yesterday | |
| VaillerTeeter/HoshimiNest.clinerules/git-workflow.md · 1 | Cline rules | gitsecuritydo-notagent-behaviour | 81/100 | yesterday |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bashdeban/fastmind.clinerules/.project-consistency-keeper2.md · 5 | Cline rules | setupbuildtestlint-format+11 | 100/100 | 3 days ago | |
| JCodesMore/ai-website-cloner-template.clinerules · 31k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| BryaanF/LiantPortfolio.clinerules/project-guidelines.md · 0 | Cline rules | buildstylearchgit+2 | 96/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 7 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 7 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| blendsdk/codeops-mcp.clinerules/project.md · 0 | Cline rules | buildteststylearch+7 | 91/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/60-pubmed-python.md · 7 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/60-pubmed-python.md · 7 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago |
