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>
70 lines
3.0 KiB
Markdown
70 lines
3.0 KiB
Markdown
<p align="center">
|
||
<img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" alt="Stirling PDF logo">
|
||
</p>
|
||
|
||
<h1 align="center">Stirling PDF - The Open-Source PDF Platform</h1>
|
||
|
||
Stirling PDF is a powerful, open-source PDF editing platform. Run it as a personal desktop app, in the browser, or deploy it on your own servers with a private API. Edit, sign, redact, convert, and automate PDFs without sending documents to external services.
|
||
|
||
<p align="center">
|
||
<a href="https://hub.docker.com/r/stirlingtools/stirling-pdf">
|
||
<img src="https://img.shields.io/docker/pulls/frooodle/s-pdf" alt="Docker Pulls">
|
||
</a>
|
||
<a href="https://discord.gg/HYmhKj45pU">
|
||
<img src="https://img.shields.io/discord/1068636748814483718?label=Discord" alt="Discord">
|
||
</a>
|
||
<a href="https://scorecard.dev/viewer/?uri=github.com/Stirling-Tools/Stirling-PDF">
|
||
<img src="https://api.scorecard.dev/projects/github.com/Stirling-Tools/Stirling-PDF/badge" alt="OpenSSF Scorecard">
|
||
</a>
|
||
<a href="https://github.com/Stirling-Tools/stirling-pdf">
|
||
<img src="https://img.shields.io/github/stars/stirling-tools/stirling-pdf?style=social" alt="GitHub Repo stars">
|
||
</a>
|
||
</p>
|
||
|
||

|
||
|
||
## Key Capabilities
|
||
|
||
- **Everywhere you work** - Desktop client, browser UI, and self-hosted server with a private API.
|
||
- **50+ PDF tools** - Edit, merge, split, sign, redact, convert, OCR, compress, and more.
|
||
- **Automation & workflows** - No-code pipelines direct in UI with APIs to process millions of PDFs.
|
||
- **Enterprise‑grade** - SSO, auditing, and flexible on‑prem deployments.
|
||
- **Developer platform** - REST APIs available for nearly all tools to integrate into your existing systems.
|
||
- **Global UI** - Interface available in 40+ languages.
|
||
|
||
For a full feature list, see the docs: **https://docs.stirlingpdf.com**
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
|
||
```
|
||
|
||
Then open: http://localhost:8080
|
||
|
||
For full installation options (including desktop and Kubernetes), see our [Documentation Guide](https://docs.stirlingpdf.com/#documentation-guide).
|
||
|
||
## Resources
|
||
|
||
- [**Documentation**](https://docs.stirlingpdf.com)
|
||
- [**Homepage**](https://stirling.com)
|
||
- [**API Docs**](https://registry.scalar.com/@stirlingpdf/apis/stirling-pdf-processing-api/)
|
||
- [**Server Plan & Enterprise**](https://docs.stirlingpdf.com/Paid-Offerings)
|
||
|
||
## Support
|
||
|
||
- **Community** [Discord](https://discord.gg/HYmhKj45pU)
|
||
- **Bug Reports**: [Github issues](https://github.com/Stirling-Tools/Stirling-PDF/issues)
|
||
|
||
## Contributing
|
||
|
||
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
||
|
||
This project uses [Task](https://taskfile.dev/) as a unified command runner for all build, dev, and test commands. Run `task install` to get started, or see the [Developer Guide](DeveloperGuide.md) for full details.
|
||
|
||
For adding translations, see the [Translation Guide](devGuide/HowToAddNewLanguage.md).
|
||
|
||
## License
|
||
|
||
Stirling PDF is open-core. See [LICENSE](LICENSE) for details.
|