Skip to content

init #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions .github/prompts/new.prompt.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
---
mode: 'agent'
description: 'Create a proposal'
mode: "agent"
description: "Create a proposal"
---

I want to build an app. My idea is a mobile app called GitBey that takes a user's github handle and returns 5 Beyonce songs based on the vibe of their last 50 commits. User should be able to play the songs in the app.

Let's join forces to make this idea into a simple, yet impactful proposal.

FIRST:

- Clarify any areas of my proposal that may need more details
- Suggest new requirements based on the functionality provided
- Consider edge cases that may not be included in my original proposal.
- Organize requirements logically, and break them down into units that would make sense as user stories.
- Raise any important high-level technical considerations, like platforms, languages, frameworks, and overall architecture details

NEXT:

- Iterate with me until I tell you I am satisfied.

FINALLY:

- Once I tell you I am ready, create a plan (or update an existing plan) and use the #tool:github create issue tool to create an issue with this proposal and title: Spec.

The correct repo is githubevents/gitbey
The correct repo is jcodes101/gitbey

```
# Project Name
Expand All @@ -37,4 +40,4 @@ The correct repo is githubevents/gitbey
-Provide a basic MVP scope that could be delivered quickly to validate this idea.
```

Output your plan in the directory "../../docs/idea.md"
Output your plan in the directory "../../docs/idea.md"
42 changes: 42 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
// 💡 Inputs are prompted on first server start, then stored securely by VS Code.
"inputs": [
{
"type": "promptString",
"id": "perplexity-key",
"description": "Perplexity API Key",
"password": true
},
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
// https://github.com/ppl-ai/modelcontextprotocol/
"Perplexity": {
"type": "stdio",
"command": "npx",
"args": ["-y", "server-perplexity-ask"],
"env": {
"PERPLEXITY_API_KEY": "${input:perplexity-key}"
}
},
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
Empty file added docs/idea.md
Empty file.
78 changes: 78 additions & 0 deletions docs/plans/gitbey-app.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Implementation Plan: GitBey App

## Overview

This plan outlines the step-by-step implementation for the GitBey mobile app, which analyzes a user's GitHub commit history and generates personalized Beyoncé playlists based on coding mood.

---

## Step 1: GitHub API Integration

**Objective:** Fetch a user's recent commit history from GitHub.

- Add HTTP and dotenv dependencies.
- Create a GitHub service class to fetch public events for a username.
- Use a GitHub token for authenticated requests.
- Parse and return commit data (limit to 50 most recent commits).
- Handle errors (network, invalid username, rate limits).
- UI: Input for username, button to fetch, display commit count and sample message.
- **User intervention:** Provide a valid GitHub token in `.env`.

---

## Step 2: Sentiment Analysis of Commits

**Objective:** Analyze commit messages to determine coding mood.

- Add a sentiment analysis package or implement a simple algorithm.
- Preprocess commit messages (lowercase, remove punctuation, etc.).
- For each commit, compute a sentiment score (positive/negative/neutral).
- Aggregate scores to determine overall mood (e.g., happy, frustrated, productive).
- UI: Display mood summary and example analysis.
- **User intervention:** None required.

---

## Step 3: AI Playlist Generation

**Objective:** Generate Beyoncé song recommendations based on commit sentiment.

- Integrate with an AI model (e.g., OpenAI, GitHub Models API) for song selection.
- Design prompt templates for the AI (provide mood and context).
- Send request to AI API and parse response (list of 5 songs).
- UI: Display recommended songs with mood context.
- **User intervention:** Provide AI API key in `.env` if required.

---

## Step 4: Audio Integration (Optional)

**Objective:** Enable song playback within the app.

- Integrate with a music API (e.g., Spotify) for audio previews.
- Set up developer credentials for the music API.
- Implement audio playback UI (play, pause, etc.).
- UI: Show song list with play buttons.
- **User intervention:** Register for music API credentials and add to `.env`.

---

## Step 5: Testing & Debugging

**Objective:** Ensure all features work as expected.

- Write and run unit/widget tests for each feature.
- Test on iOS and Android simulators.
- Debug and fix issues as needed.
- **User intervention:** Run tests and report bugs.

---

## Step 6: Polish & Documentation

**Objective:** Finalize app for release.

- Refine UI/UX for a beautiful, modern look.
- Add documentation and usage instructions.
- Prepare for App Store/Play Store submission.
- **User intervention:** Review and approve final app.
62 changes: 62 additions & 0 deletions docs/research.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# GitBey Research Summary

## Idea Overview

GitBey is a mobile app that takes a user's GitHub handle, analyzes the vibe of their last 50 commits, and recommends 5 Beyoncé songs accordingly. Users can play the songs within the app.

## Customers

- Software developers and engineers who use GitHub
- Fans of Beyoncé and pop music
- Tech-savvy music lovers
- People interested in novelty or entertainment apps that blend productivity and pop culture

## Problem Statements

- Developers often seek fun, personalized ways to reflect on their coding activity
- There is a lack of apps that combine code analysis with music recommendations
- Music can help improve mood and productivity, but current music apps do not personalize based on coding activity

## Possible Competitors

- Spotify Wrapped (personalized music stats, but not code-based)
- GitHub Skyline (visualizes commits, but no music integration)
- Mood-based music apps (e.g., Moodagent, but not tied to coding)
- No direct competitor that combines GitHub commit analysis with music recommendations

## Unmet Needs

- Personalized music recommendations based on developer activity
- Fun, shareable insights that blend coding and pop culture
- In-app music playback tied to unique, data-driven experiences

## Differentiators

- Unique combination of GitHub data analysis and Beyoncé music
- Novelty factor: appeals to both developers and Beyoncé fans
- Shareable results (potential for social media virality)
- Potential for expansion to other artists or music genres

## Marketing

- Target developer communities (GitHub, Stack Overflow, Reddit)
- Collaborate with Beyoncé fan groups and music forums
- Leverage social media for shareable results (e.g., "My GitBey Vibe")
- Influencer partnerships in tech and music spaces

## Business Models

- Freemium: free basic use, paid premium features (e.g., more song options, deeper analysis)
- Affiliate links to music streaming services
- Sponsored content or partnerships with music labels
- In-app ads (if user base is large enough)

## Next Steps

- Validate interest with target users
- Explore technical feasibility (GitHub API, music streaming integration)
- Prototype core features and test user experience

---

This summary provides a foundation for further research, ideation, and development of the GitBey app.
24 changes: 24 additions & 0 deletions docs/specs/ai-playlist-generation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Feature Spec: AI Playlist Generation

## Objective

Generate Beyoncé song recommendations based on commit sentiment.

## Steps

1. Integrate with an AI model (e.g., OpenAI, GitHub Models API) for song selection.
2. Design prompt templates for the AI (provide mood and context).
3. Send request to AI API and parse response (list of 5 songs).
4. UI: Display recommended songs with mood context.

## Pseudocode

- Given mood label:
- Create prompt for AI
- Send to AI API
- Parse response for 5 songs
- Display songs in UI

## User Intervention

- Provide AI API key in `.env` if required.
23 changes: 23 additions & 0 deletions docs/specs/audio-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Feature Spec: Audio Integration (Optional)

## Objective

Enable song playback within the app.

## Steps

1. Integrate with a music API (e.g., Spotify) for audio previews.
2. Set up developer credentials for the music API.
3. Implement audio playback UI (play, pause, etc.).
4. UI: Show song list with play buttons.

## Pseudocode

- For each recommended song:
- Fetch audio preview URL
- Display play button
- On play, stream audio

## User Intervention

- Register for music API credentials and add to `.env`.
26 changes: 26 additions & 0 deletions docs/specs/github-api-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Feature Spec: GitHub API Integration

## Objective

Fetch a user's recent commit history from GitHub.

## Steps

1. Add HTTP and dotenv dependencies to the project.
2. Create a GitHub service class to fetch public events for a username.
3. Use a GitHub token for authenticated requests.
4. Parse and return commit data (limit to 50 most recent commits).
5. Handle errors (network, invalid username, rate limits).
6. UI: Input for username, button to fetch, display commit count and sample message.

## Pseudocode

- User enters GitHub username
- On button press:
- Call GitHubService.fetchRecentCommits(username)
- If success: display commit count and sample message
- If error: show error message

## User Intervention

- Provide a valid GitHub token in `.env`.
26 changes: 26 additions & 0 deletions docs/specs/sentiment-analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Feature Spec: Sentiment Analysis of Commits

## Objective

Analyze commit messages to determine coding mood.

## Steps

1. Add a sentiment analysis package or implement a simple algorithm.
2. Preprocess commit messages (lowercase, remove punctuation, etc.).
3. For each commit, compute a sentiment score (positive/negative/neutral).
4. Aggregate scores to determine overall mood (e.g., happy, frustrated, productive).
5. UI: Display mood summary and example analysis.

## Pseudocode

- For each commit message:
- Clean/preprocess text
- Compute sentiment score
- Aggregate all scores
- Map aggregate to mood label
- Display mood summary in UI

## User Intervention

- None required.
45 changes: 45 additions & 0 deletions flutter_application_1/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/

# Symbolication related
app.*.symbols

# Obfuscation related
app.*.map.json

# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
Loading