RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Configs/Copilot instructions/photoprism/photoprism

Copilot instructions

.github/instructions/frontend.instructions.md
Copilot instructions

Quality

76/100

Scores the file, not the repository.

Length

363 words

5 headings · 0 code blocks

Repository

40k

— · pushed 0 days ago

Last changed

2 days ago

First indexed 2 days ago.
photoprism/photoprism/.github/instructions/frontend.instructions.mdRawGitHub
1---
2applyTo: "frontend/**"
3---
4 
5# Frontend Instructions (Vue 3)
6 
7**Last Updated:** July 28, 2026
8 
9Detailed rules live in `frontend/AGENTS.md`; dependency pins and the override layer are documented in `frontend/README.md`.
10 
11## Style
12 
13- Options API only. Do not introduce TypeScript (no `.ts` files, no `<script lang="ts">`), the Composition API, or `<script setup>`.
14- Keep the SFC block order `<template>` → `<script>` → `<style>`, and prefer existing components and Vuetify defaults over new ones.
15- Every method, computed property, and watcher that is not a trivial getter needs a compact doc comment.
16- Run `make fmt-js` and `make lint-js`. ESLint owns JS and Vue, Prettier owns CSS/SCSS/SASS only, and ESLint no longer invokes Prettier — do not reflow JS to satisfy Prettier.
17 
18## State & Data
19 
20- Shared state lives in reactive singleton modules under `src/common/` and `src/app/`, for example `common/config.js` and `app/session.js`. Extend an existing singleton or add a new one alongside its peers; do not propose Vuex or Pinia.
21- Route entity mutations through the model methods in `src/model/` instead of calling `$api` directly from components.
22- Avoid unnecessary reactivity and re-renders. Version pins without a caret in `frontend/package.json` are intentional — check `frontend/README.md` before changing one, and justify any new dependency.
23 
24## Tests
25 
26- New functions, including helpers, and new components need Vitest coverage; update the existing tests when behavior changes.
27- Run the tests with `make test-js` (watch mode: `make vitest-watch`). Do not suggest a bare `npx vitest run`: the npm script sets `TZ`, `BUILD_ENV`, `NODE_ENV`, and `BABEL_ENV`, and dozens of component and date tests fail spuriously without them.
28 
29## Translations
30 
31- Every user-visible string goes through `$gettext`; never hardcode a locale string. Standardized technical identifiers such as `Client ID`, `OIDC`, and `UUID` stay literal.
32- Tooltips, labels, buttons, and short imperative phrases use Title Case; running prose, full sentences, and notifications use sentence case.
33- A native void element (`<img>`, `<br>`, `<input>`) silently drops every following bare `{{ $gettext(...) }}` from the catalog — wrap the interpolation in an element such as `<span>`. `make lint-js` flags this pattern.
34- New strings only reach the translators once `make gettext-extract` has run. Land the regenerated catalogs as a separate commit rather than inside a feature commit.
35 

Commands it names

  • make fmt-js
  • make lint-js
  • make test-js
  • make vitest-watch
  • npx vitest run
  • make gettext-extract

Sections

  • Frontend Instructions (Vue 3)
  • Style
  • State & Data
  • Tests
  • Translations

What it covers

testlint-formatcode-styleagent-behaviour

Stack — with the evidence

go

(1.00)

eslint

(1.00)

vitest

(0.95)

ai-agent

(0.90)

vue

(0.70)

vite

(0.70)

javascript

(0.60)

docker

(0.60)

github-actions

(0.60)

