Skip to content

Commit d8b2a61

Browse files
committed
Release v2.1.0: MysqlAes encryptor and demo enhancements.
1 parent c131157 commit d8b2a61

102 files changed

Lines changed: 5165 additions & 1181 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/rules/00-global.mdc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
description: Global rules for Symfony bundle repository
3+
alwaysApply: true
4+
---
5+
6+
Assume this repository is a reusable Symfony bundle.
7+
8+
Prefer:
9+
- minimal, local changes
10+
- starting with files already open or explicitly mentioned
11+
- the smallest viable patch first
12+
- preserving backward compatibility unless explicitly requested otherwise
13+
14+
Do not scan the whole repository unless explicitly required.
15+
Do not read vendor, cache, generated, build, coverage, lock, or binary files unless strictly needed for the task (for example dependency/release sync).
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
description: PHP and Symfony bundle rules
3+
globs:
4+
- "src/**/*.php"
5+
- "config/**/*.php"
6+
- "config/**/*.yaml"
7+
- "config/**/*.yml"
8+
alwaysApply: false
9+
---
10+
11+
Target this bundle compatibility by default: PHP >=8.1 and Symfony 6/7/8.
12+
13+
Prefer:
14+
- modern PHP with strict typing and explicit return types
15+
- PSR-12 coding style
16+
- final classes by default
17+
- readonly where appropriate
18+
- constructor injection
19+
- small focused services
20+
- framework conventions over custom abstractions
21+
- preserving public extension points
22+
- keeping DI extension, compiler pass wiring, and form type options backward compatible
23+
- PHPDoc in English for non-trivial classes, methods, and complex behavior
24+
25+
Do not introduce BC breaks unless explicitly requested.
26+
Do not add PHPDoc in Spanish.
27+
Do not rename public services, configuration keys, or Twig integrations without warning.
28+
Do not touch unrelated namespaces or files.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: Twig templates and public bundle assets
3+
globs:
4+
- "templates/**/*.twig"
5+
- "src/**/Resources/views/**/*.twig"
6+
- "src/Resources/public/**/*"
7+
alwaysApply: false
8+
---
9+
10+
Prefer:
11+
- small, backward-compatible template and public asset changes
12+
- preserving current block structure
13+
- local DOM updates
14+
- reusing existing classes, ids, and hooks
15+
- minimal asset changes
16+
17+
Do not edit generated files inside src/Resources/public/build.
18+
Do not rewrite entire templates or public asset trees for a local change.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
description: Frontend rules for bundle assets with TypeScript, Vite and Pentatrion
3+
globs:
4+
- "src/Resources/assets/**/*.ts"
5+
- "src/Resources/assets/**/*.tsx"
6+
- "src/Resources/assets/**/*.js"
7+
- "src/Resources/assets/**/*.jsx"
8+
- "src/Resources/assets/**/*.vue"
9+
- "src/Resources/assets/**/*.scss"
10+
- "src/Resources/assets/**/*.sass"
11+
- "src/Resources/assets/**/*.css"
12+
- "vite.config.ts"
13+
- "vite.config.js"
14+
alwaysApply: false
15+
---
16+
17+
Work only on the requested entrypoint, module, component, or stylesheet.
18+
19+
Prefer:
20+
- strict TypeScript typing
21+
- small modules and focused edits
22+
- preserving the current Vite entrypoint strategy
23+
- editing existing initialization code instead of creating parallel bootstraps
24+
- assuming assets live under src/Resources/assets
25+
- assuming generated files may end up under src/Resources/public/build
26+
- preserving integration points used by Twig or Symfony rendering
27+
- JSDoc in English for exported APIs, non-obvious functions, and complex behavior
28+
29+
Do not inspect dist, build, minified, or generated assets.
30+
Do not add JSDoc in Spanish.
31+
Do not edit generated build output.
32+
Do not rewrite the whole frontend architecture unless explicitly requested.

