Skip to main content

Engineering Metrics Analysis Tool

Project description

Wellcode.ai - Engineering Metrics Script

Wellcode Logo

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

  1. Clone this repository:

    git clone https://github.com/wellcode-ai/wellcode-cli.git
    cd wellcode-cli
    
  2. Create a virtual environment and activate it:

    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. Install the required packages:

    pip install -r requirements.txt
    

Configuration

  1. Run wellcode-cli config to configure your API keys.

  2. Alternatively, create a config.py file 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
    
  3. Replace the placeholder values with your actual API tokens and settings.

Usage

Basic Commands

  1. Configure API keys:
wellcode-cli config
  1. Start interactive mode:
wellcode-cli
  1. Analyze metrics:
wellcode-cli review [--team TEAM] [--user USER] [--start-date DATE] [--end-date DATE]
  1. 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

GitHub Metrics

Linear Metrics

Linear Metrics

Cycle Time Statistics

Cycle Time Statistics

AI Analysis

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wellcode_cli-0.1.33.tar.gz (62.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wellcode_cli-0.1.33-py3-none-any.whl (70.2 kB view details)

Uploaded Python 3

File details

Details for the file wellcode_cli-0.1.33.tar.gz.

File metadata

  • Download URL: wellcode_cli-0.1.33.tar.gz
  • Upload date:
  • Size: 62.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for wellcode_cli-0.1.33.tar.gz
Algorithm Hash digest
SHA256 64e8bac659a66a28648091b5c1f1998160bdea3218c7773a4a76c591b8668867
MD5 a9b0d25b0bb514735b429aa42c0e18ba
BLAKE2b-256 75067152410f33f269160b93db675762717bc2d84860a995b721b06d194746e7

See more details on using hashes here.

File details

Details for the file wellcode_cli-0.1.33-py3-none-any.whl.

File metadata

  • Download URL: wellcode_cli-0.1.33-py3-none-any.whl
  • Upload date:
  • Size: 70.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for wellcode_cli-0.1.33-py3-none-any.whl
Algorithm Hash digest
SHA256 6a852195c488adcffaf4be6cf828a057fa67a6fbc88a90335423eb650d04d8f0
MD5 4a15dcd90c1936b49eca995eba8d961a
BLAKE2b-256 c1933de568f913207d163265a8c4c2a5e67dc9552aab72d45e63ea790e0485e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page