No description
  • Makefile 89.6%
  • JavaScript 6.4%
  • Dockerfile 4%
Find a file
Ryan Grippeling 04d39d9115
All checks were successful
[Workflow] On Documentation Change / techdocs (push) Successful in 15s
[Workflow] On Documentation Change / Generate (push) Successful in 0s
[Workflow] On Documentation Change / Build (Zensical) + sync to Garage web (push) Successful in 17s
[Workflow] On Documentation Change / Deploy (docs site / Garage web) (push) Successful in 0s
feat(docs): publish to own docs-application-template bucket (estate #2)
Repo-scoped Garage key via repo-level TECHDOCS_S3_* (shadows org). The
shared docs-site prefix stops receiving updates; the docs domain routes
/application-template to the new bucket in homelab's phase C cutover.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 18:08:26 +02:00
.forgejo/workflows feat(docs): publish to own docs-application-template bucket (estate #2) 2026-08-12 18:08:26 +02:00
.github ci: adopt @webgrip/semantic-release-config in the template 2026-07-25 19:53:40 +02:00
.vscode fix: pulled out ACT and put it where it belongs 2025-09-03 00:55:58 +02:00
docs feat(docs): publish to docs.webgrip.dev/application-template/ — estate rollout (ADR-0052) 2026-08-11 11:00:56 +02:00
ops Merge pull request #15 from webgrip/renovate/gitops-container-images 2026-02-12 11:04:15 +01:00
src docs: fill ADRs and clean up ACT references with comprehensive final fixes 2025-09-03 00:40:36 +00:00
tests refactor: refactored a lot, pulled changes from downstream applications that I like into here 2025-09-02 12:18:06 +02:00
.dockerignore fix: test 2025-09-03 05:25:29 +02:00
.editorconfig Initial commit 2025-07-14 12:32:48 +02:00
.env.example fix: downstream values 2025-09-08 08:08:58 +02:00
.gitattributes fix: added agentic workflow to repo for issue-triage 2025-09-16 21:12:55 +02:00
.gitignore fix: final changes 2025-09-03 03:26:10 +02:00
.releaserc.cjs ci: adopt @webgrip/semantic-release-config in the template 2026-07-25 19:53:40 +02:00
AGENTS.md fix(workflows): naming conventions should follow events that happened in the past 2025-11-25 21:16:45 +01:00
catalog-info.yml fix: webgrip -> organisation 2025-08-23 01:27:28 +02:00
CHANGELOG.md chore(release): 1.6.3 [skip ci] 2025-09-14 08:43:42 +00:00
docker-compose.yml fix: downstream values 2025-09-08 08:08:58 +02:00
LICENSE fix: webgrip -> organisation 2025-08-23 01:27:28 +02:00
Makefile fix: Downstream changes that use the new on_source_change 2025-09-08 08:08:58 +02:00
package.json chore(deps): update npm 2026-02-10 06:10:48 +00:00
README.md docs: fill ADRs and clean up ACT references with comprehensive final fixes 2025-09-03 00:40:36 +00:00

application-application

Badges

Template Sync License Conventional Commits SemVer Dockerized PRs Welcome

Opinionated application template focused on repeatable quality: tested workflows, semantic releases, and automatic template drift correction.


At a Glance

Aspect What You Get
CI/CD GitHub Actions pipelines & template sync
Consistency Automatic sync of core config & workflow files to app repos (optin via topic)
Quality Conventional Commits + Semantic Versioning scaffolding
Documentation TechDocs-ready structure for internal/platform portals
Security Encrypted secrets handling via SOPS + age
Developer UX Pre-configured editor & workflow automation

Features

  • Automated template file synchronization (optin per repo by GitHub topic)
  • Semantic release readiness (.releaserc.json included)
  • Encrypted secrets workflow (age / SOPS)
  • Curated GitHub workflow set (docs changes, source changes)
  • Opinionated baseline configs: EditorConfig, VSCode settings, .gitignore
  • Structured test categories (unit, integration, functional, contract, e2e, smoke, performance, behavioral)

Description

Foundation repository for bootstrapping internal / external application services with consistent engineering guardrails. Replace the placeholder service specifics with your domain logic while retaining the shared operational workflows.

Template Synchronization

This repository serves as a template that can automatically sync certain files to application repositories. To enable template sync for your application repository, add the application topic to your repository.

Synced Files Include:

Category Files
Workflows .github/workflows/*.yml (selected core automation)
Config .editorconfig, .gitignore, .releaserc.json
Dev UX .vscode/settings.json

These represent the "source of truth"; local divergent changes in target repos will be overwritten (review PRs carefully).

For detailed information, see the Template Sync Documentation.

Getting Started

Encrypted secrets

make init-encrypt

Creates:

  • age.agekey → add to repo secret SOPS_AGE_KEY
  • age.pubkey → used for encryption

Add plaintext secrets to:

ops/secrets/application-application-secrets/values.dec.yaml

Encrypt them:

make encrypt-secrets SECRETS_DIR=./ops/secrets/application-application-secrets

This produces values.sops.yaml (commit this).


Docker

docker compose up --build
docker compose down --remove-orphans --volumes

Contributing

Contributions welcome! Please:

  1. Open an issue describing the change
  2. Use Conventional Commits for branch + commit messages
  3. Add / adjust tests where behavior changes
  4. Update docs (README / TechDocs / ADRs) when altering architecture

Roadmap (Excerpt)

  • Add coverage reporting & badge
  • Introduce example service code scaffolding
  • Provide k6 performance test harness
  • Optional Terraform module integration

License

Distributed under the terms of the MIT license. See LICENSE for details.