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.26.tar.gz (61.8 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.26-py3-none-any.whl (68.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wellcode_cli-0.1.26.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

Hashes for wellcode_cli-0.1.26.tar.gz
Algorithm Hash digest
SHA256 501df96f29383525989375a04b4ff86f8ccdc17c4c8f8a59ead5f1d85c214e55
MD5 660fa1126d34cf00f8ca12b886abd879
BLAKE2b-256 b6c5579cb69405ead79409dd5063965a2abd44af8816024ddd5b0d593cea821f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wellcode_cli-0.1.26-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

Hashes for wellcode_cli-0.1.26-py3-none-any.whl
Algorithm Hash digest
SHA256 c175833ae8eb0982ccc377aaf65dcff5f815b317c24edf8a29d84f2197be4cf8
MD5 600797016d4b83a22a2d6b80d6ccab31
BLAKE2b-256 3b01c890251fff6315d18d2c9f7eb580489a6eaaefab479e6466da508dc24b4b

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