geohash-spatial-code-maps

v2026.09.24

Geohash encoding/decoding in TypeScript or Rust — bit interleaving, the base32 alphabet, precision and cell geometry, neighbour/adjacency computation, proximity and bounding-box queries, and geohash-backed spatial indexing. Also covers the "codebase as a navigable 2D map" pattern — projecting a codebase into a coordinate plane, geohashing it so prefixes become business-domain regions, and navigating it like Google Maps (zoom, tiles, level-of-detail, clustering, deep links). Trigger when implementing, reviewing, or debugging geohash work — even when the user does not say "geohash" but the work involves spatial hashing, Morton/Z-order codes, proximity search on lat/lon, or mapping and visualising code structure spatially. Contains 42 impact-ordered rules with TypeScript and Rust examples.

GitHub
安装命令
npx skhub add pproenca/geohash-spatial-code-maps
Markdown
SKILL.md

Geohash & Spatial Code Maps Best Practices

How to implement geohashes correctly in TypeScript and Rust, how to query and index them at scale, and how to apply them to the "codebase as a navigable 2D map" pattern — projecting code into a plane so geohash prefixes become domain regions you can fly through like Google Maps. Contains 42 rules across 8 categories, prioritised by impact.

When to Apply

Reference these guidelines when:

  • Implementing or reviewing a geohash encoder/decoder in TypeScript or Rust (bit interleaving, base32, precision, neighbours)
  • Building proximity / radius / bounding-box search on lat/lon data, or storing geohashes as index keys (SQL B-tree, Redis sorted sets)
  • Debugging the classic geohash bugs — swapped axes, wrong alphabet, border false negatives, off-by-one cells at high precision
  • Projecting a codebase (or any abstract graph) into a 2D plane and geohashing it so prefixes name business domains or features
  • Navigating a geohashed dataset like a slippy map: zoom-to-precision, viewport tile loading, level-of-detail aggregation, prefix clustering, deep links

A note on scope

Categories 1–4, 6, and 7 are textbook geohashing, drawn from authoritative sources (the geohash spec, the davetroy/geohash-js neighbour tables, Redis, Elasticsearch). Categories 5 (map-) and 8 (nav-) are a novel synthesis — there is no canonical "geohash your codebase" library, so those rules derive design principles from established techniques (deterministic graph layout, Morton/Z-order keys, slippy-map tiling, software cartography). They are honest about when the pattern is overkill.

Rule Categories by Priority

PriorityCategoryImpactPrefixRules
1Encoding & Bit InterleavingCRITICALenc-6
2Precision & Cell GeometryCRITICALprec-5
3Neighbours & AdjacencyHIGHnbr-5
4Proximity & Range QueriesHIGHqry-5
5Codebase-as-Map Spatial LayoutHIGHmap-7
6Decoding & Bounding BoxesMEDIUM-HIGHdec-4
7Spatial Indexing & StorageMEDIUM-HIGHidx-5
8Navigation & RenderingMEDIUMnav-5

Quick Reference

1. Encoding & Bit Interleaving (CRITICAL)

2. Precision & Cell Geometry (CRITICAL)

3. Neighbours & Adjacency (HIGH)

4. Proximity & Range Queries (HIGH)

5. Codebase-as-Map Spatial Layout (HIGH)

6. Decoding & Bounding Boxes (MEDIUM-HIGH)

7. Spatial Indexing & Storage (MEDIUM-HIGH)

8. Navigation & Rendering (MEDIUM)

How to Use

Read individual reference files for detailed explanations, code examples, and "when NOT to apply" guidance:

Rules cross-link via [[other-rule-slug]]; follow them when a related pattern is referenced. To build a code map end to end, the spine is: map-deterministic-projection → map-normalize-to-geohash-domain → encode (category 1) → map-prefix-as-domain-region → navigate (category 8).

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

MIT

源路径

skills/.experimental/geohash-spatial-code-maps

默认分支

master

最新提交

cf93c57

Tree SHA

afbb575