engineering-handbook/README.md
Adam Moussa 4b5d39fb91
Add CDK version policy, update Node 24 and GitHub Actions CI/CD (#6)
* Update CDK version policy, Node 24 runtime, and GitHub Actions CI/CD

- Pin blessed aws-cdk-lib version (2.253.1) with upgrade procedure
- Update Lambda runtime default from Node 22 to Node 24
- Rewrite CI/CD page to reflect GitHub Actions reusable workflows
  (was still referencing CodePipeline/CodeBuild)

* Add pre-push hook for npm ci validation

Catches lock file drift locally before it breaks CI. Includes
install instructions in git-workflow.md.

* Add repo provisioning script

Automates the new-repo checklist: GitHub repo creation, OIDC deploy
role, repo secret, security features, CI/CD workflow stubs, and
pre-push hook installation. Supports both SAM and CDK stack types.

* Add shared VpnEc2Instance CDK construct

Reference construct for the VPN-accessible EC2 pattern used by
file-share and forgejo. Includes VPC/subnet lookup, SG, IAM role,
encrypted EBS, and DLM snapshots. Copy into lib/constructs/.

* Add post-deploy health check template

Template script for project-specific health checks. Copy to
scripts/health-check.sh — CD workflows run it automatically.
2026-05-14 18:39:13 -04:00

27 lines
1.5 KiB
Markdown

# Engineering Handbook
Engineering conventions and best practices for Sea Haven Industries.
## Contents
- [Naming Conventions](naming-conventions.md) -- kebab-case everywhere, no exceptions
- [Git Workflow](git-workflow.md) -- feature branches, incremental commits, deploy-then-merge
- [Commit Messages](commit-messages.md) -- imperative mood, 50/72 rule, explain "why"
- [Pull Requests](pull-requests.md) -- scope, title, description format, merge strategy
- [Code Review](code-review.md) -- what to look for, giving feedback, turnaround expectations
- [GitHub Standards](github-standards.md) -- branch defaults, repo hygiene, Dependabot
- [AWS Infrastructure](aws-infrastructure.md) -- SAM vs CDK, Lambda defaults, CloudFormation
- [SAM Project Layout](sam-project-layout.md) -- standard directory structure for serverless projects
- [Secrets and Configuration](secrets-and-config.md) -- Secrets Manager vs SSM Parameter Store
- [CI/CD Pipelines](cicd.md) -- every deployable repo gets a pipeline, no manual deploys
- [Git Hooks](hooks/) -- recommended pre-push and pre-commit hooks
- [Scripts](scripts/) -- repo provisioning, automation tooling
- [CDK Constructs](constructs/) -- shared VPN EC2 instance construct and other reusable patterns
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
## License
This work is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/). The commit messages section adapts content from [commit-messages-guide](https://github.com/RomuloOliveira/commit-messages-guide) by Romulo Oliveira, also licensed under CC-BY-4.0.