.cursor/rules/40-tests-quality.mdc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
description: Tests and quality rules
3+
globs:
4+
- "tests/**/*.php"
5+
- "tests/**/*.ts"
6+
- "tests/**/*.js"
7+
- "src/Resources/assets/**/*.test.ts"
8+
- "src/Resources/assets/**/*.spec.ts"
9+
- "src/Resources/assets/**/*.test.js"
10+
- "src/Resources/assets/**/*.spec.js"
11+
- "phpunit.xml*"
12+
- "vitest.config.*"
13+
- "eslint.config.*"
14+
alwaysApply: false
15+
---
16+
17+
When changing behavior, prefer adding or updating the nearest relevant test.
18+
19+
Prefer:
20+
- one focused test
21+
- minimal fixture changes
22+
- preserving the existing testing style
23+
- test updates close to the changed behavior
24+
25+
Do not introduce new testing frameworks unless explicitly requested.
26+
Do not rewrite unrelated tests.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
description: Documentation and release notes rules
3+
globs:
4+
- "README.md"
5+
- "docs/**/*.md"
6+
alwaysApply: false
7+
---
8+
9+
Prefer:
10+
- documentation updates aligned with real code changes and current compatibility ranges
11+
- concise, actionable release notes
12+
- updating CHANGELOG and UPGRADING together for notable user-facing changes
13+
- preserving existing document structure and tone
14+
- keeping examples consistent with actual defaults and routes in this bundle
15+
16+
Do not invent features, versions, or commands that are not present in the repository.
17+
Do not remove past release history unless explicitly requested.

.cursorignore

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Dependencies
2+
/vendor/
3+
/node_modules/
4+
5+
# Symfony runtime
6+
/var/
7+
8+
# Build outputs
9+
/dist/
10+
/build/
11+
/coverage/
12+
/.vite/
13+
/.storybook-static/
14+
15+
# Bundle public generated assets
16+
/src/Resources/public/build/
17+
18+
# Caches / analysis
19+
/.php-cs-fixer.cache
20+
/.phpstan.cache
21+
/.psalm/
22+
.phpstan.result.cache
23+
/phpunit.xml.cache
24+
/.phpunit.cache/
25+
26+
# Package manager locks
27+
pnpm-lock.yaml
28+
package-lock.json
29+
yarn.lock
30+
composer.lock
31+
32+
# IDE / local
33+
/.idea/
34+
/.vscode/
35+
/.env
36+
/.env.*
37+
!.env.example
38+
39+
# Heavy / binary / logs
40+
*.log
41+
*.sql
42+
*.sql.gz
43+
*.csv
44+
*.xlsx
45+
*.pdf
46+
*.zip
47+
*.tar
48+
*.gz
49+
*.mp4
50+
*.mov
51+
*.webm
52+
53+
# Secrets
54+
*.pem
55+
*.key
56+
*.p12

.github/copilot-instructions.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## AI contribution guidelines (Nowo Symfony bundle)
2+
3+
Use this when suggesting code, tests, documentation, or CI changes for this repository.
4+
5+
### Scope
6+
7+
- This is a **Symfony bundle** published under `nowo-tech/*` on Packagist.
8+
- Respect the **PHP** and **Symfony** version ranges declared in `composer.json`.
9+
- Prefer **PHP 8 attributes** for configuration and metadata. Do not introduce `doctrine/annotations` for new code.
10+
11+
### Code
12+
13+
- Follow **PSR-12** and project conventions in `.php-cs-fixer.dist.php`.
14+
- Use **strict comparison** (`===`) where appropriate.
15+
- Keep changes **minimal** and consistent with existing patterns in `src/` and `tests/`.
16+
- Align with `composer cs-check`, `composer phpstan`, and `composer test` expectations.
17+
18+
### Documentation
19+
20+
- User-facing documentation is **English** under `docs/` per Nowo bundle standards.
21+
- Only `README.md` at repository root (no extra root markdown files).
22+
23+
### Tests
24+
25+
- Add or update tests for new behaviour; keep coverage in line with README and CI.

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ updates:
1717
labels:
1818
- "dependencies"
1919
- "php"
20+
groups:
21+
symfony:
22+
patterns:
23+
- "symfony/*"
24+
phpstan:
25+
patterns:
26+
- "phpstan/*"
2027
commit-message:
2128
prefix: "chore(deps):"
2229

.github/workflows/pr-lint.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: GitHub PR Lint
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- opened
7+
- edited
8+
- reopened
9+
- synchronize
10+
11+
jobs:
12+
semantic-pr:
13+
name: Validate semantic PR title
14+
runs-on: ubuntu-latest
15+
permissions:
16+
pull-requests: read
17+
steps:
18+
- name: Semantic PR title
19+
uses: amannn/action-semantic-pull-request@v6
20+
env:
21+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)