cimonitor


Namecimonitor JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryMonitor GitHub CI workflows, fetch logs, and track build status
upload_time2025-07-18 21:42:06
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords actions ci debugging devops github logs monitor workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CI Monitor

CI Monitor is a command-line tool that lets AI agents and humans instantly access GitHub CI status, logs, and failure details without leaving the terminal.

**Eliminates Copy-Paste Development** - No more copying error messages from GitHub's web interface. Agents can directly access CI failures, logs, and status updates through a simple command-line interface.

**Universal Agent Compatibility** - Works with any AI coding assistant (Claude Code, Cursor, etc.) that can run terminal commands.

## Automated CI Debugging with Claude Code

```bash
# Single command to investigate and fix your active branch's CI failures
claude "Use cimonitor to watch my PR's CI. If the tests fail, fix and push. \
Notify me when finished or if you can't solve the problem. Think hard."

# Auto-retry flaky tests and get notified only for real failures
cimonitor watch --pr 123 --retry 3 | claude \
  "Monitor this output. If tests still fail after retries, analyze the logs and notify me with a summary of the real issues."
```

This powerful combination lets you:
- **Stay Focused**: No need to monitor job status and engage with an agent if you see a failure—let the agent do the waiting
- **Fix Real Issues**: Claude Code automatically parses CI logs, identifies root causes, implements fixes, and pushes solutions
- **Handle Flaky Tests**: Auto-retry failing jobs up to N times, only getting notified if failures persist

## Installation

```bash
pip install cimonitor
export GITHUB_TOKEN="your_github_token_here"
```

