From 5322e9fdd031a0a246c9fdf5a59e1b5f1576bbce Mon Sep 17 00:00:00 2001 From: "Sean P. Carapella" <73687678+scarapella@users.noreply.github.com> Date: Sun, 21 Dec 2025 12:22:33 -0500 Subject: [PATCH] Delete .github directory removed accidental addition --- .github/copilot-instructions.md | 44 --------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md deleted file mode 100644 index 5587f53..0000000 --- a/.github/copilot-instructions.md +++ /dev/null @@ -1,44 +0,0 @@ -# Copilot instructions for openstreetbrowser-categories-main - -This file gives succinct, actionable guidance for AI coding agents working in this package. - -- **Big picture**: this package defines map category descriptors as YAML files. Each category YAML contains metadata for the UI (localized `name`), an Overpass-style `query`, a `feature` Jinja template (controls title/description/marker/style) and a `const` section mapping tag-derived keys (e.g. `piste:type=ice_skate`) to rendering details. - -- **Key files/locations**: - - Category examples: `ice_skating.yaml` (root of this package). - - Translations helper: `lang/README.md` (contains rules for copying translation entries into categories). - -- **YAML + Jinja pattern**: - - Templates use Jinja-like expressions inside YAML block scalars (`feature.pre`, `feature.title`, `feature.body`, etc.). - - Common template helpers used in files: `attribute(tags, '...')`, `localizedTag(tags, '...')`, `tagTrans(key,value)`, `keyTrans(...)`, and `markerPointer()` / `markerCircle()` helpers. - - Be careful with quoting and nested braces; preserve existing whitespace and indentation when editing. - -- **Query conventions**: - - `type` is frequently `overpass` and `query` holds Overpass QL blocks. Look at `ice_skating.yaml` for examples combining `way[...]`, `node[...]`, and boolean filters. - - Category queries intentionally avoid overlap with other category packages (see inline comments). When updating queries, maintain such exclusions and add TODO comments for unresolved tagging patterns. - -- **Rendering conventions**: - - `const` keys use `tag=value` strings (e.g. `piste:type=ice_skate`) to map to `symbol`, `style`, `sign`, and `priority`. - - `feature.pre` usually resolves which `key`/`value` pair applies and sets `constIndex = (key ~ "=" ~ value)` to lookup `const[constIndex]`. - - `markerSign` may include raw HTML (icons). `markerSymbol`/`listMarkerSymbol` choose display helpers based on `item.symbol`. - - Respect `restricted_access_value` logic: values like `no`, `private`, `discouraged` should gray-out markers (`#7F7F7F`) and change behavior in templates. - -- **When adding a new category YAML**: - - Copy an existing file (e.g. `ice_skating.yaml`) as the minimal scaffold: `name`, `type`, `query`, `feature`, `const`. - - Implement `feature.pre` to deterministically set `key` and `value` then lookup `const` via the `constIndex` pattern. - - Keep UI strings via `localizedTag` / `tagTrans` rather than hardcoding text. - -- **Project-specific patterns for AI**: - - Prefer read-only edits first: update `const` styles or `feature` templates without changing query logic unless necessary. - - Preserve TODO comments in queries — they encode tagging ambiguity and cross-package concerns. - - Use existing helper names (`markerPointer`, `markerCircle`, `tagTrans`) rather than inventing new ones. - -- **Testing / validation (discoverable)**: - - There are no unit tests in this package. Validate changes by comparing rendered template outputs in a running OpenStreetBrowser instance (manual step outside this package). - - For syntax safety, run a YAML linter and ensure Jinja blocks remain properly indented and quoted. - -- **Examples to inspect**: - - `ice_skating.yaml`: demonstrates query composition, `feature.pre` logic, `const` mappings, localized `name`, and marker styling. - - `lang/README.md`: describes how translations in `lang/` are applied to categories. - -If anything here is unclear or you want the instructions tailored to a different contributor workflow, tell me which parts to expand or examples to add.