Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ==============================================================================
# EditorConfig for {{project_name}}
# EditorConfig for project_name
# https://editorconfig.org
#
# This file enforces consistent coding styles across multiple editors and IDEs.
Expand Down
6 changes: 3 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
APP_ENV=development
# Enable/disable debug mode (verbose logging, stack traces)
APP_DEBUG=true
APP_NAME="{{project_name}}"
APP_NAME="project_name"
APP_VERSION="1.0.0"
# Base URL for the application (useful for generating absolute links, emails)
APP_URL=http://localhost:8080
Expand All @@ -42,13 +42,13 @@ CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080
DB_CONNECTION=postgres
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE={{project_name}}_dev
DB_DATABASE=project_name_dev
DB_USERNAME=admin
DB_PASSWORD=secret
# Database schema (if applicable, e.g., public for postgres)
DB_SCHEMA=public
# Full connection string alternative (often used by ORMs like Prisma or SQLAlchemy)
# DATABASE_URL=postgres://admin:secret@localhost:5432/{{project_name}}_dev
# DATABASE_URL=postgres://admin:secret@localhost:5432/project_name_dev

# ------------------------------------------------------------------------------
# Cache / Key-Value Store / Message Brokers
Expand Down
35 changes: 17 additions & 18 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
---
name: πŸ› Bug Report
description: Create a report to help us improve {{project_name}}
labels: ["bug", "triage"]
description: Create a report to help us improve project_name
labels:
- "bug"
- "triage"
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug to `{{project_name}}`!

Thanks for taking the time to report a bug to `project_name`!
> [!IMPORTANT]
> If you have found a **security vulnerability**, please refer to our [Security Policy](../SECURITY.md) and do not open a public issue.

