Blueforce-Linux/.gitignore
emirhanmamak-blueforce 4ad20452e7 feat(design): add the operator design system the two surfaces share
The device console is a default-grey tkinter window with no hierarchy: no
grouping, no state colour, no type scale, the privilege warning buried in a
monospace paragraph, "Çık" duplicated at two sizes, and an output area that
looks editable. Every measurement is in the delivered work; the point here is
that the fix is a system, not a repaint.

Adds PRODUCT.md (product truth: who uses this, from where, under what
constraints), docs/DESIGN.md (the direction contract and the shared status
vocabulary) and web/static/tokens.css (the values both surfaces read).

The vocabulary is the load-bearing part. Four severities -- ok / warn / danger /
info -- plus one action accent, and one Turkish word per device stage
(KURULDU / KAYITLI / HAZIR / HATA / YOK) used identically on the device and in
the central panel. A fifth hue is a bug, and colour is never the only carrier:
every badge ships its word, so the fleet list stays readable in greyscale.

The ground is light on purpose. The console runs in workshops and dealer service
areas in daylight; a near-black ops console loses its own body text there and its
state colours collapse into equal-brightness smudges.

No webfont: the fleet installs offline from a committed pool, so a font CDN is a
broken page on every device.
2026-09-16 22:20:15 +03:00

78 lines
2.7 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.directory
# Local agent/plan state — never committed
.hermes/
# Scratch scripts and build experiments (package collection, pin extraction).
# Nothing here ships; the reviewed tooling lives in provisioning/offline-repo/.
/tmp/
# Python bytecode caches. Every .pyc is regenerated on import, so tracking them
# only produces noisy diffs and a stale artifact in the checkout.
__pycache__/
*.py[cod]
# ---------------------------------------------------------------------------
# Field OS build artifacts.
# These are large, generated, and reproducible from a verified upstream ISO.
# The upstream ISO itself is NOT stored in git (2.9 GB); its SHA256 is recorded
# in the release manifest instead. See docs/26 and docs/30.
# ---------------------------------------------------------------------------
.build-lab/
dist/
*.iso
*.iso.sha256
*.iso.boot-report.txt
# Offline APT repository.
#
# IMPORTANT: the built bundle IS committed on purpose. The whole point of this
# repository is that an operator installing a field device never downloads
# anything: the packages travel with the repo. `provisioning/offline-repo/built/`
# is therefore allowed through the rules below, while a scratch bundle built
# anywhere else stays untracked.
provisioning/offline-repo/out/
provisioning/offline-repo/pool/
Packages
Packages.gz
packages.lock.tsv
# ...but never inside the committed bundle.
!provisioning/offline-repo/built/
!provisioning/offline-repo/built/**
#
# The bundle's pool/ IS committed, deliberately. blueforce-install.sh resolves
# every pinned package as "<bundle>/pool/<source>" (its lock rows carry
# "pool/<file>.deb"), so a device that clones the repository needs those files
# on disk. Excluding them left the installer with an index but no packages and
# it stopped with "Kilitte yazılı paket depoda yok". The same blobs also live
# under packages/, which is the intake directory the maintainer commits from;
# Git LFS stores one object per content hash, so the duplication is a path, not
# a second copy of the bytes.
# Documentation site (generated)
docs-site/node_modules/
# Design tooling scratch (local to a workstation, not shippable)
.impeccable/
docs-site/build/
docs-site/.docusaurus/
docs-site/docs/
fetched-logs/
# Secrets must never be committed — belt and braces alongside the secret scan
# in tests/. Any private key, token file, or credential store belongs in a
# root-owned path on the host, never in this repository.
*.key
*.pem
*.p12
*.pfx
id_rsa*
id_ed25519*
*credentials*
*[-_.]token*
*.secret
# Credential files delivered by `admin/bf-creds --fetch` (<dealer-number>.txt).
# They live only in the checkout that runs the delivery, are root-owned on the
# device (mode 0600 inside a mode 0700 directory), and are never committed.
admin/secrets/