Skip to content

Commit b81be0a

Browse files
committed
chore: flatten all commits
1 parent 4dba927 commit b81be0a

18 files changed

+2921
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Code Generation
2+
3+
50-75 >= lines we need to modularize and separate concerns better.
4+
5+
- Prefer modular, single-responsibility functions for maintainability.
6+
- Separate concerns: avoid large, monolithic files or classes.
7+
- Use clear, explicit types and interfaces for all public APIs.
8+
- Avoid `any`; use strict TypeScript typing throughout.
9+
- Follow project linting and formatting rules at all times.
10+
- Use named exports/imports; avoid default exports for clarity.
11+
- Write tests for all new code and edge cases.
12+
- Document all exported functions and modules.
13+
- Use async/await for asynchronous code, never callbacks.
14+
- Optimize for readability and maintainability over cleverness.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Commit Messages
2+
3+
Explain with detail what all has changed.
4+
5+
We love emojis 🚂🎛️🧶⏮️📦😂😎
6+
7+
We use emojis in commit messages to make them more expressive and engaging. Here’s how we use them:
8+
9+
x=major, y=minor, z=patch
10+
11+
examples:
12+
13+
```
14+
🚀 Use 👏 emojis, there are many to choose from, conventional commit message format. ex. <emoji, 1-3> <task>(<scope>): <thoughtful commit message>
15+
```
16+
17+
```text
18+
🌟 FEAT: We want a good release. x.Y.z ...
19+
```
20+
21+
or
22+
23+
```text
24+
🐛 FIX: We fixed a bug in the code. x.y.Z ...
25+
```
26+
27+
or
28+
29+
```text
30+
🧹 CHORE: We cleaned up the codebase. x.y.z ...
31+
```
32+
33+
or
34+
35+
```text
36+
🚨 BREAKING CHANGE: We made a change that breaks backward compatibility. X.y.z ...
37+
```
38+
39+
## Commit Message Guidelines
40+
41+
We use semantic-release syntax for messaging.
42+
43+
- 😄 Emojis add clarity and fun to commit messages.
44+
- 🏷️ They help visually categorize the type of change.
45+
- 👀 Emojis make scanning commit history faster and more engaging.
46+
- 🤝 They foster a positive, expressive team culture.
47+
- ⚡️ Emojis can highlight breaking changes or important updates.
48+
- 📚 They make our project history more memorable and welcoming.
49+
50+
- chore: (for changes that do not modify the public API, will not trigger a release)
51+
- fix: (for bug fixes, triggers a patch release)
52+
- feat: (for new features, triggers a minor release)
53+
- BREAKING CHANGE: (in the body or footer, triggers a major release)

.github/.copilot-pull-request-description-instructions.md

Whitespace-only changes.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
# Test Setup
3+
4+
We test using vitest, and typically the `--watch` flag is used to keep the test runner active for continuous feedback during development. Even if the VS Code Vitest extension is installed, we prefer to test using the command line to ensure consistency across environments.
5+
6+
```bash
7+
yarn vitest --watch
8+
9+
```
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
#
2+
name: Setup and Test
3+
4+
description: Common setup and test steps for all workflows
5+
6+
runs:
7+
using: "composite"
8+
steps:
9+
10+
- name: Initial Debug Show working directory and package.json
11+
run: |
12+
pwd && ls -al && cat package.json
13+
shell: bash
14+
15+
- name: Checkout code
16+
uses: actions/checkout@v4.2.2
17+
18+
- name: Post checkout Debug Show working directory and package.json
19+
run: |
20+
pwd && ls -al && cat package.json
21+
shell: bash
22+
23+
# - name: PNPM
24+
# run: corepack enable && corepack prepare pnpm@latest --activate
25+
# run: corepack enable && corepack prepare pnpm@latest --activate
26+
# shell: bash
27+
28+
- name: Setup pnpm
29+
uses: pnpm/action-setup@v4
30+
with:
31+
version: latest
32+
33+
- name: Debug after pnpm action setup, Show working directory and package.json
34+
run: |
35+
pwd && ls -al && cat package.json
36+
shell: bash
37+
38+
- name: Setup CI, Build and Test Package
39+
uses: actions/setup-node@v4
40+
with:
41+
node-version: "lts/*"
42+
cache: "pnpm"
43+
44+
- name: Debug post node, Show working directory and package.json
45+
run: |
46+
pwd && ls -al && cat package.json
47+
shell: bash
48+
49+
- name: Debug pnpm environment
50+
run: |
51+
echo "PATH: $PATH"
52+
echo "NODE VERSION: $(node --version)"
53+
echo "NPM VERSION: $(npm --version)"
54+
echo "PNPM VERSION: $(pnpm --version)"
55+
which pnpm
56+
env | grep -E 'PNPM|NPM|NODE|PATH'
57+
shell: bash
58+
59+
# - name: pnpm help
60+
# run: pnpm help
61+
# shell: bash
62+
63+
- name: Debug Show working directory and package.json
64+
run: |
65+
pwd && ls -al && cat package.json
66+
shell: bash
67+
68+
- name: Install dependencies
69+
run: pnpm install --frozen-lockfile --loglevel debug
70+
shell: bash
71+
72+
- name: Debug post install, Show working directory and package.json
73+
run: |
74+
pwd && ls -al && cat package.json
75+
shell: bash
76+
77+
- name: Run lint
78+
run: |
79+
if [ "$RUN_LINT" = "1" ]; then
80+
pnpm run lint
81+
else
82+
echo "Skipping lint. Set RUN_LINT=1 to enable."
83+
fi
84+
shell: bash
85+
- name: Run build
86+
run: |
87+
if [ "$RUN_BUILD" = "1" ]; then
88+
pnpm run build
89+
else
90+
echo "Skipping build. Set RUN_BUILD=1 to enable."
91+
fi
92+
shell: bash
93+
- name: Run tests
94+
run: |
95+
if [ "$RUN_TEST" = "1" ]; then
96+
pnpm vitest --coverage --reporter=verbose
97+
else
98+
echo "Skipping tests. Set RUN_TEST=1 to enable."
99+
fi
100+
env:
101+
SMOKE: 1
102+
DEBUG: 1
103+
shell: bash

