The nlink-jp engineering knowledge base — lessons learned across the organization's projects, compiled into themed documents. Each entry follows a symptom → why → how to apply structure and cites its origin in generalized form.
日本語版は README.ja.md を参照。
- Consult before building — when starting design or implementation work in a domain covered here, read the relevant document first.
- Feed back what you learn — when work surfaces new reusable engineering knowledge, contribute it here as part of completing that work.
Both practices are organization policy — see CONVENTIONS.md (§Consult and feed the knowledge base) and ADR-015.
Documents are consumed by reading main — there are no releases.
| Document | Contents |
|---|---|
| release-engineering | Signing, notarization, Homebrew tap, release archives, versioning |
| macos-gui | SwiftUI/AppKit traps, menu-bar apps, Wails |
| web-ui | CSS/layout traps in WebView frontends and self-contained HTML reports |
| mcp-server-design | MCP protocol limits, stdio hygiene, structured errors, LLM-facing tool design |
| llm-integration | Gemini/genai SDK, output validation, drift, tokens, dedup, pipelines |
| security | Prompt-injection defense, secrets/PII hygiene, internet-facing checklist, destructive-op safety |
| build-and-packaging | CGO cross-builds, .gitignore traps, CI-less release rationale |
| testing | Real-data E2E, mockability, failure injection, MCP test harnesses |
| containers-and-infra | Podman on macOS, DuckDB bind mounts, matplotlib fonts |
| config-and-io | Canonical identifiers, strict config decode, storage-dir reconcile, OAuth, terminal IO |
| shell-scripting | BSD/GNU sed differences, zsh expansion quirks, Bash trap scope, substitution pitfalls |
| embedded | M5Stack / ESP32 lessons |
| development-process | Rewrite-vs-refactor, contribution triage, ADR granularity, docs practice |
Japanese versions live in docs/ja/ (Japanese is the authoring source).