Skip to content

newcomb-labs/engineering-journal-kb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Newcomb Labs — Engineering Journal

A personal knowledge base and documentation platform for labs, class notes, case studies, journal entries, and governance documentation. Built with Docusaurus and hosted at chrisnewcomb.name.

What's Here

Section Description
journal/ Dated engineering notes, lab notes, architecture decisions, and retrospectives
notes/class/ Class notes from BYU-Pathway Worldwide coursework
personal/ Faith reflections and personal writing
labs/ Hands-on lab exercises and walkthroughs
case-studies/ Troubleshooting write-ups and root cause analysis
decisions/ Architecture Decision Records (ADRs)
governance/ Repo standards, content contracts, taxonomy, and lifecycle rules
engineering/ Reference architecture and automation documentation
operations/ Runbooks and incident response procedures
library/ Reading notes and reference material
resources/ External links and curated references
experiments/ Exploratory work and proof-of-concepts
changelog/ Site and platform change history
drafts/ Work in progress
templates/ Governed content templates for all 19 categories

Tech Stack

  • Docs platform: Docusaurus 3.9
  • Hosting: GitHub Pages → Cloudflare CDN → chrisnewcomb.name
  • CI/CD: GitHub Actions
  • Linting: MegaLinter (JS, CSS, Python, secrets, vulnerabilities)
  • Content governance: Custom Python validators, pre-commit hooks
  • Spell checking: cspell with custom dictionary
  • Security scanning: Gitleaks, Secretlint, Trivy

Content Governance

Every document requires a governed frontmatter block:

title: ""
description: ""
content_type: doc|journal|lab|case-study
type: doc|journal|lab|case-study
status: draft|active|deprecated
lifecycle: draft|active|deprecated
created_at: "YYYY-MM-DD"
last_reviewed: "YYYY-MM-DD"
owners:
  - "@newcomb-labs"
tags:
  - notes
primary_domain: networking|security|systems|...
category: journal|lab-notes|class-notes|...

See Governance Docs for full schema.

Generated Content

The generate_content_artifacts.py script produces deterministic, metadata-driven content that stays in sync with governed frontmatter on every commit:

  • Section TOCs — every index.md landing page gets an auto-generated table of contents listing its docs between managed markers
  • Related links — content files receive a ## Related Content section computed from weighted tag/domain/category overlap
  • Site-wide index — a single page at /indexes/all-content listing every published document grouped by section
  • Area indexes — per-section indexes under _generated/indexes/
  • Glossary — central glossary built from governed tags and terms
  • Content manifest — machine-readable JSON of all docs and metadata

Creating Content

Use the content scaffolding CLI:

# New journal entry
python3 scripts/new_content.py journal "My Entry Title"

# New class notes
python3 scripts/new_content.py doc "My Notes Title" --category class-notes

# New lab notes
python3 scripts/new_content.py journal "My Lab Title" --category lab-notes

# New ADR
python3 scripts/new_content.py doc "ADR: My Decision" --category decisions

Branch and Commit Rules

Branches: feat/<name>, fix/<name>, chore/<name>, docs/<name>

Commits must follow Conventional Commits:

feat(scope): description
fix(scope): description
docs(scope): description
chore(scope): description

PRs must have a type:* label, an area:* label, and link to an issue.

Local Development

# Install dependencies
cd website && npm install

# Start dev server
npm start

# Build
npm run build

# Run content validation
python3 scripts/validate_content.py website/docs/...

# Run pre-commit hooks
pre-commit run --all-files

CI Workflows

All 18 GitHub Actions workflows have inline documentation. Key pipelines:

  • docs-ci — validates governance, lints markdown, checks prettier, builds site
  • content-validation — validates governed frontmatter on changed files
  • megalinter — JS, CSS, Python, YAML linting with auto-fix on PRs
  • spell-check — cspell on markdown/MDX plus legacy docs drift guard
  • link-check — lychee broken link scanner (PR, push, weekly schedule)
  • conventional-commits — enforces PR title format
  • pr-preview — deploys Cloudflare Pages preview on every PR
  • gitleaks — secret scanning on every PR and push

All CI workflows post GITHUB_STEP_SUMMARY tables for at-a-glance results.

Version

Current version: 0.3.0 — see CHANGELOG.md

Versioning is managed by Commitizen via bumpversion.yml (creates release PRs) and release-tag.yml (creates Git tags on merge).

About

Engineering journal and documentation system built with Docusaurus, combining labs, case studies, and governed knowledge into a living, searchable knowledge base.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors