RSS Git Download  Clone
Editor
Raw Blame History
  AGENTS.md
[//]: #@corifeus-header # 🤖 P3X Gitlist - A decorated enhanced elegant, feature rich and modern private git ui repository viewer [//]: #@corifeus-header:end # GitList - Agent Instructions ## Build & Test Workflow When working on frontend changes (SCSS, JS, Twig templates), always build and let the user test on localhost:8080 before committing. ### Build commands ```bash # Fix Docker root-owned files first (Docker composer creates root-owned files) sudo chown -R $(id -u):$(id -g) build/ public/ node_modules/ # CSS only (fast, ~35s for 27 themes) npx grunt sass # JS only (webpack) npx webpack --mode=production # Full build - NOTE: grunt async webpack task may silently fail, safer to run sass and webpack separately npm run build ``` ### Testing User runs PHP dev server on localhost:8080. After CSS/JS rebuild, user refreshes browser to check. Compare with git.patrikx3.com (production) for visual parity. ### Deploy pipeline ```bash # Full pipeline: fix-perms → publish GitHub release → git commit+push → deploy to ngivr ./secure/deploy-all.sh # Or individually: ./secure/publish.sh # Build + GitHub release ./secure/deploy-ngivr.sh # Deploy latest release to git.ngivr.sygnus.hu ``` ## Server Access See `secure/server-access.md` for server IPs, ports, SSH scripts, and webhook config. ## Architecture - **PHP Backend**: Custom Framework layer (replaced Silex), Pimple container, Symfony components - **Frontend**: Webpack + Grunt, Bootstrap 5 + Bootswatch 5 (SCSS), jQuery 3.7, CodeMirror 5 - **Templates**: Twig with `|t` filter for i18n (7 languages: en, hu, de, fr, it, es, zh) - **Localization**: JSON files in `src/translation/`, language selector in navbar, cookie-based ## Key Constraints - **Twig**: Cannot use `is defined` test freely in Twig 3.24+ (use `is not empty` or pass variables explicitly) - **PHP opcache**: After deploying new PHP files, PHP-FPM must be restarted (`systemctl restart php8.3-fpm`). The webhook on git.patrikx3.com does this automatically. - **Composer platform**: `composer.json` has `"platform": {"php": "8.3.0"}` to keep deps compatible with the ngivr server (PHP 8.3) - **Bootstrap/Bootswatch**: Now on BS5. Old BS3 classes must not be used. See `docs/migration-all-packages.md` for full migration details. - **snackbarjs**: Removed. Replaced with BS5 native Toast via `$.snackbar()` compatibility shim in `bundle.js`. - **Docker permissions**: Docker composer run creates root-owned files in `vendor/`, `node_modules/`, `public/prod/`. Always fix with `sudo chown` before building. ## Translation / i18n - Translation files: `src/translation/{lang}.json` (flat key-value JSON) - Twig: `{{ 'key'|t }}` filter - JS: `window.gitlist.t('key')` function - Add language: create JSON file + add code to `$allowedLangs` in `src/GitList/Application.php` - JSON must be valid - escape `"` inside values, avoid fancy quotes like `„"` or `""` [//]: #@corifeus-footer --- ## 🚀 Quick and Affordable Web Development Services If you want to quickly and affordably develop your next digital project, visit [corifeus.eu](https://corifeus.eu) for expert solutions tailored to your needs. --- ## 🌐 Powerful Online Networking Tool Discover the powerful and free online networking tool at [network.corifeus.com](https://network.corifeus.com). **🆓 Free** Designed for professionals and enthusiasts, this tool provides essential features for network analysis, troubleshooting, and management. Additionally, it offers tools for: - 📡 Monitoring TCP, HTTP, and Ping to ensure optimal network performance and reliability. - 📊 Status page management to track uptime, performance, and incidents in real time with customizable dashboards. All these features are completely free to use. --- ## ❤️ Support Our Open-Source Project If you appreciate our work, consider ⭐ starring this repository or 💰 making a donation to support server maintenance and ongoing development. Your support means the world to us—thank you! --- ### 🌍 About My Domains All my domains, including [patrikx3.com](https://patrikx3.com), [corifeus.eu](https://corifeus.eu), and [corifeus.com](https://corifeus.com), are developed in my spare time. While you may encounter minor errors, the sites are generally stable and fully functional. --- ### 📈 Versioning Policy **Version Structure:** We follow a **Major.Minor.Patch** versioning scheme: - **Major:** 📅 Corresponds to the current year. - **Minor:** 🌓 Set as 4 for releases from January to June, and 10 for July to December. - **Patch:** 🔧 Incremental, updated with each build. **🚨 Important Changes:** Any breaking changes are prominently noted in the readme to keep you informed. --- [**P3X-GITLIST**](https://corifeus.com/gitlist) Build v2026.4.256 [![Donate for PatrikX3 / P3X](https://img.shields.io/badge/Donate-PatrikX3-003087.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QZVM4V6HVZJW6) [![Contact Corifeus / P3X](https://img.shields.io/badge/Contact-P3X-ff9900.svg)](https://www.patrikx3.com/en/front/contact) [![Like Corifeus @ Facebook](https://img.shields.io/badge/LIKE-Corifeus-3b5998.svg)](https://www.facebook.com/corifeus.software) [//]: #@corifeus-footer:end