Skip to content

GitHub App for self-hosted profiles #4

@danielbodnar

Description

@danielbodnar

Summary

Create a GitHub App that enables users to self-host their profiles.sh profile via a persona-cards repo in their own account.

Details

The GitHub App, when installed by a user:

  1. Creates a persona-cards repository in the user's GitHub account

  2. Sets up a GitHub Actions workflow that:

    • Runs on a schedule (weekly) and on manual dispatch
    • Fetches the user's GitHub data (stars, repos, profile)
    • Runs the persona engine to generate profile data
    • Caches results as JSON artifacts in the repo
    • Optionally generates static HTML for GitHub Pages hosting
  3. The self-hosted profile can be served via:

    • GitHub Pages (username.github.io/persona-cards)
    • Or fetched by the main profiles.sh app as a data source

Benefits

  • Users own their profile data
  • No dependency on the main profiles.sh service for cached data
  • Can customize the generation pipeline
  • Works even if profiles.sh is down

Acceptance Criteria

  • GitHub App manifest and registration flow
  • App creates persona-cards repo on installation
  • Actions workflow template for profile generation
  • JSON schema for cached profile data
  • GitHub Pages support for static hosting
  • Uninstall cleanup (option to keep or remove repo)
  • Documentation for self-hosted setup

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions