diff --git a/README.md b/README.md index 61b7d34..80f683e 100644 --- a/README.md +++ b/README.md @@ -108,8 +108,10 @@ SQLite). Do not run dev or production against SQLite. ### Distribution -The application is distributed through the internal GE Aerospace git server. Clone -it from there; there is no public package or image registry. +Source lives here. The Windows installer ships as a release asset rather than a +file in the repository - it is around 240 MB, well past what a repository takes +and well inside what a release asset does. There is no package or image +registry; a site installs from that `.exe` or builds from source. ### Fast path (Docker) @@ -172,7 +174,8 @@ project wiki. To import a site's legacy data, use the HTTP import surface: an admin API token plus [docs/IMPORT-API.md](docs/IMPORT-API.md) drive the whole migration through documented endpoints (`X-Import-Mode` preserves original timestamps). -`scripts/site_imports/wjf/` is the West Jefferson reference loader. +`scripts/site_imports/wjf/` is the reference site's loader, kept as a worked +example of the whole sequence. ### Which deployment route @@ -220,12 +223,22 @@ Query parameters for list endpoints: - `search` - Search term - `assettype` - Filter by asset type (computer, printer, machine, networkdevice, measuringtool) +## Where to start + +[docs/START-HERE.md](docs/START-HERE.md) routes by what you are here to do - +standing up a site, deploying the shop-floor tools, writing a plugin, +integrating with the API, or diagnosing something. On the published mirror the +same page is the wiki's front door. + ## Plugin System ShopDB supports plugins for extending functionality. See `CONTRIBUTING.md` for plugin development guidelines. -The image bundles thirteen plugins; only the ones a site installs are loaded: +The image bundles these plugins; only the ones a site installs are loaded. The +current count and each plugin's version and migration head are in +[docs/PROJECT-MAP.md](docs/PROJECT-MAP.md), which is generated: +- **backups** - Machine configuration backups (NTLARS/DNC, CMM, part marker, UDC) with revision history and diffs - **computers** - Shopfloor PCs and workstations, collector fleet ingest - **employees** - Employee directory - **geenforce** - GE-Enforce imaging/software manifests and fleet compliance @@ -237,6 +250,7 @@ The image bundles thirteen plugins; only the ones a site installs are loaded: - **printedparts** - 3D-printed part catalogue, kiosk issue tracking and stock alerts - **printers** - Extended printer management with Zabbix integration - **slides** - TV/kiosk slideshows +- **tools** - Tech Tools: barcode and QR generation laid out for real label stock - **usb** - CMMC USB check-in/out tracking - **warranty** - Warranty records with Dell lookups diff --git a/tests/test_docs_versions.py b/tests/test_docs_versions.py index f572f81..4bce33a 100644 --- a/tests/test_docs_versions.py +++ b/tests/test_docs_versions.py @@ -40,7 +40,19 @@ PLUGIN_COUNT = re.compile(r'\b(\d+)\s+bundled plugins\b', re.I) def documentation_files(): - return sorted(p for p in DOCS.rglob('*.md') if p.name not in EXEMPT) + """Everything published that a reader treats as documentation. + + README.md and CONTRIBUTING.md are included deliberately: README is the first + page anyone sees on the mirror, and it was claiming thirteen bundled plugins + when there were fifteen. A rule that covers only docs/ leaves the most-read + file in the repository outside it. + """ + files = [p for p in DOCS.rglob('*.md') if p.name not in EXEMPT] + for name in ('README.md', 'CONTRIBUTING.md'): + top = REPO / name + if top.is_file(): + files.append(top) + return sorted(files) def current_versions():