From 4354c475cabd481eb26e1d564fedeb21dbab7593 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:14 +0000 Subject: [PATCH 01/10] fix: move policy-enforcement.yml to correct workflows path --- .github/workflows/policy-enforcement.yml | 68 ++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/policy-enforcement.yml diff --git a/.github/workflows/policy-enforcement.yml b/.github/workflows/policy-enforcement.yml new file mode 100644 index 0000000..5471718 --- /dev/null +++ b/.github/workflows/policy-enforcement.yml @@ -0,0 +1,68 @@ +name: Repository Policy Enforcement + +on: + pull_request: + push: + branches: [ "main" ] + +permissions: + contents: read + pull-requests: read + checks: write + +concurrency: + group: policy-${{ github.ref }} + cancel-in-progress: true + +jobs: + policy-checks: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + # ๐Ÿ”น Enforce branch naming convention + - name: Validate branch name + if: github.event_name == 'pull_request' + run: | + BRANCH_NAME="${{ github.head_ref }}" + echo "Checking branch: $BRANCH_NAME" + if [[ ! "$BRANCH_NAME" =~ ^(main|feature\/.+|bugfix\/.+|hotfix\/.+|chore\/.+)$ ]]; then + echo "โŒ Invalid branch naming convention" + exit 1 + fi + + # ๐Ÿ”น Prevent large files (Excel models can get bigโ€”control it) + - name: Check for large files + run: | + MAX_SIZE=5000000 + for file in $(git ls-files); do + size=$(stat -c%s "$file") + if [ $size -gt $MAX_SIZE ]; then + echo "โŒ File $file exceeds 5MB limit" + exit 1 + fi + done + + # ๐Ÿ”น Ensure required project structure exists + - name: Validate repo structure + run: | + REQUIRED_DIRS=("model" "docs" "screenshots") + for dir in "${REQUIRED_DIRS[@]}"; do + if [ ! -d "$dir" ]; then + echo "โŒ Missing required directory: $dir" + exit 1 + fi + done + + # ๐Ÿ”น Ensure README exists + - name: Check README + run: | + if [ ! -f "README.md" ]; then + echo "โŒ README.md is missing" + exit 1 + fi + + - name: Policy checks passed + run: echo "โœ… All policy checks passed" From 591cfffcd422259d9f40f0bc8083f93a77d438f0 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:21 +0000 Subject: [PATCH 02/10] fix: remove misplaced nested policy-enforcement.yml --- .../.github/workflows/policy-enforcement.yml | 68 ------------------- 1 file changed, 68 deletions(-) delete mode 100644 .github/workflows/.github/workflows/policy-enforcement.yml diff --git a/.github/workflows/.github/workflows/policy-enforcement.yml b/.github/workflows/.github/workflows/policy-enforcement.yml deleted file mode 100644 index 5471718..0000000 --- a/.github/workflows/.github/workflows/policy-enforcement.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Repository Policy Enforcement - -on: - pull_request: - push: - branches: [ "main" ] - -permissions: - contents: read - pull-requests: read - checks: write - -concurrency: - group: policy-${{ github.ref }} - cancel-in-progress: true - -jobs: - policy-checks: - runs-on: ubuntu-latest - - steps: - - name: Checkout repo - uses: actions/checkout@v4 - - # ๐Ÿ”น Enforce branch naming convention - - name: Validate branch name - if: github.event_name == 'pull_request' - run: | - BRANCH_NAME="${{ github.head_ref }}" - echo "Checking branch: $BRANCH_NAME" - if [[ ! "$BRANCH_NAME" =~ ^(main|feature\/.+|bugfix\/.+|hotfix\/.+|chore\/.+)$ ]]; then - echo "โŒ Invalid branch naming convention" - exit 1 - fi - - # ๐Ÿ”น Prevent large files (Excel models can get bigโ€”control it) - - name: Check for large files - run: | - MAX_SIZE=5000000 - for file in $(git ls-files); do - size=$(stat -c%s "$file") - if [ $size -gt $MAX_SIZE ]; then - echo "โŒ File $file exceeds 5MB limit" - exit 1 - fi - done - - # ๐Ÿ”น Ensure required project structure exists - - name: Validate repo structure - run: | - REQUIRED_DIRS=("model" "docs" "screenshots") - for dir in "${REQUIRED_DIRS[@]}"; do - if [ ! -d "$dir" ]; then - echo "โŒ Missing required directory: $dir" - exit 1 - fi - done - - # ๐Ÿ”น Ensure README exists - - name: Check README - run: | - if [ ! -f "README.md" ]; then - echo "โŒ README.md is missing" - exit 1 - fi - - - name: Policy checks passed - run: echo "โœ… All policy checks passed" From c5c6861c6e1e1630abccc0022744740b6e931456 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:28 +0000 Subject: [PATCH 03/10] chore: scaffold model directory --- model/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 model/.gitkeep diff --git a/model/.gitkeep b/model/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/model/.gitkeep @@ -0,0 +1 @@ + From efba7ec2ef5ecbbd452db92bd6806615c127ff75 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:29 +0000 Subject: [PATCH 04/10] chore: scaffold scripts directory --- scripts/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 scripts/.gitkeep diff --git a/scripts/.gitkeep b/scripts/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/scripts/.gitkeep @@ -0,0 +1 @@ + From ecf5cbb9f6118768d1e0e6313cc528dba618ba44 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:30 +0000 Subject: [PATCH 05/10] chore: scaffold data directory --- data/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/.gitkeep diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/data/.gitkeep @@ -0,0 +1 @@ + From 8191c478cddef89634b52248667245d5c935db07 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:30 +0000 Subject: [PATCH 06/10] chore: scaffold screenshots directory --- screenshots/.gitkeep | 1 + 1 file changed, 1 insertion(+) create mode 100644 screenshots/.gitkeep diff --git a/screenshots/.gitkeep b/screenshots/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/screenshots/.gitkeep @@ -0,0 +1 @@ + From 3f94134d897fc834f9530a309840b40d775645ce Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:40 +0000 Subject: [PATCH 07/10] docs: add METHODOLOGY.md scaffold --- docs/METHODOLOGY.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 docs/METHODOLOGY.md diff --git a/docs/METHODOLOGY.md b/docs/METHODOLOGY.md new file mode 100644 index 0000000..9918495 --- /dev/null +++ b/docs/METHODOLOGY.md @@ -0,0 +1,15 @@ +# Methodology + +This document describes the methodology used in the Financial Model API Dev Tools project. + +## Overview + +_To be completed._ + +## Modeling Approach + +_To be completed._ + +## Assumptions + +See [ASSUMPTIONS.md](ASSUMPTIONS.md) for a full list of assumptions. From 0bdbf9fd4d812308bc93a1bd398fa787625595d9 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:41 +0000 Subject: [PATCH 08/10] docs: add ASSUMPTIONS.md scaffold --- docs/ASSUMPTIONS.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/ASSUMPTIONS.md diff --git a/docs/ASSUMPTIONS.md b/docs/ASSUMPTIONS.md new file mode 100644 index 0000000..b06a286 --- /dev/null +++ b/docs/ASSUMPTIONS.md @@ -0,0 +1,11 @@ +# Assumptions + +This document lists the key assumptions underlying the financial models in this project. + +## General Assumptions + +_To be completed._ + +## Data Assumptions + +_To be completed._ From 11b752c444f0f10d589520d1d3a5b98dfd23b6c5 Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 08:46:42 +0000 Subject: [PATCH 09/10] docs: add CONTRIBUTING.md scaffold --- CONTRIBUTING.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f8d1d85 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Contributing + +Thank you for your interest in contributing to this project! + +## Getting Started + +1. Fork the repository +2. Create a branch following the naming convention: `feature/`, `bugfix/`, `hotfix/`, or `chore/` +3. Make your changes +4. Open a pull request against `main` + +## Branch Naming + +Branches must follow the pattern: +- `feature/` +- `bugfix/` +- `hotfix/` +- `chore/` + +## Code Standards + +- Keep files under 5MB +- Ensure required directories exist: `model/`, `docs/`, `scripts/`, `data/`, `screenshots/` +- All documentation should be in Markdown format From 31bc6f965bfc9e4757dfb721ea41a97c6450f56b Mon Sep 17 00:00:00 2001 From: Adonis Jimenez <233446156+mr-adonis-jimenez@users.noreply.github.com> Date: Sun, 29 Mar 2026 09:11:29 +0000 Subject: [PATCH 10/10] fix: add fix/, ci/, docs/, refactor/ to allowed branch naming patterns --- .github/workflows/policy-enforcement.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/policy-enforcement.yml b/.github/workflows/policy-enforcement.yml index 5471718..5894884 100644 --- a/.github/workflows/policy-enforcement.yml +++ b/.github/workflows/policy-enforcement.yml @@ -28,7 +28,7 @@ jobs: run: | BRANCH_NAME="${{ github.head_ref }}" echo "Checking branch: $BRANCH_NAME" - if [[ ! "$BRANCH_NAME" =~ ^(main|feature\/.+|bugfix\/.+|hotfix\/.+|chore\/.+)$ ]]; then + if [[ ! "$BRANCH_NAME" =~ ^(main|feature\/.+|fix\/.+|bugfix\/.+|hotfix\/.+|chore\/.+|ci\/.+|docs\/.+|refactor\/.+)$ ]]; then echo "โŒ Invalid branch naming convention" exit 1 fi @@ -65,4 +65,4 @@ jobs: fi - name: Policy checks passed - run: echo "โœ… All policy checks passed" + run: echo "โœ… All policy checks passed" \ No newline at end of file