Skip to content
Merged
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
24 changes: 24 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# GitHub Sponsorship Configuration
# These are supported funding model platforms for gh-manager-cli

# GitHub Sponsors (preferred platform for recurring sponsorships)
# Commented out until approved by GitHub
# github: wiiiimm

Comment thread
wiiiimm marked this conversation as resolved.
# Ko-fi (Buy Me Coffee alternative) - popular micro-donation platform
# Uncomment and add your Ko-fi username when ready:
# ko_fi: wiiiimm

# Custom funding URLs - for Buy Me a Coffee and other platforms (max 4 URLs)
custom:
- https://buymeacoffee.com/wiiiimm
# - https://www.paypal.me/wiiiimm

# Additional supported platforms (uncomment and configure as needed):
# patreon: your-patreon-username # Subscription-based funding
# open_collective: your-project-name # Transparent funding for open source
# tidelift: npm/gh-manager-cli # Enterprise open source funding
# community_bridge: your-project-name # Linux Foundation funding platform
# liberapay: your-liberapay-username # European recurring donations
# issuehunt: your-issuehunt-username # Funding for specific GitHub issues
# otechie: your-otechie-username # Technical consulting platform
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -516,6 +516,14 @@ Highlights on deck:
- Bulk selection and actions
- Repository renaming

## Support & Sponsorship

If you find gh-manager-cli useful, consider supporting its development:

☕ **[Buy Me a Coffee](https://buymeacoffee.com/wiiiimm)** - Support with coffee donations

Your support helps maintain and improve this project. Thank you! 🙏

## License

MIT
47 changes: 47 additions & 0 deletions docs/SPONSORSHIP_PLATFORMS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# GitHub Sponsorship Configuration Guide

This document explains how to support the gh-manager-cli project through Buy Me a Coffee.

## Current Sponsorship Platform

### Buy Me a Coffee ☕
- **URL:** [buymeacoffee.com/wiiiimm](https://buymeacoffee.com/wiiiimm)
- **Type:** One-time and recurring donations
- **Description:** Simple way to support the project with coffee donations
- **Benefits:**
- Quick one-time donations
- Monthly membership options
- No complex setup required
- Widely recognized platform

## How It Works

1. **GitHub Integration:** The "Sponsor" button appears on the repository page
2. **Direct Link:** Clicking takes you to the Buy Me a Coffee page
3. **Support Options:** Choose one-time or monthly support
4. **Payment:** Secure payment through Buy Me a Coffee's platform

## Configuration Details

The sponsorship is configured through GitHub's `FUNDING.yml` file located at `.github/FUNDING.yml`:

```yaml
custom:
- https://buymeacoffee.com/wiiiimm
```

This configuration enables the "Sponsor" button on the repository page.

## Why Support This Project?

Your support helps:
- 🚀 Maintain and improve gh-manager-cli
- 🐛 Fix bugs and add new features
- 📚 Keep documentation up-to-date
- 💻 Support ongoing development

Every coffee counts and is greatly appreciated! ☕

## Thank You!

A huge thank you to everyone who supports this project. Your contributions help keep gh-manager-cli free and open source for everyone.
84 changes: 84 additions & 0 deletions tests/sponsorship.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import { describe, it, expect } from 'vitest';
import { readFileSync, existsSync } from 'fs';
import { join } from 'path';

describe('GitHub Sponsorship Configuration', () => {
const fundingYmlPath = join(process.cwd(), '.github', 'FUNDING.yml');
const sponsorshipDocsPath = join(process.cwd(), 'docs', 'SPONSORSHIP_PLATFORMS.md');

it('should have a FUNDING.yml file in .github directory', () => {
expect(existsSync(fundingYmlPath)).toBe(true);
});

it('should have Buy Me a Coffee configured', () => {
const content = readFileSync(fundingYmlPath, 'utf8');
expect(content).toContain('buymeacoffee.com/wiiiimm');
expect(content).toContain('custom:');
});

it('should contain Ko-fi configuration examples', () => {
const content = readFileSync(fundingYmlPath, 'utf8');
expect(content).toContain('ko_fi');
expect(content).toContain('Buy Me Coffee alternative');
});

it('should contain custom URL examples for Buy Me a Coffee', () => {
const content = readFileSync(fundingYmlPath, 'utf8');
expect(content).toContain('buymeacoffee.com');
expect(content).toContain('custom');
});

it('should list all supported platforms in comments', () => {
const content = readFileSync(fundingYmlPath, 'utf8');
const expectedPlatforms = [
'patreon',
'open_collective',
'tidelift',
'community_bridge',
'liberapay',
'issuehunt',
'otechie'
];

expectedPlatforms.forEach(platform => {
expect(content).toContain(platform);
});
});

it('should have comprehensive sponsorship documentation', () => {
expect(existsSync(sponsorshipDocsPath)).toBe(true);

const content = readFileSync(sponsorshipDocsPath, 'utf8');
expect(content).toContain('GitHub Sponsorship Platforms Guide');
expect(content).toContain('Ko-fi (Buy Me Coffee Alternative)');
expect(content).toContain('Custom URLs (Including Buy Me a Coffee)');
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Documentation Mismatch and Missing Content

The sponsorship.test.ts documentation test expects specific content in SPONSORSHIP_PLATFORMS.md that doesn't match the file. It looks for 'GitHub Sponsorship Platforms Guide' as the title, but the document uses 'GitHub Sponsorship Configuration Guide'. Additionally, phrases like 'Ko-fi (Buy Me Coffee Alternative)' and 'Custom URLs (Including Buy Me a Coffee)' are missing.

Fix in Cursor Fix in Web

});

it('should have proper YAML structure', () => {
const content = readFileSync(fundingYmlPath, 'utf8');

// Should not have syntax errors - basic checks
expect(content).not.toContain('syntax error');
expect(content).toMatch(/github:\s+wiiiimm/);

// Should have proper commenting for inactive platforms
const lines = content.split('\n');
const commentedPlatforms = lines.filter(line =>
line.trim().startsWith('#') &&
(line.includes('ko_fi:') || line.includes('patreon:') || line.includes('custom:'))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: FUNDING.yml Configuration Error

The should have proper YAML structure test expects an uncommented github: wiiiimm line, but it's commented out in FUNDING.yml. Additionally, the test's filter for commented platforms incorrectly includes custom:, which is an active configuration.

Fix in Cursor Fix in Web

);

expect(commentedPlatforms.length).toBeGreaterThan(0);
});

it('should reference sponsorship documentation in README', () => {
const readmePath = join(process.cwd(), 'README.md');
const content = readFileSync(readmePath, 'utf8');

expect(content).toContain('Support & Sponsorship');
expect(content).toContain('GitHub Sponsors');
expect(content).toContain('Ko-fi');
expect(content).toContain('Buy Me a Coffee');
expect(content).toContain('SPONSORSHIP_PLATFORMS.md');
});
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: README Update Causes Sponsorship Tests to Fail

The sponsorship.test.ts expects the README.md to include 'GitHub Sponsors', 'Ko-fi', and 'SPONSORSHIP_PLATFORMS.md'. The current README.md update only mentions 'Buy Me a Coffee' and 'Support & Sponsorship', leading to test failures.

Fix in Cursor Fix in Web

});