RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Cursor rules/groupultra/telegram-search

Cursor rule

.cursor/rules/frontend-web.mdc
Cursor rules

Quality

56/100

Scores the file, not the repository.

Length

382 words

6 headings · 0 code blocks

Repository

4.0k

— · pushed 2 days ago

Last changed

3 days ago

First indexed 3 days ago.
groupultra/telegram-search/.cursor/rules/frontend-web.mdcRawGitHub
1---
2globs: apps/web/src/**/*, apps/web/index.html, apps/web/uno.config.ts, apps/web/vite.config.ts, apps/web/typed-router.d.ts
3---
4 
5## Frontend (apps/web)
6 
7- **Role**: Deliver the Telegram search UI. All business logic and side effects should live in `packages/client` / `packages/core`, not in Vue components.
8- **Architecture**:
9 - Use **Composition API** with `<script setup lang="ts">` by default. Avoid Options API for new code.
10 - Keep components small and focused; extract logic into composables in `apps/web/src/composables` or into `packages/client`.
11 - Do not access Telegram or the database directly from `apps/web`; always go through `@tg-search/client`.
12 
13### Routing, Layouts & Navigation
14 
15- Use the auto-generated routes from `vue-router/auto-routes` and `virtual:generated-layouts`.
16- Prefer **file-based routing** conventions over manual route declarations.
17- Guard routes via Pinia stores or client events (auth status), not ad‑hoc `localStorage` checks in components.
18- When adding navigation transitions or loading states:
19 - Integrate with the existing `NProgress` guards in `main.ts` instead of ad‑hoc spinners in every page.
20 
21### State & Data Fetching
22 
23- Global/shared state belongs in **Pinia** stores (either in `apps/web/src/stores` or `packages/client`).
24- For async data and server/core interactions:
25 - Prefer **TanStack Query** (`@tanstack/vue-query`) for request lifecycle, caching, and background refetch.
26 - Model long‑running operations (imports, indexing, sync) as events and progress updates flowing through `@tg-search/client`, not as raw HTTP calls from components.
27- Never call `initDrizzle` or mutate `CoreContext` directly from `apps/web`; that belongs in `packages/client`.
28 
29### UI, Styling & UX
30 
31- Use **UnoCSS** utilities and the existing presets (`unocss`, `unocss-preset-shadcn`, `@proj-airi/unocss-preset-chromatic`) as the primary styling tools.
32- Keep layout and visual primitives reusable:
33 - Extract repeated patterns into small components under `apps/web/src/components`.
34 - Avoid deep CSS overrides; prefer class-based composition.
35- Respect accessibility basics:
36 - Use semantic HTML elements and proper labels for inputs and buttons.
37 - Ensure keyboard navigation works for any new interactive components.
38 
39### Error Handling & Notifications
40 
41- Surface user-facing errors via consistent UI (e.g. toast/notification component or error blocks), not `alert` or silent failures.
42- For unexpected errors:
43 - Log via `@guiiai/logg` only inside `packages/client` / `packages/common`; the web app should avoid its own logging layer beyond dev tooling.
44 - Show a generic message to the user; do not display raw stack traces.
45 
46### Devtools & PGlite
47 
48- PGlite devtools (`@unbird/pglite-inspector`) must remain **development-only**:
49 - Guard setup with `import.meta.env.DEV` as in `main.ts`.
50 - If you add more devtools hooks, wire them behind the same guard and avoid impacting production bundle size significantly.
51 
52 

Sections

  • Frontend (apps/web)
  • Routing, Layouts & Navigation
  • State & Data Fetching
  • UI, Styling & UX
  • Error Handling & Notifications
  • Devtools & PGlite

What it covers

code-stylesecurityuimonorepo

Stack — with the evidence

typescript

(1.00)

drizzle

(1.00)

turborepo

(1.00)

vitest

(1.00)

eslint

(1.00)

node

(0.70)

vue

(0.70)

postgres

(0.70)

vite

(0.70)

javascript

(0.60)

monorepo

(0.60)

pnpm

(0.60)

github-actions

