Engineering Metrics Analysis Tool
Project description
Wellcode.ai - Engineering Metrics Script
wellcode.ai is a powerful script that integrates with GitHub, Linear, and Split.io to gather and analyze engineering team metrics. It helps identify productivity trends, potential blockers, and provides AI-powered insights into team performance.
Our Mission
At wellcode.ai, our goal is to democratize free metrics for engineering teams, enabling them to improve efficiency and performance. We believe that by providing accessible, data-driven insights, we can empower teams to make informed decisions, optimize their workflows, and foster a culture of continuous improvement.
Wellcode is designed to:
- Elevate code quality
- Reward contributors
- Provide AI-driven insights for optimized developer performance and team dynamics
By leveraging advanced AI technology, we aim to create a more efficient, productive, and rewarding environment for developers and engineering teams of all sizes.
Privacy & Security
Data Processing
- All metrics are processed locally on your machine
- No source code is ever accessed or analyzed
- Only metadata (PR counts, timestamps, etc.) is collected
- No code content or sensitive data is stored
AI Integration
- Only aggregated metrics are sent to Claude AI
- No source code is ever shared with AI services
- No personal information is transmitted
- AI analysis focuses solely on performance patterns and trends
Data Storage
- No data is stored on external servers
- Reports are generated locally
- All API tokens are stored securely in your local environment
- No tracking or usage analytics are collected
Integration Security
- All API communications use secure HTTPS
- Read-only access to GitHub repositories
- Minimal scope API tokens recommended
- No write permissions required
We take your privacy seriously and ensure that:
- Your code remains private and secure
- Only necessary metadata is processed
- All analysis happens locally
- No sensitive information leaves your environment
Features
Data Collection & Analysis
-
GitHub Metrics:
- PR statistics (created, merged, merged to main)
- Time to merge analysis
- Comments distribution
- Lead times
- User contributions
- Review process metrics
- Code quality indicators
- Bottleneck identification
-
Linear Metrics:
- Issue tracking (created vs completed)
- Cycle time analysis
- Priority breakdown
- Team workload distribution
-
Split.io Metrics:
- Feature flag usage
- Environment distribution
- Top feature flags
- Change frequency
- Error analysis
-
AI-Powered Insights:
- Performance trend analysis
- Bottleneck detection
- Team dynamics insights
- Improvement recommendations
- Comparative analysis
Visualization
- Interactive HTML reports with:
- Timeline charts
- Distribution plots
- Bar charts
- Box plots
- User contribution analysis
- Priority breakdowns
- Environment distributions
AI-Powered Insights
- Trend analysis
- Performance indicators
- Bottleneck detection
- Team dynamics insights
Prerequisites
- Python 3.7+
- Access to GitHub, Linear, and Split.io APIs
- Anthropic API access for AI analysis (optional)
Installation
Using Pip
The easiest way to install wellcode-cli is using pip:
pip install wellcode-cli
Manual Installation
-
Clone this repository:
git clone https://github.com/wellcode-ai/wellcode-cli.git cd wellcode-cli -
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` -
Install the required packages:
pip install -r requirements.txt
Configuration
-
Run
wellcode-cli configto configure your API keys. -
Alternatively, create a
config.pyfile in the project root with the following content:GITHUB_TOKEN = 'your_github_token' GITHUB_ORG = 'your_github_organization' LINEAR_API_KEY = 'your_linear_api_key' SPLIT_API_KEY = 'your_split_api_key' ANTHROPIC_API_KEY = 'your_anthropic_api_key' # For AI analysis
-
Replace the placeholder values with your actual API tokens and settings.
Usage
Basic Commands
- Configure API keys:
wellcode-cli config
- Start interactive mode:
wellcode-cli
- Analyze metrics:
wellcode-cli review [--team TEAM] [--user USER] [--start-date DATE] [--end-date DATE]
- Generate visual report:
wellcode-cli report [--output PATH] [--format html|pdf]
5. Chat with Wellcode:
```bash
wellcode-cli chat
Report Generation Options
wellcode-cli report --output ./my-reports --format html
The report command generates an interactive HTML report with:
- PR Timeline visualization
- Issue statistics
- Feature flag metrics
- Team performance indicators
- And more...
Interactive Mode Commands
When in interactive mode, you can:
- Ask questions about metrics: "how is team frontend performing?"
- Review specific periods: "check last month's performance"
- Generate reports: "generate html report"
- Analyze specific users: "show metrics for user johndoe"
- Get AI insights: "any suggestions for improvement?"
Examples:
# Direct commands
wellcode-cli review --team frontend --start-date 2024-03-01 --end-date 2024-03-31
wellcode-cli chat "how can we improve our PR review process?"
wellcode-cli report --format pdf --output ~/Desktop/metrics
# Interactive mode queries
> check team frontend metrics for last week
> how was john's performance yesterday
> generate report for last month
> what are our bottlenecks?
Setting up Environment Variables
Before running the script, you need to set up the following environment variables:
export GITHUB_TOKEN='your_github_token'
export GITHUB_ORG='your_github_organization'
export LINEAR_API_KEY='your_linear_api_key'
export SPLIT_API_KEY='your_split_api_key'
export ANTHROPIC_API_KEY='your_anthropic_api_key' # For AI analysis
Replace the placeholder values with your actual API tokens and settings.
Running the Script
Once the environment variables are set, run the script with:
wellcode-cli [--user USERNAME]
Options:
--user USERNAME: Filter metrics by a specific username
By default, the script will analyze data from the current week (Monday to today) and generate a report.
Example
wellcode-cli --user johndoe
This command will generate a report for the user 'johndoe' based on the current week's data.
Sample Output
GitHub Metrics
Linear Metrics
Cycle Time Statistics
AI Analysis
Contributing
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Support
- Issues: GitHub Issues
- Website: wellcode.ai
Acknowledgments
- OpenAI for providing the AI analysis capabilities
- The teams behind GitHub, Linear, and Split.io for their excellent APIs
Built with ❤️ by wellcode.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wellcode_cli-0.1.27.tar.gz.
File metadata
- Download URL: wellcode_cli-0.1.27.tar.gz
- Upload date:
- Size: 61.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0f9afca5f51b80c22729678a10e586db83a21ad6670cc62fb0ed0f8194005ca
|
|
| MD5 |
7789a6b13ff006b9bd26673b174667bd
|
|
| BLAKE2b-256 |
0f78c2e05515f68bf2abb7dd253c8baecf12043aa3a741d873ebde5000606b2e
|
File details
Details for the file wellcode_cli-0.1.27-py3-none-any.whl.
File metadata
- Download URL: wellcode_cli-0.1.27-py3-none-any.whl
- Upload date:
- Size: 68.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d885007114af6831cf6ed0182774a4b498322018c4caa1f69d9b5ccd6964bf9
|
|
| MD5 |
b988233a62f9c2465dc6df76764dddac
|
|
| BLAKE2b-256 |
8411b1180b599cb916482ddd9025ae8fb31fe9954e5d7a4745312e3ee74e9ed6
|