-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Allow users to personalize their profiles.sh profile by creating a profiles-sh.json gist.
Details
Users create a public gist named profiles-sh.json with preferences:
{
"featured_repos": ["repo-a", "repo-b"],
"featured_topics": ["rust", "nushell"],
"hidden_categories": ["tinkerer"],
"theme": "dark",
"tagline_overrides": {
"systems": "I write kernels for fun."
}
}The app fetches and applies this config on profile load:
- On profile request, check if user has a
profiles-sh.jsongist via GitHub API - Cache the gist content in KV with a 1-hour TTL
- Apply overrides to the generated profile (featured repos sort to top, hidden categories are removed, custom taglines replace defaults)
- Store merged config in the
customizationsD1 table
Acceptance Criteria
- Fetch gist by convention name
profiles-sh.json - Cache gist content in KV (1h TTL)
- Apply
featured_repos— pin repos to top of projects section - Apply
featured_topics— boost topic scores in domain scoring - Apply
hidden_categories— remove personas from display - Apply
tagline_overrides— replace persona taglines - Graceful fallback if no gist exists (no error, use defaults)
- Store resolved config in
customizationstable
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels