Bygga
제품명을 박스에 입력하면 Bygga가 3D로 모든 조립 단계와 부품·스크류·도구를 보여주고 음성으로 안내합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗slotscout.ca · Check any spot in British Columbia, rule by rule, before you shoot.
Drop a pin or paste coordinates anywhere in BC and SlotScout shows whether recreational target shooting is restricted there, with the law, the source and the date behind every answer. It never shows green unless every check passed on current data.
This repository builds the site described in BC Shoot Check: Product Requirements (October 18, 2026) and Addendum A, Text-to-Map and Browser Capture, branded as SlotScout. Claude Code sessions start from CLAUDE.md (hard rules); the monthly steps are in RUNBOOK.md.
packages/engine Shared evaluation engine: rule catalogue, coordinate parser, fall-zone compass,
seasonal periods, road notice parser and verdict precedence. Used by the API, app and pipeline.
packages/pipeline Text-to-map pipeline CLI (Addendum A): pull, split, queue, extract, build, validate,
review-packet, test, report, monthly, release. approve and signoff are for people only.
apps/api Check API (Fastify). Reads live official data and runs the engine. Also serves the web app.
apps/web The website (React + MapLibre): map, spot report, spot finder, rule and source pages.
sources/ registry.yaml: every source with owner, URL, method, cadence and freshness limit.
config.toml Pipeline settings (model, thresholds, validation limits). Secrets live only in .env.
inbox/ Files a person drops in by hand (BC Laws copies until API permission arrives).
raw/<YYYY-MM>/ Every pulled file with its SHA-256; GIS layers keep counts and content hashes in manifest.json.
queue/ One task per text unit; answers/run1 and run2 hold the two independent extractions.
prompts/, schema/ Versioned extraction prompts and JSON schemas.
rules/ Built rule features (one file per rule ID), the road notice store and bylaw rule lists.
review/<YYYY-MM>/ Review packets for a person (index.html), decisions and sign-off.
releases/<YYYY-MM>/ Release packages; publishable only after approvals and legal sign-off.
reports/ Change reports, test reports, monthly reports, run logs, status.json.
data/ Release pointer, Wildlife Act coverage, bylaw register, bylaw sites, aliases, regression set.
scripts/ Regression gate, bylaw register and sitemap builders.
docs/ Digitising guide.
The engine is the same code for a single pin, the spot finder and (later) the colour map, so they can never disagree (PRD 8).
Requires Node 22.
npm install
npm run dev # API on :8787 and the web app on :5173 (proxying /v1 to the API)
Open http://localhost:5173. Other commands:
npm test # engine and API tests, including the no-false-green suite
npm run typecheck
npm run build # apps/api/dist/server.mjs and apps/web/dist
npm start # production server on :8787, serving the API and the built site
npm run validate:data # schema checks for registers and rules (make validate)
npm run regression # release gate against live data: fails on any false green
npm run pipeline -- status # the pipeline CLI (see RUNBOOK.md)
npm run register:bylaws # refresh the bylaw register from official boundaries
npm run sitemap # regenerate apps/web/public/sitemap.xml
docker compose up -d web # site and API on http://localhost:8787
docker compose run --rm ingest make monthly # the monthly pipeline (Playwright + Chromium)
docker compose run --rm ingest make status
Both services bind-mount this repository: the site reads rules/, sources/, data/ and reports/ as the pipeline writes them (it reloads within a minute), and everything the pipeline produces lands in the repository so it can be committed and traced. Settings are in .env.example; behind a TLS-inspecting proxy set HTTPS_PROXY and EXTRA_CA_CERTS (a CA bundle mounted into the container), and build with --build-arg HTTPS_PROXY=... --secret id=extra_ca,src=<ca.crt>.
make pull split queue extract build validate review-packet test report # or: make monthly
make release # candidate until signed off
config.toml extractor): api when ANTHROPIC_API_KEY is in .env (Claude API, structured JSON output, server-side refusal fallbacks), agent (Claude Code reads the queue and a fresh subagent does the second run), manual (a person fills the same answer files).bclaws.api_confirmed); until then a person saves copies into inbox/bclaws/.RUNBOOK.md).GET /v1/check?lat=49.41474&lon=-121.7547&type=shotgun_shot&fz=250 gathers, in parallel:
The engine then evaluates every rule in the catalogue (F1 to F6, W1 to W13, P1 to P9, L1 to L4, I1 to I3, O1 to O4, S1 to S7), applies freshness limits from the source register, finds the safe throw directions, and returns the verdict, the 12 green lights and the full checklist. Responses are cached per layer (15 minutes for wildfire layers, hours for the rest), and coordinates are never logged.
Other endpoints: POST /v1/check/batch (up to 100 points), GET /v1/finder, /v1/rules, /v1/rules/{id}, /v1/releases, /v1/sources, /v1/coverage, /v1/pipeline-status, /v1/search, /v1/map-layers, /v1/tiles/{layer}/{z}/{x}/{y}.png, POST /v1/reports. Public and rate-limited to 60 requests per minute per IP.
Working now, against live data:
Still to do before a region can turn green (PRD 13):
reports/ for the latest hand-off report.data/bylaws.json); each bylaw must be found, digitised and reviewed. The register is built from the official boundary layers, which currently hold 160 municipalities and 159 electoral areas; make validate reports the difference until a person identifies the jurisdiction concerned.Contains information licensed under the Open Government Licence – British Columbia and the Open Government Licence – Canada. BC Laws text is never crawled automatically (BC Laws' robots.txt disallows it); a person saves the monthly consolidation into inbox/ until the King's Printer confirms API use in writing. The language model receives public legal text only, never user data. Base maps and imagery are provided by their owners under their own terms.