.github/copilot-instructions.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Copilot Instructions
2+
3+
1. Use Copilot for suggestions, not final code.
4+
2. Review all output for correctness and security.
5+
3. Never accept hardcoded secrets or credentials.
6+
4. Prefer clear, explicit, and idiomatic code.
7+
5. Follow project linting and TypeScript rules strictly.
8+
6. Use strict types; avoid `any` unless unavoidable.
9+
7. Do not disable type checks or linting.
10+
8. Use named exports/imports; avoid default exports.
11+
9. Write tests for all new code.
12+
10. Document all public APIs.
13+
11. Use functional patterns and avoid side effects.
14+
12. Use async/await for async code.
15+
13. Handle errors explicitly.
16+
14. Never mutate input arguments.
17+
15. Use ES modules syntax.
18+
16. Keep functions small and focused.
19+
17. Use destructuring where helpful.
20+
18. Do not copy code from external sources without attribution.
21+
19. Avoid cleverness; optimize for maintainability.
22+
20. All code must be reviewed before acceptance.

.github/dependabot.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm" # use npm for pnpm monorepo
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
time: "03:00"
8+
timezone: "America/Los_Angeles"
9+
open-pull-requests-limit: 2
10+
# was 25, now 2 to avoid too many PRs at once
11+
# See: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#open-pull-requests-limit
12+
commit-message:
13+
prefix: "🤖 chore(deps)"
14+
versioning-strategy: increase
15+
allow:
16+
- dependency-type: "all"
17+
labels:
18+
- "dependencies"
19+
# reviewers:
20+
# - "px"
21+
# assignees:
22+
# - "px"
23+
rebase-strategy: auto
24+
ignore:
25+
- dependency-name: "typescript"
26+
update-types: ["version-update:semver-major"]
27+
- dependency-name: "vitest"
28+
# Allow security updates for vitest
29+
# See: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#ignore
30+
# Only ignore version updates, not security updates
31+
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
32+
33+
- package-ecosystem: "github-actions"
34+
directory: "/"
35+
schedule:
36+
# Check for updates to GitHub Actions every X, daily, weekly, ?
37+
interval: "daily"
38+
time: "02:00"
39+
timezone: "America/Los_Angeles"

.github/instructions/general-coding.instructions.md

Whitespace-only changes.

.github/instructions/typescript-react.instructions.md

Whitespace-only changes.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
env:
2+
ACTIONS_STEP_DEBUG: true
3+
ACTIONS_RUNNER_DEBUG: true
4+
RUN_TEST: 0
5+
RUN_BUILD: 0
6+
RUN_LINT: 0
7+
8+
on:
9+
workflow_dispatch:
10+
11+
push:
12+
branches:
13+
- main
14+
- stage
15+
- 'feature/**'
16+
- 'bugfix/**'
17+
- 'fix/**'
18+
- 'hotfix/**'
19+
- 'release/**'
20+
- 'dependabot/**'
21+
- 'renovate/**'
22+
- 'chore/**'
23+
- 'test/**'
24+
pull_request:
25+
types: [labeled, synchronize, opened, reopened, ready_for_review]
26+
branches:
27+
- main
28+
- stage
29+
- 'feature/**'
30+
- 'bugfix/**'
31+
- 'fix/**'
32+
- 'hotfix/**'
33+
- 'release/**'
34+
- 'dependabot/**'
35+
- 'renovate/**'
36+
- 'chore/**'
37+
- 'test/**'
38+
39+
jobs:
40+
call-auto-merge:
41+
# uses: ./.github/workflows/auto-merge.yml
42+
uses: variablesoftware/github-workflows/.github/workflows/auto-merge.yml@main
43+
# uses: variablesoftware/github-workflows/.github/workflows/auto-merge.yml@v1
44+
# uses: variablesoftware/github-workflows/.github/workflows/auto-merge.yml@38038641148ab8eaa7c9be80d9041a6c8c80641e
45+
# secrets:
46+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
48+

0 commit comments

Comments
 (0)