How to generate a token:
1. Visit [https://github.com/settings/tokens](https://github.com/settings/tokens),
2. "Generate new token" -> "Generate new token (classic)"
3. Check "repo" and "workflow"
4. Generate the token and export it as an environment variable as shown above

## Usage

```bash
# Check CI status
cimonitor status                    # Current branch
cimonitor status --pr 123          # Specific PR
cimonitor status --commit abc1234  # Specific commit

# Get error logs
cimonitor logs                      # Current branch (filtered logs)
cimonitor logs --pr 123            # PR logs
cimonitor logs --raw               # Raw unfiltered logs
cimonitor logs --job-id 12345678   # Specific job logs

# Watch CI progress
cimonitor watch                     # Watch current branch
cimonitor watch --until-complete   # Wait for completion
cimonitor watch --until-fail       # Stop on first failure
cimonitor watch --retry 3          # Auto-retry failed jobs up to 3 times
```

## Command Reference

### Main Command
```
Usage: cimonitor [OPTIONS] COMMAND [ARGS]...

  CI Monitor - Monitor GitHub CI workflows, fetch logs, and track build
  status.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  logs    Show error logs for failed CI jobs.
  status  Show CI status for the target commit/branch/PR.
  watch   Watch CI status with real-time updates.
```

### cimonitor status
```
Usage: cimonitor status [OPTIONS]

  Show CI status for the target commit/branch/PR.

Options:
  --pr, --pull-request INTEGER  Pull request number to check
  --commit TEXT                 Specific commit SHA to check
  --branch TEXT                 Specific branch to check (defaults to current
                                branch)
  -v, --verbose                 Show verbose output
  --help                        Show this message and exit.
```

### cimonitor logs
```
Usage: cimonitor logs [OPTIONS]

  Show error logs for failed CI jobs.

Options:
  --pr, --pull-request INTEGER  Pull request number to check
  --commit TEXT                 Specific commit SHA to check
  --branch TEXT                 Specific branch to check (defaults to current
                                branch)
  -v, --verbose                 Show verbose output
  --raw                         Show complete raw logs (for debugging)
  --job-id INTEGER              Show logs for specific job ID only
  --help                        Show this message and exit.
```

### cimonitor watch
```
Usage: cimonitor watch [OPTIONS]

  Watch CI status with real-time updates.

Options:
  --pr, --pull-request INTEGER  Pull request number to check
  --commit TEXT                 Specific commit SHA to check
  --branch TEXT                 Specific branch to check (defaults to current
                                branch)
  -v, --verbose                 Show verbose output
  --until-complete              Wait until all workflows complete
  --until-fail                  Stop on first failure
  --retry COUNT                 Auto-retry failed jobs up to COUNT times
  --help                        Show this message and exit.
```

## What Agents Can Do

**Instant CI Diagnosis** - Check any commit, branch, or PR for failures and get structured output perfect for programmatic analysis.

**Real-Time Monitoring** - Use `watch --until-complete` to watch CI progress live, `watch --until-fail` for fail-fast workflows, or `watch --retry N` to automatically retry failed jobs and filter out flaky test failures.

**Targeted Debugging** - Get step-level failure details and filtered error logs without downloading massive raw logs.

**Multi-Branch Operations** - Seamlessly check CI status across different branches, PRs, and commits in automated workflows.

## License

MIT License - see [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cimonitor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "actions, ci, debugging, devops, github, logs, monitor, workflow",
    "author": null,
    "author_email": "Steve Landey <steve@steveasleep.com>",
    "download_url": "https://files.pythonhosted.org/packages/0e/61/4e45b0e7a0ffac9c698306f40811e1670c8c6f83890ebe3d03fb3996af1d/cimonitor-0.1.6.tar.gz",
    "platform": null,
    "description": "# CI Monitor\n\nCI Monitor is a command-line tool that lets AI agents and humans instantly access GitHub CI status, logs, and failure details without leaving the terminal.\n\n**Eliminates Copy-Paste Development** - No more copying error messages from GitHub's web interface. Agents can directly access CI failures, logs, and status updates through a simple command-line interface.\n\n**Universal Agent Compatibility** - Works with any AI coding assistant (Claude Code, Cursor, etc.) that can run terminal commands.\n\n## Automated CI Debugging with Claude Code\n\n```bash\n# Single command to investigate and fix your active branch's CI failures\nclaude \"Use cimonitor to watch my PR's CI. If the tests fail, fix and push. \\\nNotify me when finished or if you can't solve the problem. Think hard.\"\n\n# Auto-retry flaky tests and get notified only for real failures\ncimonitor watch --pr 123 --retry 3 | claude \\\n  \"Monitor this output. If tests still fail after retries, analyze the logs and notify me with a summary of the real issues.\"\n```\n\nThis powerful combination lets you:\n- **Stay Focused**: No need to monitor job status and engage with an agent if you see a failure\u2014let the agent do the waiting\n- **Fix Real Issues**: Claude Code automatically parses CI logs, identifies root causes, implements fixes, and pushes solutions\n- **Handle Flaky Tests**: Auto-retry failing jobs up to N times, only getting notified if failures persist\n\n## Installation\n\n```bash\npip install cimonitor\nexport GITHUB_TOKEN=\"your_github_token_here\"\n```\n\nHow to generate a token:\n1. Visit [https://github.com/settings/tokens](https://github.com/settings/tokens),\n2. \"Generate new token\" -> \"Generate new token (classic)\"\n3. Check \"repo\" and \"workflow\"\n4. Generate the token and export it as an environment variable as shown above\n\n## Usage\n\n```bash\n# Check CI status\ncimonitor status                    # Current branch\ncimonitor status --pr 123          # Specific PR\ncimonitor status --commit abc1234  # Specific commit\n\n# Get error logs\ncimonitor logs                      # Current branch (filtered logs)\ncimonitor logs --pr 123            # PR logs\ncimonitor logs --raw               # Raw unfiltered logs\ncimonitor logs --job-id 12345678   # Specific job logs\n\n# Watch CI progress\ncimonitor watch                     # Watch current branch\ncimonitor watch --until-complete   # Wait for completion\ncimonitor watch --until-fail       # Stop on first failure\ncimonitor watch --retry 3          # Auto-retry failed jobs up to 3 times\n```\n\n## Command Reference\n\n### Main Command\n```\nUsage: cimonitor [OPTIONS] COMMAND [ARGS]...\n\n  CI Monitor - Monitor GitHub CI workflows, fetch logs, and track build\n  status.\n\nOptions:\n  --version  Show the version and exit.\n  --help     Show this message and exit.\n\nCommands:\n  logs    Show error logs for failed CI jobs.\n  status  Show CI status for the target commit/branch/PR.\n  watch   Watch CI status with real-time updates.\n```\n\n### cimonitor status\n```\nUsage: cimonitor status [OPTIONS]\n\n  Show CI status for the target commit/branch/PR.\n\nOptions:\n  --pr, --pull-request INTEGER  Pull request number to check\n  --commit TEXT                 Specific commit SHA to check\n  --branch TEXT                 Specific branch to check (defaults to current\n                                branch)\n  -v, --verbose                 Show verbose output\n  --help                        Show this message and exit.\n```\n\n### cimonitor logs\n```\nUsage: cimonitor logs [OPTIONS]\n\n  Show error logs for failed CI jobs.\n\nOptions:\n  --pr, --pull-request INTEGER  Pull request number to check\n  --commit TEXT                 Specific commit SHA to check\n  --branch TEXT                 Specific branch to check (defaults to current\n                                branch)\n  -v, --verbose                 Show verbose output\n  --raw                         Show complete raw logs (for debugging)\n  --job-id INTEGER              Show logs for specific job ID only\n  --help                        Show this message and exit.\n```\n\n### cimonitor watch\n```\nUsage: cimonitor watch [OPTIONS]\n\n  Watch CI status with real-time updates.\n\nOptions:\n  --pr, --pull-request INTEGER  Pull request number to check\n  --commit TEXT                 Specific commit SHA to check\n  --branch TEXT                 Specific branch to check (defaults to current\n                                branch)\n  -v, --verbose                 Show verbose output\n  --until-complete              Wait until all workflows complete\n  --until-fail                  Stop on first failure\n  --retry COUNT                 Auto-retry failed jobs up to COUNT times\n  --help                        Show this message and exit.\n```\n\n## What Agents Can Do\n\n**Instant CI Diagnosis** - Check any commit, branch, or PR for failures and get structured output perfect for programmatic analysis.\n\n**Real-Time Monitoring** - Use `watch --until-complete` to watch CI progress live, `watch --until-fail` for fail-fast workflows, or `watch --retry N` to automatically retry failed jobs and filter out flaky test failures.\n\n**Targeted Debugging** - Get step-level failure details and filtered error logs without downloading massive raw logs.\n\n**Multi-Branch Operations** - Seamlessly check CI status across different branches, PRs, and commits in automated workflows.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Monitor GitHub CI workflows, fetch logs, and track build status",
    "version": "0.1.6",
    "project_urls": null,
    "split_keywords": [
        "actions",
        " ci",
        " debugging",
        " devops",
        " github",
        " logs",
        " monitor",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d58ebdbb3d060d148f0198862b86ffa3189020bc7aa76fddcd734c491938cc1d",
                "md5": "1573fb9c778fa057f139e85613801f3d",
                "sha256": "1bff7dbce871991731a755692778d4812ac47199348cbbbba7990522f35288a4"
            },
            "downloads": -1,
            "filename": "cimonitor-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1573fb9c778fa057f139e85613801f3d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 22940,
            "upload_time": "2025-07-18T21:42:04",
            "upload_time_iso_8601": "2025-07-18T21:42:04.736399Z",
            "url": "https://files.pythonhosted.org/packages/d5/8e/bdbb3d060d148f0198862b86ffa3189020bc7aa76fddcd734c491938cc1d/cimonitor-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0e614e45b0e7a0ffac9c698306f40811e1670c8c6f83890ebe3d03fb3996af1d",
                "md5": "1c84f232eb82432052ea7e19027905d0",
                "sha256": "600ec5bae05db0f2d15e21eeecaca70e089830d4884bf05aa3faffd25f9783f3"
            },
            "downloads": -1,
            "filename": "cimonitor-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "1c84f232eb82432052ea7e19027905d0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 60804,
            "upload_time": "2025-07-18T21:42:06",
            "upload_time_iso_8601": "2025-07-18T21:42:06.038276Z",
            "url": "https://files.pythonhosted.org/packages/0e/61/4e45b0e7a0ffac9c698306f40811e1670c8c6f83890ebe3d03fb3996af1d/cimonitor-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 21:42:06",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "cimonitor"
}
        
Elapsed time: 3.71246s