(0.60)

Glob targeting

  • apps/web/src/**/*
  • apps/web/index.html
  • apps/web/uno.config.ts
  • apps/web/vite.config.ts
  • apps/web/typed-router.d.ts

Format

Cursor rules

The most expressive format here. Many small .mdc files, each with frontmatter declaring when it should load, so a rule about migrations only enters context when a migration is open. Costs the most to maintain and only one editor reads it.

What the corpus says about it

Repository

Owner
groupultra
Language
—
License
—
Archived
no

All configs in this repo

Also in groupultra/telegram-search

Diff this repo’s formats

One 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?

The other instruction files in this repository
RepositoryFormatStackCoversScoreChanged
groupultra/telegram-search.cursor/rules/testing.mdc · 4.0kCursor rulestypescriptdrizzle+11teststyletesting-strategydatabase55/1003 days ago
groupultra/telegram-search.cursor/rules/architecture.mdc · 4.0kCursor rulestypescriptdrizzle+11buildtestlint-formatarch+489/1003 days ago
groupultra/telegram-search.cursor/rules/backend-server.mdc · 4.0kCursor rulestypescriptdrizzle+11setupsecuritymonorepo52/1003 days ago
groupultra/telegram-search.cursor/rules/client.mdc · 4.0kCursor rulestypescriptdrizzle+11stylearchtypesdependencies+160/1003 days ago
groupultra/telegram-search.cursor/rules/contributing.mdc · 4.0kCursor rulestypescriptdrizzle+11styletypesgit56/1003 days ago
groupultra/telegram-search.cursor/rules/core.mdc · 4.0kCursor rulestypescriptdrizzle+11stylearchdependenciesdatabase+160/1003 days ago
groupultra/telegram-search.cursor/rules/db.mdc · 4.0kCursor rulestypescriptdrizzle+11styletypesdatabaseperformance59/1003 days ago
groupultra/telegram-search.cursor/rules/events.mdc · 4.0kCursor rulestypescriptdrizzle+11style60/1003 days ago
groupultra/telegram-search.cursor/rules/pglite-inspector.mdc · 4.0kCursor rulestypescriptdrizzle+11securityapi47/1003 days ago
groupultra/telegram-search.cursor/rules/tooling.mdc · 4.0kCursor rulestypescriptdrizzle+11buildlint-formatstyledeployment+167/1003 days ago
groupultra/telegram-search.github/copilot-instructions.md · 4.0kCopilot instructionstypescriptdrizzle+11teststyleagent-behaviour76/1003 days ago
groupultra/telegram-searchAGENTS.md · 4.0kAGENTS.mdtypescriptdrizzle+11setupbuildtestlint-format+1083/1003 days ago
Diff against .cursor/rules/testing.mdc Diff against .cursor/rules/architecture.mdc Diff against .cursor/rules/backend-server.mdc Diff against .cursor/rules/client.mdc Diff against .cursor/rules/contributing.mdc Diff against .cursor/rules/core.mdc Diff against .cursor/rules/db.mdc Diff against .cursor/rules/events.mdc Diff against .cursor/rules/pglite-inspector.mdc Diff against .cursor/rules/tooling.mdc Diff against .github/copilot-instructions.md Diff against AGENTS.md

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126Cursor rulesgobun+5setupbuildtestlint-format+6100/1003 days ago
TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45Cursor rulestypescriptpytest+15testlint-formatstylearch+5100/1003 days ago
markstev/mark-starter.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+14setuptestlint-formatstyle+699/1003 days ago
Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+13setuptestlint-formatstyle+799/1003 days ago
dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0Cursor rulestypescriptturborepo+15setuptestlint-formatstyle+799/1003 days ago
deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1Cursor rulestypescriptnextjs+5setuptestlint-formatstyle+799/1003 days ago
langflow-ai/langflow.cursor/rules/docs_development.mdc · 153kCursor rulespythonnode+16setupbuildtestlint-format+797/1003 days ago
TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45Cursor rulestypescriptpytest+15teststyletesting-strategysecurity+397/1003 days ago
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack