oss-tribute
v0.1.0
Published
Discover and fund the open source projects your code depends on
Maintainers
Readme
oss-tribute
Discover and fund the open source projects your code depends on.
Why tribute?
Your project relies on open source software maintained by volunteers and small teams. Many of these maintainers struggle to fund their work. tribute helps you:
- Discover all the open source dependencies in your project
- Find funding links (GitHub Sponsors, Open Collective, Patreon, etc.)
- Prioritize which projects to support based on impact
- Generate documentation to showcase your dependencies
Installation
# Run directly with npx
npx oss-tribute
# Or install globally
npm install -g oss-tribute
# Then run with either command:
tribute
# or
oss-tributeUsage
# Analyze current directory
tribute
# Analyze a specific path
tribute /path/to/project
# Output JSON for programmatic use
tribute --format json
# Generate FUNDING.yml and DEPENDENCIES.md
tribute --generate-files
# Use with GitHub token for better rate limits
GITHUB_TOKEN=xxx tributeOptions
| Option | Description |
|--------|-------------|
| -d, --depth <depth> | Dependency depth: direct or transitive (default: transitive) |
| -f, --format <format> | Output format: markdown or json (default: markdown) |
| -o, --output <dir> | Output directory for reports |
| -g, --generate-files | Generate .github/FUNDING.yml and .github/DEPENDENCIES.md |
| -t, --token <token> | GitHub token (or set GITHUB_TOKEN env var) |
| -e, --ecosystems <list> | Comma-separated ecosystems to analyze |
Supported Ecosystems
- Node.js/npm - package.json, package-lock.json, yarn.lock, pnpm-lock.yaml
- Python - pyproject.toml, requirements.txt, Pipfile
- Go - go.mod, go.sum
- Rust - Cargo.toml, Cargo.lock
- Ruby - Gemfile, Gemfile.lock
- Java/Maven - pom.xml
Example Output
# Tribute Report for my-project
## Summary
| Metric | Value |
|--------|-------|
| Total dependencies | 247 |
| Direct dependencies | 45 |
| With funding info | 89 (36%) |
| Without funding info | 158 |
## Top Dependencies to Fund
| Package | Ecosystem | Score | Funding |
|---------|-----------|-------|---------|
| lodash | npm | 94 | [GitHub Sponsors](https://github.com/sponsors/lodash) |
| express | npm | 87 | [Open Collective](https://opencollective.com/express) |
| typescript | npm | 82 | - |Claude Code Integration
tribute includes a Claude Code skill for AI-enhanced analysis:
# Copy the skill to your Claude Code commands directory
cp skill/tribute.md ~/.claude/commands/
# Then use it with /tribute in Claude CodeThe skill provides:
- Intelligent prioritization of which dependencies to fund
- Analysis of maintainers who work on multiple projects
- Answers to questions about your dependency tree
How Scoring Works
Dependencies are scored to help you prioritize funding:
| Factor | Weight | Description | |--------|--------|-------------| | Transitive Usage | 40% | How many other deps in your project use this | | Direct Dependency | 30% | Is this a dep you explicitly chose? | | Funding Gap | 20% | Does it lack funding info? (prioritize these) | | Ecosystem | 10% | Some ecosystems have better funding culture |
GitHub Token
For best results, set a GitHub token:
# As environment variable
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
# Or pass directly
tribute --token ghp_xxxxxxxxxxxxWithout a token: 60 API requests/hour With a token: 5,000 API requests/hour
Generated Files
With --generate-files, tribute creates:
.github/FUNDING.yml
Aggregates funding links from your dependencies for GitHub's funding button.
.github/DEPENDENCIES.md
A human-readable document listing all dependencies and their funding links, perfect for acknowledging the open source you use.
Contributing
Contributions welcome! Please read our contributing guidelines first.
License
MIT
