Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a33d90e
Remove hardcoded OpenRegister additional-apps from code-quality workf…
WilcoLouwerse Mar 20, 2026
b28c9a1
Add appspec/, openspec/ scaffold and update README to Procest-style t…
WilcoLouwerse Mar 20, 2026
d6ff768
Add openspec/test-site-results image patterns to .gitignore
WilcoLouwerse Mar 20, 2026
8b59020
feat: add settings.local.json with read-only permission allowlist for…
WilcoLouwerse Mar 22, 2026
723ee35
fix: resolve phpcs comment style violations in Application.php
WilcoLouwerse Mar 22, 2026
9bbcb68
chore: add composer.lock
WilcoLouwerse Mar 22, 2026
22bc111
chore: add package-lock.json and missing eslint typescript plugin
WilcoLouwerse Mar 22, 2026
c99de6a
fix: resolve npm dependency conflicts and add missing stylelint config
WilcoLouwerse Mar 22, 2026
f395535
fix: add phpunit config and test scaffolding
WilcoLouwerse Mar 22, 2026
31156db
feat: add Newman integration test placeholder
WilcoLouwerse Mar 22, 2026
2ec62b3
fix: suppress PHPMD UnusedFormalParameter for register() stub
WilcoLouwerse Mar 22, 2026
be02e73
feat: enable phpmetrics, phpunit, and newman in CI workflow
WilcoLouwerse Mar 22, 2026
b7008e2
fix: use CI-standard Newman variable names (base_url, admin_user, adm…
WilcoLouwerse Mar 22, 2026
61163e9
ci: add lint-check workflow to satisfy org branch protection ruleset
WilcoLouwerse Mar 22, 2026
a03e07f
Merge pull request #2 from ConductionNL/feature/appspec-openspec-scaf…
WilcoLouwerse Mar 23, 2026
b71a6a3
fix: upgrade libxmljs2 to 0.37.0 via npm overrides to resolve critica…
WilcoLouwerse Mar 23, 2026
2c3d666
Merge pull request #3 from ConductionNL/development
WilcoLouwerse Mar 23, 2026
4880a75
feat: add missing template files to match app-create/app-verify skill…
WilcoLouwerse Mar 23, 2026
c2bcea3
feat: add openspec/app-config.json for app-explore and app-verify skills
WilcoLouwerse Mar 23, 2026
6640a25
fix: add Makefile dev-link target and fix stale appspec references in…
WilcoLouwerse Mar 23, 2026
64aea50
docs: improve README accuracy and add troubleshooting section
WilcoLouwerse Mar 23, 2026
f64ac11
Fix dashboard route and add starter dashboard UI
WilcoLouwerse Mar 23, 2026
9e647ca
fix: ignore registerRepairStep in PHPStan until OCP stub includes it
WilcoLouwerse Mar 23, 2026
9c3bc9b
ci: run Code Quality and Lint Check on pull requests to beta
WilcoLouwerse Mar 23, 2026
a711e1e
Merge pull request #6 from ConductionNL/development
WilcoLouwerse Mar 23, 2026
4aed6da
fix(ci): inline branch-protection logic so check is named 'check-branch'
WilcoLouwerse Mar 23, 2026
94fb923
Revert "fix(ci): inline branch-protection logic so check is named 'ch…
WilcoLouwerse Mar 23, 2026
c6e9faa
fix: disable branch-protection check on main until org ruleset is upd…
WilcoLouwerse Mar 24, 2026
8593128
style: reformat branch list for readability
WilcoLouwerse Mar 24, 2026
66045ae
Merge pull request #7 from ConductionNL/development
WilcoLouwerse Mar 24, 2026
4ef4ed1
revert: undo branch-protection workflow changes
WilcoLouwerse Mar 24, 2026
a67fe05
Merge pull request #9 from ConductionNL/development
WilcoLouwerse Mar 24, 2026
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
45 changes: 45 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"permissions": {
"allow": [
"Bash(composer run-script:*)",
"Bash(composer phpcs:*)",
"Bash(composer phpmd:*)",
"Bash(composer psalm:*)",
"Bash(composer phpcs:fix:*)",
"Bash(./vendor/bin/phpmd:*)",
"Bash(cat:*)",
"Bash(echo:*)",
"Bash(./vendor/bin/phpcs:*)",
"Bash(./vendor/bin/phpcbf:*)",
"Bash(./vendor/bin/psalm:*)",
"Bash(sudo chown:*)",
"Bash(xargs -I {} sh -c 'echo \"\"$\\(grep -c \"\"@SuppressWarnings\\(PHPMD\"\" {} 2>/dev/null\\) {}\"\"')",
"Bash(docker ps:*)",
"Bash(docker exec:*)",
"Bash(./run-tests.sh:*)",
"Bash(grep:*)",
"Bash(ls:*)",
"Bash(git log:*)",
"Bash(git status:*)",
"Bash(git diff:*)",
"Bash(git show:*)",
"Bash(git branch:*)",
"Bash(git rev-parse:*)",
"Bash(git describe:*)",
"Bash(git tag:*)",
"Bash(git blame:*)",
"Bash(git stash list:*)",
"Bash(git shortlog:*)",
"Bash(git remote:*)",
"Bash(git -C:*)",
"Bash(git fetch:*)",
"Bash(which:*)",
"Bash(find:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(wc:*)",
"Bash(stat:*)",
"Bash(jq:*)"
]
}
}
64 changes: 64 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Auto detect text files and perform LF normalization
* text=auto

