ContribSync

command module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2025 License: MIT Imports: 5 Imported by: 0

README ΒΆ

πŸš€ ContribSync (csync) - Track & Summarize Your Contributions

⚠️ This is an early-stage open-source project.

ContribSync (csync) is a CLI tool that helps individual contributors track their work across multiple platforms, generate AI-powered summaries, and streamline performance reviews.

πŸ“Œ Features

βœ… Jira Integration
  • Create issues in Jira directly from the CLI.
  • List issues in a given Jira project.
  • Find issues assigned to a user.
  • Generate AI-powered summaries of Jira contributions for self-evaluations (using OpenAI GPT-3.5).
βœ… Pluggable Architecture
  • Built to support multiple integrations (e.g., GitHub, GitLab, Slack, Teams in the future).
βœ… Automated Summarization
  • Converts Jira activity into a structured, self-evaluation-friendly summary.
  • Helps users document their contributions efficiently for performance reviews.

πŸ› οΈ Setup & Running Locally

Prerequisites
  • Go 1.22.4+ installed
  • Jira API access (API token required)
  • (Optional) OpenAI API key for AI-generated summaries
Install & Build

Clone the repo and navigate into the project directory:

git clone https://github.com/your-org/ContribSync.git
cd ContribSync
go build -o csync main.go
Run the CLI
./csync --help
🌍 Environment Variables

Before running commands, ensure the required environment variables are set.

βœ… Jira API Configuration

export JIRA_BASE_URL=https://your-org.atlassian.net
export JIRA_API_TOKEN=your-api-token
export JIRA_EMAIL="your-email@example.com"

βœ… (Optional) OpenAI API Configuration

export OPENAI_ORG=your-org-id

πŸ—οΈ Example Commands

πŸ“Œ Create a Jira Issue

./csync plugin exec jira create-issue "Optimize Sync Performance" "Improve background sync to reduce CPU usage."

Sample Output:

Issue created successfully:
Key: CSYNC-101
Summary: Optimize Sync Performance

πŸ“Œ List Issues in a Project

./csync plugin exec jira list-issues PROJECT_KEY //project key under JIRA project settings

Sample Output:

Issues in PROJECT_KEY:
- CSYNC-101: Optimize Sync Performance (To Do)
- CSYNC-102: Implement API Rate Limiting (In Progress)
- CSYNC-103: Fix Sync Conflict Errors (Done)

πŸ“Œ Find Issues Assigned to a User

./csync plugin exec jira assigned-issues your-email@example.com

Sample Output:

πŸ“Œ Issues assigned to your-email@example.com:
- CSYNC-101: Optimize Sync Performance (To Do)
- CSYNC-102: Implement API Rate Limiting (In Progress)
- CSYNC-103: Fix Sync Conflict Errors (Done)

πŸ“Œ Generate AI-Powered Summary for Self-Evaluation

./csync plugin exec jira summary your-email@example.com

Sample Output:

πŸ“Œ AI-Generated Self-Evaluation Summary:
Over the past cycle, I worked on key improvements to our CloudSync platform:
- Resolved **file synchronization conflicts**, preventing duplicate file issues (CSYNC-103).
- Implemented **API rate limiting**, improving system stability under heavy load (CSYNC-102).
- Optimized **background sync performance**, reducing CPU usage and increasing efficiency (CSYNC-101).
These contributions enhanced platform reliability and performance, benefiting both end users and internal teams.

This requires the OpenAI API key to be set.

βœ… GitHub Integration
  • Fetch pull requests from a repository.
  • List commits associated with each PR.
  • Track open, merged and closed PRs for contribution logging.

Requires a valid GITHUB_TOKEN to be set.

export GITHUB_TOKEN=your-personal-access-token

πŸ“Œ Fetch Pull Requests & Commits from GitHub

./csync plugin exec github summary owner/repo

Sample Output:


πŸ“Œ Pull Request Summary for owner/repo

πŸ”Ή PR #42: Fix database connection issue (closed)
🏷️ Status: closed
πŸ”„ Merged: true
πŸ“† Created: 2024-06-15 00:49:33 UTC
πŸ“ Commits:
- [abc123] Fix DB connection timeout
- [def456] Improve error logging

πŸš€ We’re Adding Features Regularly!

This project is evolving, and we’re actively adding new integrations and improvements. Watch this space for updates! πŸš€

πŸ“œ License

This project is licensed under the MIT License.

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines on how to contribute.

πŸ› οΈ Future Roadmap

β€’ Refactor cli command structure . E.g. "csync plugin exec jira..." to "csync jira..." β€’ Slack & Teams Notifications
β€’ Export Summaries as JSON or Markdown

🌟 Support & Feedback

Have ideas or feedback? Open an issue or reach out!

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL