-
Notifications
You must be signed in to change notification settings - Fork 1
build: add .dev-kit submodule (TAX-102) #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
08cd517
62360fb
349844b
55290fe
2c92030
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # .editorconfig — Shared editor settings for TaxCloud repos. | ||
| # | ||
| # Installed by .dev-kit/install.sh as .editorconfig in the repo root. | ||
| # Most editors (VS Code, JetBrains, vim, etc.) respect this natively | ||
| # or via plugin. See https://editorconfig.org | ||
| # | ||
| # Like .gitattributes, this is committed and applies to all contributors. | ||
|
|
||
| root = true | ||
|
|
||
| # Default: 2-space indent, UTF-8, LF, trim trailing whitespace | ||
| [*] | ||
| charset = utf-8 | ||
| end_of_line = lf | ||
| indent_style = space | ||
| indent_size = 2 | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true | ||
|
|
||
| # Makefiles require tabs | ||
| [Makefile] | ||
| indent_style = tab | ||
|
|
||
| [*.mk] | ||
| indent_style = tab | ||
|
|
||
| # Awk: tabs (idiomatic) | ||
| [*.awk] | ||
| indent_style = tab | ||
|
|
||
| # Go: tabs (gofmt standard) | ||
| [*.go] | ||
| indent_style = tab | ||
|
|
||
| # Shell scripts: 4-space indent (Google style, widely adopted) | ||
| [*.sh] | ||
| indent_size = 4 | ||
|
|
||
| # YAML: 2-space (standard) | ||
| [*.{yml,yaml}] | ||
| indent_size = 2 | ||
|
|
||
| # Markdown: preserve trailing whitespace (line breaks) | ||
| [*.md] | ||
| trim_trailing_whitespace = false | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,114 @@ | ||
| # Exclude dev/CI files from git archive (GitHub release ZIPs) | ||
| .gitignore export-ignore | ||
| .gitattributes export-ignore | ||
| .github/ export-ignore | ||
| .cursorrules export-ignore | ||
| Test/ export-ignore | ||
| Makefile export-ignore | ||
| run-test.sh export-ignore | ||
| scripts/ export-ignore | ||
| docs/images/ export-ignore | ||
| # .gitattributes — Shared line-ending, diff, and merge settings. | ||
| # | ||
| # Installed by .dev-kit/install.sh as .gitattributes in the repo root. | ||
| # Committed to the repo, so these rules apply to all contributors | ||
| # regardless of their local git config. | ||
| # | ||
| # This file makes core.autocrlf largely irrelevant: the rules below | ||
| # override it on a per-path basis, which is more precise and portable. | ||
|
|
||
| # ============================================================================= | ||
| # Line Endings | ||
| # ============================================================================= | ||
| # Normalize to LF on commit, use platform-native on checkout. | ||
| # This single rule prevents most cross-platform line-ending bugs. | ||
| * text=auto | ||
|
|
||
| # Force LF for files that break with CRLF (scripts, configs, Makefiles). | ||
| # A Windows checkout with CRLF in a shell script is a runtime error. | ||
| *.sh text eol=lf | ||
| *.bash text eol=lf | ||
| *.awk text eol=lf | ||
| Makefile text eol=lf | ||
| *.mk text eol=lf | ||
| *.yml text eol=lf | ||
| *.yaml text eol=lf | ||
| *.json text eol=lf | ||
| *.toml text eol=lf | ||
| Dockerfile text eol=lf | ||
| *.dockerfile text eol=lf | ||
|
|
||
| # ============================================================================= | ||
| # Binary Files | ||
| # ============================================================================= | ||
| # Prevent git from applying line-ending conversion or textual merge | ||
| # to files that aren't text. Without these rules, git may corrupt | ||
| # binaries by "fixing" line endings. | ||
|
|
||
| # Images | ||
| *.png binary | ||
| *.jpg binary | ||
| *.jpeg binary | ||
| *.gif binary | ||
| *.ico binary | ||
| *.webp binary | ||
| *.svg binary | ||
|
|
||
| # Fonts | ||
| *.woff binary | ||
| *.woff2 binary | ||
| *.ttf binary | ||
| *.otf binary | ||
| *.eot binary | ||
|
|
||
| # Archives | ||
| *.zip binary | ||
| *.tar binary | ||
| *.tar.gz binary | ||
| *.tgz binary | ||
| *.gz binary | ||
|
|
||
| # Documents | ||
| *.pdf binary | ||
|
|
||
| # Compiled binaries (extensionless) | ||
| # Go, Rust, and C projects typically output to bin/ or dist/. | ||
| # Mark these directories as binary to prevent line-ending corruption. | ||
| bin/** binary | ||
| dist/** binary | ||
| out/** binary | ||
|
|
||
| # Other binary formats that lack common extensions | ||
| *.wasm binary | ||
| *.pb binary | ||
| *.pyc binary | ||
| *.so binary | ||
| *.dylib binary | ||
| *.dll binary | ||
| *.exe binary | ||
|
|
||
| # ============================================================================= | ||
| # Better Diffs | ||
| # ============================================================================= | ||
| # Tell git which language driver to use for diff hunk headers. | ||
| # Instead of showing the nearest line, git shows the enclosing | ||
| # function/class name — much easier to orient yourself in a diff. | ||
| *.go diff=golang | ||
| *.py diff=python | ||
| *.rb diff=ruby | ||
| *.html diff=html | ||
| *.htm diff=html | ||
| *.css diff=css | ||
| *.md diff=markdown | ||
| *.markdown diff=markdown | ||
|
|
||
| # ============================================================================= | ||
| # Lock Files | ||
| # ============================================================================= | ||
| # Generated lock files produce huge, unreadable diffs. Suppress the | ||
| # diff output (they still show as changed, just without the noise). | ||
| package-lock.json -diff | ||
| yarn.lock -diff | ||
| pnpm-lock.yaml -diff | ||
| go.sum -diff | ||
| Cargo.lock -diff | ||
| Gemfile.lock -diff | ||
| poetry.lock -diff | ||
| composer.lock -diff | ||
|
|
||
| # Merge strategy: lock files should be regenerated, not merged. | ||
| # "ours" keeps the current branch's version; the developer then | ||
| # re-runs the package manager to reconcile. | ||
| package-lock.json merge=ours | ||
| yarn.lock merge=ours | ||
| pnpm-lock.yaml merge=ours | ||
|
Comment on lines
+105
to
+114
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 All The old Prompt for agentsWas this helpful? React with 👍 or 👎 to provide feedback. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # Dependabot configuration — generated by .dev-kit/ci/scaffold.sh | ||
| # Source: .dev-kit/ci/templates/dependabot.yml | ||
| # Keeps GitHub Actions and submodules up to date. | ||
|
|
||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: github-actions | ||
| directory: / | ||
| schedule: | ||
| interval: weekly | ||
| groups: | ||
| actions: | ||
| patterns: ["*"] | ||
|
|
||
| - package-ecosystem: gitsubmodule | ||
| directory: / | ||
| schedule: | ||
| interval: weekly |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Auto-merge .dev-kit submodule updates — generated by .dev-kit/ci/scaffold.sh | ||
| # Source: .dev-kit/ci/templates/auto-merge-devkit.yml | ||
| # Automatically merges Dependabot PRs that bump the .dev-kit submodule | ||
| # after CI passes. Requires Dependabot to be configured (see dependabot.yml). | ||
|
|
||
| name: Auto-merge .dev-kit | ||
|
|
||
| on: pull_request | ||
|
|
||
| permissions: | ||
| contents: write | ||
| pull-requests: write | ||
|
|
||
| jobs: | ||
| auto-merge: | ||
| name: Auto-merge .dev-kit updates | ||
| if: github.actor == 'dependabot[bot]' | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Dependabot metadata | ||
| id: meta | ||
| uses: dependabot/fetch-metadata@v2 | ||
| with: | ||
| github-token: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Auto-merge .dev-kit submodule bumps | ||
| if: steps.meta.outputs.dependency-names == '.dev-kit' | ||
| run: gh pr merge --auto --squash "$PR_URL" | ||
| env: | ||
| PR_URL: ${{ github.event.pull_request.html_url }} | ||
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| # CI workflow — generated by .dev-kit/ci/scaffold.sh | ||
| # Source: .dev-kit/ci/templates/ci.yml | ||
| # Runs lint, test, and build on every push and pull request. | ||
| # | ||
| # Relies on standard Make targets from .dev-kit/mk/common.mk. | ||
| # Customize behavior by defining _lint, _test, _build in your Makefile. | ||
|
|
||
| name: CI | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| branches: [main] | ||
|
|
||
| concurrency: | ||
| group: ci-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| ci: | ||
| name: Lint / Test / Build | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: true | ||
|
|
||
| - name: Lint | ||
| run: make lint | ||
|
|
||
| - name: Test | ||
| run: make test | ||
|
|
||
| - name: Build | ||
| run: make build |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| # Release workflow — generated by .dev-kit/ci/scaffold.sh | ||
| # Source: .dev-kit/ci/templates/release.yml | ||
| # Creates a GitHub release when a version tag is pushed. | ||
| # | ||
| # Tag format: v1.2.3 | ||
|
|
||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: ['v*'] | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| release: | ||
| name: Create Release | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: true | ||
|
|
||
| - name: Build | ||
| run: make build | ||
|
|
||
| - name: Create GitHub Release | ||
| uses: softprops/action-gh-release@v2 | ||
| with: | ||
| generate_release_notes: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| [submodule ".dev-kit"] | ||
| path = .dev-kit | ||
| url = git@github.com:FedTax/.dev-kit.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴
.editorconfigdefault 2-space indent applies to PHP files, violating.cursorrules4-space mandateThe
.cursorrulesfile explicitly states under Code Style Guidelines: "Use proper indentation (4 spaces)". The new.editorconfigsetsindent_size = 2as the global default with no[*.php]section to override it. Since the glob[*]matches all files including*.php, editors respecting.editorconfigwill auto-format PHP code with 2-space indentation. All existing PHP files in the project (e.g.Model/Tax.php,Model/Api.php) use 4-space indentation per PSR-2. This configuration will actively cause new contributions to use the wrong indentation style.Prompt for agents
Was this helpful? React with 👍 or 👎 to provide feedback.