Glob targeting

  • frontend/**

Format

Copilot instructions

Two layers: one always-on repo file, plus optional glob-scoped instruction files. Lives under .github/ rather than the repo root, which is the tell that it is aimed at the GitHub platform surface as much as the editor.

What the corpus says about it

Repository

Owner
photoprism
Language
—
License
—
Archived
no

All configs in this repo

Also in photoprism/photoprism

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
photoprism/photoprisminternal/config/AGENTS.md · 40kAGENTS.mdgoeslint+7databasedo-not46/1002 days ago
photoprism/photoprisminternal/entity/migrate/AGENTS.md · 40kAGENTS.mdgoeslint+7testtesting-strategydatabase63/1002 days ago
photoprism/photoprisminternal/photoprism/AGENTS.md · 40kAGENTS.mdgoeslint+7no sections39/1002 days ago
photoprism/photoprisminternal/service/cluster/AGENTS.md · 40kAGENTS.mdgoeslint+7buildtestapi76/1002 days ago
photoprism/photoprismpkg/AGENTS.md · 40kAGENTS.mdgoeslint+7teststylesecurity55/1002 days ago
photoprism/photoprisminternal/commands/AGENTS.md · 40kAGENTS.mdgoeslint+7teststyle66/1002 days ago
photoprism/photoprism.claude/CLAUDE.md · 40kCLAUDE.mdgoeslint+7buildtestlint-formatstyle+796/1002 days ago
photoprism/photoprism.github/copilot-instructions.md · 40kCopilot instructionsgoeslint+7buildtestlint-formatstyle+590/1002 days ago
photoprism/photoprism.github/instructions/backend.instructions.md · 40kCopilot instructionsgoeslint+7testlint-formatstyletypes+483/1002 days ago
photoprism/photoprismAGENTS.md · 40kAGENTS.mdgoeslint+8setupbuildtestlint-format+882/1002 days ago
photoprism/photoprismfrontend/AGENTS.md · 40kAGENTS.mdgovitest+7setupteststyletesting-strategy+176/1002 days ago
photoprism/photoprisminternal/AGENTS.md · 40kAGENTS.mdgoeslint+7teststyletesting-strategy71/1002 days ago
photoprism/photoprisminternal/api/AGENTS.md · 40kAGENTS.mdgoeslint+7teststyletesting-strategyapi62/1002 days ago
Diff against internal/config/AGENTS.md Diff against internal/entity/migrate/AGENTS.md Diff against internal/photoprism/AGENTS.md Diff against internal/service/cluster/AGENTS.md Diff against pkg/AGENTS.md Diff against internal/commands/AGENTS.md Diff against .claude/CLAUDE.md Diff against .github/copilot-instructions.md Diff against .github/instructions/backend.instructions.md Diff against AGENTS.md Diff against frontend/AGENTS.md Diff against internal/AGENTS.md Diff against internal/api/AGENTS.md

Similar configs

Same format, overlapping stack, ranked by quality.

Same format, overlapping stack, ranked by quality
RepositoryFormatStackCoversScoreChanged
louislam/uptime-kuma.github/copilot-instructions.md · 90kCopilot instructionstypescriptjavascript+10setupbuildtestlint-format+9100/1003 days ago
chihebnabil/lovable-boilerplate.github/instructions/global.instructions.md · 63Copilot instructionstypescriptreact+7buildlint-formatstylearch+4100/1003 days ago
JCodesMore/ai-website-cloner-template.github/copilot-instructions.md · 31kCopilot instructionstypescriptnode+7buildlint-formatstylearch+397/1002 days ago
nerolis-lab/nerolis-lab.github/copilot-instructions.md · 32Copilot instructionstypescriptnode+8setupbuildtestlint-format+1196/1003 days ago
thangaram611/second-brain.github/copilot-instructions.md · 0Copilot instructionstypescriptnode+12setupteststylearch+496/1003 days ago
darkmatter/nixmac.github/copilot-instructions.md · 24Copilot instructionstypescriptrust+14setupbuildtestlint-format+896/1003 days ago
keycloak/keycloak.github/copilot-instructions.md · 36kCopilot instructionsjavanode+9setupbuildtestlint-format+693/1003 days ago
jnPiyush/AgentX.github/instructions/typescript.instructions.md · 14Copilot instructionstypescriptnode+5setuptestlint-formatstyle+592/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