An open API service indexing awesome lists of open source software.

https://github.com/ryo-morimoto/gitpoke

Gentle reminders for developers through GitHub activity badges ๐Ÿ”ฅ
https://github.com/ryo-morimoto/gitpoke

activity-tracker cloudflare-workers developer-tools github-app

Last synced: 3 months ago
JSON representation

Gentle reminders for developers through GitHub activity badges ๐Ÿ”ฅ

Awesome Lists containing this project

README

          

# GitPoke ๐Ÿซฑ๐Ÿ”ฅ

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

GitPoke helps developers stay motivated by displaying GitHub activity badges. When someone hasn't been coding for a while, visitors can send them a friendly "poke" as a gentle reminder to get back to their projects.

[ๆ—ฅๆœฌ่ชž็‰ˆ README ใฏใ“ใกใ‚‰](README_ja.md)

## ๐ŸŽฏ Features

- **Activity Badge**: Show your GitHub contribution status in your README
- **Gentle Pokes**: Let visitors send you friendly reminders when you've been away
- **GitHub App Integration**: Secure authentication with minimal permissions
- **Real-time Updates**: Automatic activity status updates
- **Privacy-First**: Uses only public contribution data

## ๐Ÿš€ Quick Start

### 1. Set up your badge

1. Visit [gitpoke.dev](https://gitpoke.dev)
2. Authenticate with GitHub (one-click GitHub App authorization)
3. Copy your badge URL
4. Add it to your README:

```markdown
![GitPoke](https://gitpoke.dev/badge/your-username.svg)
```

### 2. How it works

- ๐ŸŸข **Active** (within 7 days): Shows your normal activity badge
- ๐Ÿ”ด **Inactive** (over 7 days): Badge becomes clickable, allowing visitors to poke you

## ๐Ÿ—๏ธ Architecture

GitPoke is built with modern edge computing technology:

- **Runtime**: Cloudflare Workers
- **Framework**: Hono
- **Storage**: Cloudflare KV
- **API**: GitHub GraphQL API
- **Auth**: GitHub App with minimal permissions

### Required Permissions

```
Account permissions:
- Email addresses: Read
- Profile: Read
Repository permissions:
- Metadata: Read
```

## ๐Ÿ› ๏ธ Development

### Prerequisites

- Node.js 18+
- Cloudflare account
- GitHub App registration

### Setup

```bash
# Clone the repository
git clone https://github.com/ryo-morimoto/gitpoke.git
cd gitpoke

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your credentials

# Run development server
npm run dev
```

### Environment Variables

```env
GITHUB_APP_ID=your_app_id
GITHUB_APP_PRIVATE_KEY=your_private_key
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
```

## ๐Ÿ“Š Project Status

GitPoke is currently under active development. See [TODO.md](TODO.md) for our roadmap and progress.

### Current Phase: MVP Development

- [x] Project design and architecture
- [ ] GitHub App setup and authentication
- [ ] Badge generation with activity tracking
- [ ] Poke functionality implementation

## ๐Ÿค Contributing

We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.

### Quick Contribution Guide

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ”’ Security

For security concerns, please see our [Security Policy](SECURITY.md).

## ๐Ÿ“ž Contact

- GitHub Issues: [github.com/ryo-morimoto/gitpoke/issues](https://github.com/ryo-morimoto/gitpoke/issues)
- Twitter: [@your_twitter](https://twitter.com/your_twitter)

## ๐Ÿ™ Acknowledgments

- Inspired by developers who need gentle reminders to keep coding
- Built for the community that believes in friendly encouragement

---

Made with โค๏ธ by developers, for developers