# Source code - always use LF
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
*.mjs text eol=lf
*.cjs text eol=lf

# Configuration files - always use LF
*.json text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.toml text eol=lf
*.xml text eol=lf

# Styles - always use LF
*.css text eol=lf
*.scss text eol=lf
*.sass text eol=lf
*.less text eol=lf

# HTML and templates - always use LF
*.html text eol=lf
*.htm text eol=lf
*.svg text eol=lf

# Documentation - always use LF
*.md text eol=lf
*.txt text eol=lf
*.rtf text eol=lf

# Docker and shell scripts - always use LF
Dockerfile text eol=lf
*.dockerfile text eol=lf
*.sh text eol=lf

# Git files - always use LF
.gitattributes text eol=lf
.gitignore text eol=lf
.gitmodules text eol=lf

# Windows script files - use CRLF
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

# Binary files - do not modify
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.webp binary
*.pdf binary
*.woff binary
*.woff2 binary
*.ttf binary
*.eot binary
*.zip binary
*.gz binary
*.tar binary
9 changes: 5 additions & 4 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [main, development, feature/**, bugfix/**, hotfix/**]
pull_request:
branches: [main, master, development]
branches: [main, master, development, beta]
workflow_dispatch:

jobs:
Expand All @@ -17,10 +17,11 @@ jobs:
nextcloud-test-refs: '["stable31", "stable32"]'
enable-psalm: true
enable-phpstan: true
enable-phpmetrics: false
enable-phpmetrics: true
enable-frontend: true
enable-eslint: true
enable-phpunit: true
enable-newman: false
additional-apps: '[{"repo":"ConductionNL/openregister","app":"openregister","ref":"main"}]'
enable-newman: true
# additional-apps: '[]' # Add app dependencies here if needed, e.g.:
# additional-apps: '[{"repo":"ConductionNL/openregister","app":"openregister","ref":"main"}]'
enable-sbom: true
22 changes: 22 additions & 0 deletions .github/workflows/pull-request-lint-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Lint Check

on:
pull_request:
branches:
- development
- main
- beta

jobs:
lint-check:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Install dependencies
run: npm ci

- name: Linting
run: npm run lint
87 changes: 85 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,90 @@
/.idea/
/*.iml
*.Identifier
.phphunit.result.cache

/vendor/
/vendor-bin/*/vendor/

/.php-cs-fixer.cache
/tests/.phpunit.cache
/.phpunit.cache
.phpunit.cache/

/node_modules/
/website/node_modules/
/website/.docusaurus/
/js/
/vendor/
/custom_apps/
/config/

/coverage/
/coverage-frontend/

# Quality reports
/quality-reports/
quality-baseline.json
/phpmetrics/
/phpmetrics-deps/

# PHPCS/Psalm output files (not config files)
phpcs-*.json
phpcs-*.txt
psalm-errors.json
psalm-output.json
psalm-full-output.json
phpqa_output.log

# Data files
*.csv
*.xls
*.xlsx

# Files with unusual extensions or no extensions that could be mistakes
**/PR *
**/adds *
**/implements *
**/ALL *
**/endpoints *
**/*Analysis*
**/*references*
**/*encoding*
**/ter
**/clearCache*
**/update*Settings*
**/rebase*
**/setup*

# Temporary test files that shouldn't be committed
simple-solr-test.php
test-solr-connection.php

# Files with unusual extensions or no extensions that could be mistakes
**/PR *
**/adds *
**/implements *

phpqa/

# Docker AI models (too large for git)
docker/dolphin/models/

# Issues folder should be tracked
!issues/
!issues/**

/docusaurus/node_modules/
/docusaurus/build/
/docusaurus/.docusaurus/
/test-results/screenshots/
# Test screenshots — images generated by browser test commands (test-app, run-test-scenario)
# Only images are ignored; markdown reports and scenario files are kept in git.
test-results/**/*.png
test-results/**/*.jpg
test-results/**/*.jpeg
test-results/**/*.gif
test-results/**/*.webp
openspec/test-site-results/**/*.png
openspec/test-site-results/**/*.jpg
openspec/test-site-results/**/*.jpeg
openspec/test-site-results/**/*.gif
openspec/test-site-results/**/*.webp
38 changes: 38 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"overrides": [
{
"files": ["*.json"],
"options": {
"parser": "json",
"printWidth": 120,
"tabWidth": 2
}
},
{
"files": ["*.ts", "*.tsx"],
"options": {
"parser": "typescript",
"printWidth": 120,
"trailingComma": "all",
"tabWidth": 2,
"singleQuote": false
}
},
{
"files": ["*.css", "*.scss"],
"options": {
"parser": "css",
"tabWidth": 2
}
},
{
"files": ["conduction.css"],
"options": {
"parser": "css",
"trailingComma": "all",
"tabWidth": 2,
"printWidth": 150
}
}
]
}
29 changes: 29 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"files.autoSave": "afterDelay",
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true,
"eslint.format.enable": true,
"cSpell.words": [
"depubliceren",
"Depubliceren",
"gedepubliceerd",
"Matadata",
"nextcloud",
"opencatalogi",
"organisation",
"Organisation",
"organisations",
"Organisations",
"pinia",
"Toegangs"
],
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[php]": {
"editor.defaultFormatter": "DEVSENSE.phptools-vscode"
},
}
21 changes: 21 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Makefile for nextcloud-app-template development

# Create a relative symlink in the parent directory so Nextcloud can find the
# app by its ID (app-template) even though the repo is cloned as nextcloud-app-template.
# Nextcloud requires the directory name to match the <id> in appinfo/info.xml.
dev-link:
@if [ -L ../app-template ]; then \
echo "Symlink ../app-template already exists."; \
else \
ln -s nextcloud-app-template ../app-template && \
echo "Created symlink: apps-extra/app-template -> nextcloud-app-template"; \
fi

dev-unlink:
@if [ -L ../app-template ]; then \
rm ../app-template && echo "Removed symlink ../app-template"; \
else \
echo "No symlink found at ../app-template."; \
fi

.PHONY: dev-link dev-unlink
Loading
Loading