base on 🚦 The core for Cachet, the open-source, self-hosted status page system. <p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://cachethq.io/assets/cachet-logo-dark.svg">
<img alt="Cachet Logo" src="https://cachethq.io/assets/cachet-logo-light.svg">
</picture>
</p>
<p align="center">
<a href="https://github.com/cachethq/core/actions">
<img src="https://github.com/cachethq/core/workflows/run-tests/badge.svg" alt="Build Status">
</a>
<a href="https://github.com/sponsors/cachethq/?sponsor=1">
<img src="https://img.shields.io/github/sponsors/cachethq" alt="GitHub Sponsors">
</a>
<a href="https://packagist.org/packages/cachethq/core">
<img src="https://img.shields.io/packagist/dt/cachethq/core" alt="Total Downloads">
</a>
<a href="https://packagist.org/packages/cachethq/core">
<img src="https://img.shields.io/packagist/v/cachethq/core" alt="Latest Stable Version">
</a>
</p>
## Introduction
This package provides the core functionality of [Cachet](https://github.com/cachethq/cachet) and may be installed into existing Laravel applications. Cachet 3.x will ship as a standalone Laravel application that requires this package.
## Project Status
Cachet 3.x is currently in development and is not yet completely ready for production use. We are actively working on the project and will provide updates as we progress.
- [x] Incident Management
- [x] Incident Updates
- [x] Scheduled Maintenance
- [x] Scheduled Maintenance Updates
- [x] Components
- [x] Metrics
- [ ] Subscribers
- [x] API
- Complete but may need some tweaks as we progress.
- [x] Webhooks
- [x] Dashboard
- [x] Localization
- [x] Status Page Customization
- [ ] Meta
- [ ] Tags
- [x] User Management
## Stack
Cachet is built on:
- [Laravel 11.x](https://laravel.com)
- [Filament 3.x](https://filamentphp.com)
- [Tailwind CSS](https://tailwindcss.com)
- [Alpine.js](https://alpinejs.dev)
## Development
To get started developing Cachet, please check out the [Development Guide](https://docs.cachethq.io/v3.x/development).
### Dashboard Credentials
When running Cachet via the `composer dev` command, Workbench will seed a user that you can use to log in to the dashboard.
Login to the account at `/dashboard` and use credentials:
- **Email:** `
[email protected]`
- **Password:** `test123`
## Sponsors
<p align="center">
<a href="https://jump24.co.uk"><img width="100px" src="https://github.com/jumptwentyfour.png" alt="Jump24"></a>
<a href="https://dreamtilt.com.au"><img width="100px" src="https://github.com/dreamtilt.png" alt="Dreamtilt"></a>
<a href="https://xyphen-it.nl"><img width="100px" src="https://github.com/xyphen-it.png" alt="Xyphen-IT"></a>
<a href="https://coderabbit.ai/"><img width="100px" src="https://github.com/coderabbitai.png" alt="Code Rabbit"></a>
<a href="https://scramble.dedoc.co/"><img width="100px" src="https://github.com/dedoc.png" alt="de:doc"></a>
</p>
## Security Vulnerabilities
Please review our [security policy](https://github.com/cachethq/cachet/security/policy) on how to report security vulnerabilities.
## License
Cachet Core is open-sourced software licensed under the [MIT license](LICENSE.md).
## Trademarks
Copyright (c) 2023-present Alt Three Services Limited. The Cachet name and logo are trademarks of Alt Three Services Limited. Please see our [trademark guidelines](https://github.com/cachethq/core/blob/main/TRADEMARKS.md) for info on acceptable usage.
## Community
Have questions, comments or feedback? [Start a discussion](https://github.com/cachethq/cachet/discussions/new). For the latest news and release notes, visit [cachethq.io](https://cachethq.io).
## Contributors
<a href="https://github.com/cachethq/core/graphs/contributors">
<img src="https://contrib.rocks/image?repo=cachethq/core&max=400&columns=20" width="100%"/>
</a>
", Assign "at most 3 tags" to the expected json: {"id":"11962","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"