mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-05-01 23:16:31 +02:00
## Add Taskfile for unified dev workflow ### Summary - Introduces [Taskfile](https://taskfile.dev/) as the single CLI entry point for all development workflows across backend, frontend, engine, Docker, and desktop - ~80 tasks organized into 6 namespaces: `backend:`, `frontend:`, `engine:`, `docker:`, `desktop:`, plus root-level composites - All CI workflows migrated to use Task - Deletes `engine/Makefile` and `scripts/build-tauri-jlink.{sh,bat}` — replaced by Task equivalents - Removes redundant npm scripts (`dev`, `build`, `prep`, `lint`, `test`, `typecheck:all`) from `package.json` - Smart dependency caching: `sources`/`status`/`generates` fingerprinting, CI-aware `npm ci` vs `npm install`, `run: once` for parallel dep deduplication ### What this does NOT do - Does not replace Gradle, npm, or Docker — Taskfile is a thin orchestration wrapper - Does not change application code or behavior ### Install ``` npm install -g @go-task/cli # or: brew install go-task, winget install Task.Task ``` ### Quick start ``` task --list # discover all tasks task install # install all deps task dev # start backend + frontend task dev:all # also start AI engine task test # run all tests task check # quick quality gate (local dev) task check:all # full CI quality gate ``` ### Test plan - [ ] Install `task` CLI and run `task --list` — verify all tasks display - [ ] Run `task install` — verify frontend + engine deps install - [ ] Run `task dev` — verify backend + frontend start, Ctrl+C exits cleanly - [ ] Run `task frontend:check` — verify typecheck + lint + test pass - [ ] Run `task desktop:dev` — verify jlink builds are cached on second run - [ ] Verify CI passes on all workflows --------- Co-authored-by: James Brunton <jbrunton96@gmail.com>
Developer Guide Directory
This directory contains all development-related documentation for Stirling PDF.
📚 Documentation Index
Core Development
- DeveloperGuide.md - Main developer setup and architecture guide (in repo root)
- Taskfile.yml - Unified task runner for all build/dev/test/lint commands
- EXCEPTION_HANDLING_GUIDE.md - Exception handling patterns and i18n best practices
- HowToAddNewLanguage.md - Internationalization and translation guide
Features & Documentation
- AGENTS.md - Agent-based functionality documentation
- USERS.md - User-focused documentation and guides
🔗 Related Files in Root
- README.md - Project overview and quick start
- CONTRIBUTING.md - Contribution guidelines
- SECURITY.md - Security policies and reporting
- DATABASE.md - Database setup and configuration (usage guide)
- HowToUseOCR.md - OCR setup and configuration (usage guide)
📝 Contributing to Documentation
When adding new development documentation:
- Place technical guides in this
devGuide/directory - Update this index file with a brief description
- Keep user-facing docs (README, CONTRIBUTING, SECURITY) in the root
- Follow existing naming conventions (PascalCase for guides)