For general help and Q&A, please use [GitHub Discussions](https://github.com/{{organization}}/{{project_name}}/discussions) instead.

For general help and Q&A, please use [GitHub Discussions](https://github.com/{{organization}}/project_name/discussions) instead.
- type: checkboxes
id: checks
attributes:
label: Search before asking
description: Please confirm that you have checked the following before submitting your bug report.
description: Please confirm that you have checked the following before submitting your
bug report.
options:
- label: I have searched the [existing issues](https://github.com/{{organization}}/{{project_name}}/issues) and could not find a similar bug.
- label: I have searched the [existing issues](https://github.com/{{organization}}/project_name/issues)
and could not find a similar bug.
required: true
- label: I have read the [Official Documentation](https://{{organization}}.github.io/{{project_name}}).
- label: I have read the [Official Documentation](https://{{organization}}.github.io/project_name).
required: true

- type: textarea
id: description
attributes:
Expand All @@ -31,28 +32,26 @@ body:
placeholder: Tell us what happened...
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to Reproduce
description: Provide a minimal, reproducible example or the exact steps to reproduce the behavior.
description: Provide a minimal, reproducible example or the exact steps to reproduce
the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen instead.
validations:
required: true

- type: textarea
id: environment
attributes:
Expand All @@ -61,15 +60,15 @@ body:
value: |
- OS (e.g., Linux, macOS, Windows):
- Language Version (e.g., Python 3.10):
- `{{project_name}}` Version:
- `project_name` Version:
- Other relevant dependency versions:
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant Logs or Screenshots
description: If applicable, add screenshots or paste command output/logs to help explain your problem. Please use code blocks (```) to format logs.
description: If applicable, add screenshots or paste command output/logs to help explain
your problem. Please use code blocks (```) to format logs.
validations:
required: false
14 changes: 8 additions & 6 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
---
name: Feature Request
description: Suggest an idea for {{project_name}}
labels: ["enhancement"]
description: Suggest an idea for project_name
labels:
- "enhancement"
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest a feature for {{project_name}}!

Before submitting, please ensure you have searched our existing [Issues](https://github.com/{{organization}}/{{project_name}}/issues) and [Discussions](https://github.com/{{organization}}/{{project_name}}/discussions) to see if this feature has already been requested.
Thanks for taking the time to suggest a feature for project_name!
Before submitting, please ensure you have searched our existing [Issues](https://github.com/{{organization}}/project_name/issues) and [Discussions](https://github.com/{{organization}}/project_name/discussions) to see if this feature has already been requested.
- type: textarea
id: problem
attributes:
Expand All @@ -28,7 +29,8 @@ body:
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
description: A clear and concise description of any alternative solutions or features
you've considered.
placeholder: "Ex. I tried using feature X, but it didn't work because [...]"
- type: textarea
id: additional
Expand Down
22 changes: 11 additions & 11 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<!--
Thanks for contributing to {{project_name}}!
<!--
Thanks for contributing to project_name!
Please review the [Contributing Guidelines](../CONTRIBUTING.md) before submitting your PR.
-->

## Description

<!--
<!--
Please include a clear summary of the changes and the motivation for this PR.
If this PR introduces a new feature or changes existing behavior, describe the context and how it works.
-->

-
-

## Type of Change

Expand All @@ -28,21 +28,21 @@ If this PR introduces a new feature or changes existing behavior, describe the c
List the steps needed to manually test this PR, or describe the automated tests you have added.
-->

-
-

## Related Issues

<!--
Link to the relevant issue(s) here.
<!--
Link to the relevant issue(s) here.
Use `Fixes #ISSUE_NUMBER` or `Closes #ISSUE_NUMBER` to automatically close the issue upon merge.
-->

- Fixes #

## Screenshots / Visuals (if applicable)

<!--
If this PR introduces UI changes, visual features, or modifies documentation layout,
<!--
If this PR introduces UI changes, visual features, or modifies documentation layout,
please add screenshots, terminal output, or recordings to demonstrate the changes.
-->

Expand All @@ -57,11 +57,11 @@ please add screenshots, terminal output, or recordings to demonstrate the change
## Checklist

> [!IMPORTANT]
> Please review and complete this checklist before submitting your PR. This helps our maintainers process your contribution faster and ensures it meets the quality standards of `{{project_name}}`.
> Please review and complete this checklist before submitting your PR. This helps our maintainers process your contribution faster and ensures it meets the quality standards of `project_name`.

- [ ] "I certify that all code in this PR is my own, except as noted below."
- [ ] I have read the [CONTRIBUTING.md](../CONTRIBUTING.md) guide.
- [ ] My code follows the established style guidelines of `{{project_name}}`.
- [ ] My code follows the established style guidelines of `project_name`.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have made corresponding changes to the documentation.
Expand Down
41 changes: 20 additions & 21 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# =============================================================================
# dependabot.yml β€” Automated Dependency Management
#
Expand All @@ -13,7 +14,6 @@
# After PRs are opened, weekly.yml surfaces them via Slack for human review.
# =============================================================================
version: 2

updates:
# ── GitHub Actions ──────────────────────────────────────────────────────────
- package-ecosystem: "github-actions"
Expand All @@ -35,29 +35,28 @@ updates:
prefix: "chore(actions)"
# TODO: Add at least one reviewer here! Without an assigned reviewer,
# Dependabot PRs often rot in the queue and are ignored.
reviewers: [] # e.g., ["maintainer1", "org/platform-team"]
assignees: [] # e.g., ["maintainer1"]
reviewers: [] # e.g., ["maintainer1", "org/platform-team"]
assignees: [] # e.g., ["maintainer1"]
open-pull-requests-limit: 5

# ── Python (pip) ────────────────────────────────────────────────────────────
# Uncomment when this repository contains Python dependencies.
# - package-ecosystem: "pip"
# directory: "/"
# schedule:
# interval: "weekly"
# day: "monday"
# time: "09:00"
# timezone: "America/New_York"
# groups:
# python-dependencies:
# patterns:
# - "*"
# labels:
# - "dependencies"
# - "python"
# commit-message:
# prefix: "chore(deps)"
# open-pull-requests-limit: 5
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "America/New_York"
groups:
python-dependencies:
patterns:
- "*"
labels:
- "dependencies"
- "python"
commit-message:
prefix: "chore(deps)"
open-pull-requests-limit: 5

# ── Node.js (npm) ────────────────────────────────────────────────────────────
# Uncomment when this repository contains a package.json.
Expand Down
60 changes: 32 additions & 28 deletions .github/workflows/_build_container.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
# ─────────────────────────────────────────────────────────────────────────────
# _build_container.yml β€” Reusable Container Builder
#
Expand All @@ -7,6 +8,7 @@
#
# Inputs:
# build_type (required): "release", "post", "nightly", or "dev"
# push (optional): Whether to push the image to GHCR (default: false)
#
# Outputs:
# image_name β€” The name of the built container image
Expand All @@ -15,27 +17,29 @@
# Callers: development.yml, nightly.yml, release.yml
# ─────────────────────────────────────────────────────────────────────────────
name: "Build Container (Reusable)"

on:
workflow_call:
inputs:
build_type:
description: "Type of build: release, post, nightly, or dev"
required: true
type: string
push:
description: "Whether to push the built container image to GHCR"
required: false
type: boolean
default: false
outputs:
image_name:
description: "The name of the built container image"
value: ${{ jobs.build-container.outputs.image_name }}
image_tag:
description: "The tag of the built container image"
value: ${{ jobs.build-container.outputs.image_tag }}

permissions:
contents: read

packages: write # To push to GHCR
jobs:

build-container:
name: "Build Container (${{ inputs.build_type }})"
runs-on: ubuntu-latest
Expand All @@ -44,28 +48,28 @@ jobs:
image_tag: ${{ steps.build.outputs.image_tag }}
steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: "# TODO: Set up container toolchain"
run: |
# ───────────────────────────────────────────────────────────────────
# PLACEHOLDER β€” Set up Docker, Buildx, or other container tools.
# ───────────────────────────────────────────────────────────────────
echo "TODO: set up container toolchain"
# exit 1 # Uncomment when enforcing implementation

- name: "# TODO: Build container"
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3
- name: Log in to GitHub Container Registry
if: ${{ inputs.push }}
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push container
uses: docker/build-push-action@2cdde99a3119bfeb512642f4c2201b17b620eeff # v5
with:
context: .
push: ${{ inputs.push }}
load: ${{ !inputs.push }}
tags: ghcr.io/${{ github.repository }}:${{ inputs.build_type }}-${{ github.sha }},ghcr.io/${{
github.repository }}:latest
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Export outputs
id: build
run: |
# ───────────────────────────────────────────────────────────────────
# PLACEHOLDER β€” Build the container image.
# Example: docker build -t "my-app:${{ inputs.build_type }}" .
# ───────────────────────────────────────────────────────────────────
echo "TODO: build container for ${{ inputs.build_type }}"

IMAGE_NAME="my-app"
IMAGE_TAG="${{ inputs.build_type }}-${{ github.sha }}"

echo "image_name=${IMAGE_NAME}" >> "$GITHUB_OUTPUT"
echo "image_tag=${IMAGE_TAG}" >> "$GITHUB_OUTPUT"
# exit 1 # Uncomment when enforcing implementation
run: |-
echo "image_name=ghcr.io/${{ github.repository }}" >> "$GITHUB_OUTPUT"
echo "image_tag=${{ inputs.build_type }}-${{ github.sha }}" >> "$GITHUB_OUTPUT"
Loading
Loading