A personal GitHub template repository containing coding standards, AI collaboration guardrails, and project scaffolding that reflect the conventions established across Ryan Loiselle's development projects. Fork or clone this repo as the starting point for any new project.
| File / Directory | Purpose |
|---|---|
.github/copilot-instructions.md |
Automatically read by GitHub Copilot in any repo that contains it. Defines coding style, comment conventions, AI behaviour guardrails, and deployment conventions without any manual setup. |
CODING_STANDARDS.md |
Human-readable reference document covering all the same rules in full detail. Share this with collaborators or paste into any AI tool as a system prompt. |
docs/local-development/README.md |
Skeleton template for documenting local environment setup — ports, services, credentials, known issues. |
docs/development-history.md |
Skeleton for recording session-by-session development notes (keeps the root README clean). |
docs/deployment/STANDARDS.md |
Deployment architecture reference for BC Gov Emerald OpenShift — two-repo GitOps pattern, Artifactory, Vault, network policies. |
docs/deployment/EmeraldDeploymentAnalysis.md |
Full platform guide — ISB EA Option 2 compliance, Datree implementation, CI/CD patterns, new project setup checklist. Canonical copy maintained here. |
containerization/ |
Template Containerfiles (API + frontend), nginx.conf for SPA, and podman-compose.yml for local container testing. |
.github/workflows/build-and-push.yml |
Skeleton GitHub Actions workflow to build images and push to Artifactory on commit. |
diagrams/README.md |
Diagrams folder skeleton with required diagram list, folder structure, and export commands (Draw.io + PlantUML). Fill in project-specific diagrams. |
gitops/ |
Skeleton GitOps repo structure (Helm chart, ArgoCD Application CRDs, per-env values). Move into its own repo at project start. |
gitops/.github/workflows/policy-enforcement.yaml |
Skeleton Datree security policy workflow (Helm plugin offline mode, no token required). Replace <APP_NAME> and <LICENSE> placeholders. |
- Go to
https://github.com/rloisell/rl-project-template - Click "Use this template" → "Create a new repository"
- Give the new repo a name and click Create
- Clone your new repo and start building
GitHub marks this repo as a template — forking is not required and is not recommended (forks stay linked to the parent; template repos create independent copies).
git clone https://github.com/rloisell/rl-project-template.git my-new-project
cd my-new-project
rm -rf .git
git init
git add .
git commit -m "chore: initialise from rl-project-template"
# then push to your new remote- Update
README.md— replace this file with a product-focused description of your new project. - Keep
.github/copilot-instructions.mdas-is — it applies immediately; customise as needed. - Fill in
docs/local-development/README.md— add your actual ports, services, and setup steps. - Rename
docs/development-history.md— start adding session notes as you build. - Review
CODING_STANDARDS.md— adjust any project-specific technology choices at the top. - Update Containerfiles — replace
<PROJECT_NAME>placeholders incontainerization/with your project name. - Move
gitops/— copy/move thegitops/skeleton into a new, separate repository and register it with ArgoCD. - Provision the platform — follow the checklist in
docs/deployment/STANDARDS.mdSection 9.11 to register the project with BC Gov Platform Registry, Artifactory, and Vault before writing any pipeline code. - Add GitHub Secrets in the app repo settings:
ARTIFACTORY_USERNAMEandARTIFACTORY_PASSWORD— required for image push/pullGITOPS_TOKEN— PAT with write access to the GitOps repo for image tag updates
- Complete
AI/SECURITY_NEXT_STEPS.md— copy the template, fill in project identity, DataClass, and STRA/PIA status before the first test environment deploy. DataClass must be confirmed with your Ministry InfoSec — useMediumif unsure (Low has no VIP on Emerald). - Update
trivy-scan.yml— replace<KEY>and<APP_NAME>placeholders in the image scan job with your Artifactory project key and application name.
These conventions were established and refined during the development of the DSC-modernization project — a .NET 10 / React modernization of a legacy Java time-tracking system. That project used GitHub Copilot extensively as an AI pair programmer and the standards here reflect what worked well in practice:
- Consistent file header format (author, AI attribution, date)
- ALL-CAPS section labels in code bodies
- Single-line per-method purpose comments
- End-of-class / end-of-block markers
- Clean root README (product description) with session notes kept in
docs/ - Diagram-first documentation using Draw.io and PlantUML
When you refine a convention on a project, bring it back here:
cd /Users/rloisell/Documents/developer/rl-project-template
# edit CODING_STANDARDS.md and/or .github/copilot-instructions.md
git add -A && git commit -m "chore: update standards from <project-name>"
git pushFuture projects created from the template will pick up the updated standards automatically.