About this project

StudyLife Developers serves as the central registration hub for add-ons within the StudyLife ecosystem. It is designed to support various satellite applications such as Tray, Webhooks, HACS, and MCP by managing their authentication credentials and permissions. The platform operates through a streamlined workflow: 1. **Enable Connection**: Users enable the connection on their paired StudyLife instance's Setup page. The system automatically generates and registers a key with this portal without requiring manual copying. 2. **Register Add-on**: Developers register new add-ons by providing a name, description, redirect URIs, and specific permission scopes. 3. **Build Integration**: Add-ons authenticate end-users via StudyLife's generic connect flow using the assigned ClientId. This involves a session-required POST request followed by a server-to-server assertion exchange to obtain a real API key. 4. **Publish**: Once tested, developers submit a manifest to the studylife-marketplace repository via pull request, allowing other users to discover and install the add-on. This portal does not host or run the add-on code; it solely manages the registration metadata (name, scopes, redirect URIs) on the paired StudyLife instance. Configuration requires setting environment variables for the StudyLife base URL, a shared secret for internal authentication, and a data directory for the key store. Scopes are curated and kept in sync across the main repo, marketplace, and this portal to ensure consistent permission handling.