dailysum


Namedailysum JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryA CLI tool that uses AI agents to generate daily work summaries from GitHub activity
upload_time2025-08-19 01:49:35
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords ai github productivity cli agent llm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # DailySum

[![Lint](https://github.com/njbrake/dailysum/actions/workflows/lint.yaml/badge.svg)](https://github.com/njbrake/dailysum/actions/workflows/lint.yaml)
[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/dailysum)](https://pypi.org/project/dailysum/)
[![codecov](https://codecov.io/gh/njbrake/dailysum/branch/main/graph/badge.svg)](https://codecov.io/gh/njbrake/dailysum)

A CLI tool that uses AI agents to generate daily work summaries from your GitHub activity.

## What It Does

Analyzes your GitHub activity and generates daily summaries like this:

```
Yesterday:
- Merged PR #142: Fix authentication bug in user login flow
- Reviewed PR #138: Add support for OAuth2 integration
- Opened issue #145: Memory leak in background task processor

Today:
- Continue work on OAuth2 integration testing
- Address memory leak issue in background processor
- Review pending PRs from team members
```

## How It Works

This tool uses two Mozilla AI projects:

### [any-llm](https://github.com/njbrakeany-llm)
Provides a unified interface to different LLM providers. Switch between OpenAI, Anthropic, Mistral, and other models with a string change.

### [any-agent](https://github.com/njbrakeany-agent)
Provides a unified interface for AI agent frameworks. Handles tool orchestration, model interactions, and GitHub API access via Model Context Protocol (MCP).

Together, these handle the complexity of GitHub API interactions and LLM provider differences.

## Installation

### Requirements

- Python 3.11 or newer
- A GitHub Personal Access Token
- API key for your chosen LLM provider (OpenAI, Anthropic, etc.)

### Install from PyPI

```bash
pip install dailysum
```

### Install from Source

```bash
git clone https://github.com/njbrake/dailysum.git
cd dailysum
pip install -e .
```

## Configuration

### Option 1: Interactive Setup (Recommended)

Run the initialization command and follow the prompts:

```bash
dailysum init
```

This will:
- Prompt for your GitHub token
- Let you choose your preferred LLM model
- Optionally set your company name
- Save configuration to `~/.config/dailysum/config.toml`

### Option 2: Environment Variables

Set these environment variables:

```bash
export GITHUB_TOKEN="ghp_your_github_token_here"
export MODEL_ID="openai/gpt-4o-mini"  # Optional, defaults to gpt-4o-mini
export COMPANY="Your Company Name"     # Optional
```

Then run with the `--use-env` flag:

```bash
dailysum generate --use-env
```

### Getting a GitHub Token

1. Go to [GitHub Settings > Developer settings > Personal access tokens](https://github.com/settings/tokens)
2. Click "Generate new token (classic)"
3. Select scopes: `repo`, `read:user`, `read:org`, `notifications`
4. Copy the generated token

### Supported LLM Providers

- **OpenAI**: `openai/gpt-4o`, `openai/gpt-4o-mini`, `openai/gpt-3.5-turbo`
- **Anthropic**: `anthropic/claude-3-5-sonnet-20241022`, `anthropic/claude-3-haiku-20240307`
- **Mistral**: `mistral/mistral-large-latest`, `mistral/mistral-small-latest`
- **Google**: `google/gemini-1.5-pro`, `google/gemini-1.5-flash`

See [any-llm providers](https://mozilla-ai.github.io/any-llm/providers/) for the complete list.

## Usage

### Generate Your Daily Summary

```bash
dailysum generate
```

### Generate with Quality Evaluation

```bash
dailysum generate --evaluate
```

### View Current Configuration

```bash
dailysum config
```

### Use Environment Variables Instead of Config File

```bash
dailysum generate --use-env
```

## Advanced Usage

### Custom Configuration File Location

```bash
# Initialize with custom location
dailysum init --config-path /path/to/my/config.toml

# Generate using custom location
dailysum generate --config-path /path/to/my/config.toml
```

### Different Models for Different Purposes

You can easily switch between models by updating your config:

```bash
# Use a faster, cheaper model
dailysum init --model-id "openai/gpt-4o-mini"

# Use a more powerful model for complex summaries
dailysum init --model-id "anthropic/claude-3-5-sonnet-20241022"
```

## Development

### Setting Up Development Environment

```bash
git clone https://github.com/njbrake/dailysum.git
cd dailysum

# Install with development dependencies
pip install -e ".[dev]"

# Set up pre-commit hooks
pre-commit install
```

### Running Tests

```bash
pytest
```

### Code Quality

```bash
# Format and lint
ruff format .
ruff check . --fix

# Type checking
mypy src/
```

## Contributing

Contributions are welcome. Areas of interest:

- New LLM provider support
- Summary templates and prompts
- Additional GitHub data sources
- CLI improvements
- Tests and documentation

See [Contributing Guide](CONTRIBUTING.md) for details.

## Example Output

```
📋 Your Daily Summary
┌─────────────────────────────────────────────────────────────┐
│ Yesterday:                                                  │
│ - Merged PR #234: Implement user authentication system     │
│ - Reviewed PR #231: Add Docker configuration               │
│ - Fixed critical bug in payment processing (Issue #189)    │
│ - Updated documentation for API endpoints                  │
│                                                             │
│ Today:                                                      │
│ - Complete integration tests for authentication system     │
│ - Review pending PRs from team members                     │
│ - Start work on user dashboard redesign                    │
│ - Investigate performance issues in search functionality   │
└─────────────────────────────────────────────────────────────┘
```

## Troubleshooting

### "Configuration error: GitHub token not found"

Make sure you've either:
- Run `dailysum init` to set up a config file, or
- Set the `GITHUB_TOKEN` environment variable

### "Unable to import 'any_agent'"

Install the required dependencies:
```bash
pip install any-agent any-llm-sdk
```

### Rate Limiting Issues

If you hit GitHub API rate limits:
- Use a GitHub token (provides 5000 requests/hour vs 60 for unauthenticated)
- Consider running the tool less frequently
- The tool automatically respects rate limits and will wait if needed

## License

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

## Acknowledgments

- [any-llm](https://github.com/njbrakeany-llm) - Unified LLM provider interface
- [any-agent](https://github.com/njbrakeany-agent) - Unified AI agent framework
- [GitHub Copilot MCP](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-in-your-ide) - GitHub API access via Model Context Protocol
- [Rich](https://github.com/Textualize/rich) - Beautiful terminal output
- [Click](https://click.palletsprojects.com/) - Command-line interface framework

---

Built by Mozilla AI

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dailysum",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "ai, github, productivity, cli, agent, llm",
    "author": null,
    "author_email": "Mozilla AI <ai-engineering@mozilla.com>",
    "download_url": "https://files.pythonhosted.org/packages/8d/aa/b3a07120368b2d4d3a6365ffc6898f191dd965ad0d9be46310758c94fa50/dailysum-0.0.1.tar.gz",
    "platform": null,
    "description": "# DailySum\n\n[![Lint](https://github.com/njbrake/dailysum/actions/workflows/lint.yaml/badge.svg)](https://github.com/njbrake/dailysum/actions/workflows/lint.yaml)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)\n[![PyPI](https://img.shields.io/pypi/v/dailysum)](https://pypi.org/project/dailysum/)\n[![codecov](https://codecov.io/gh/njbrake/dailysum/branch/main/graph/badge.svg)](https://codecov.io/gh/njbrake/dailysum)\n\nA CLI tool that uses AI agents to generate daily work summaries from your GitHub activity.\n\n## What It Does\n\nAnalyzes your GitHub activity and generates daily summaries like this:\n\n```\nYesterday:\n- Merged PR #142: Fix authentication bug in user login flow\n- Reviewed PR #138: Add support for OAuth2 integration\n- Opened issue #145: Memory leak in background task processor\n\nToday:\n- Continue work on OAuth2 integration testing\n- Address memory leak issue in background processor\n- Review pending PRs from team members\n```\n\n## How It Works\n\nThis tool uses two Mozilla AI projects:\n\n### [any-llm](https://github.com/njbrakeany-llm)\nProvides a unified interface to different LLM providers. Switch between OpenAI, Anthropic, Mistral, and other models with a string change.\n\n### [any-agent](https://github.com/njbrakeany-agent)\nProvides a unified interface for AI agent frameworks. Handles tool orchestration, model interactions, and GitHub API access via Model Context Protocol (MCP).\n\nTogether, these handle the complexity of GitHub API interactions and LLM provider differences.\n\n## Installation\n\n### Requirements\n\n- Python 3.11 or newer\n- A GitHub Personal Access Token\n- API key for your chosen LLM provider (OpenAI, Anthropic, etc.)\n\n### Install from PyPI\n\n```bash\npip install dailysum\n```\n\n### Install from Source\n\n```bash\ngit clone https://github.com/njbrake/dailysum.git\ncd dailysum\npip install -e .\n```\n\n## Configuration\n\n### Option 1: Interactive Setup (Recommended)\n\nRun the initialization command and follow the prompts:\n\n```bash\ndailysum init\n```\n\nThis will:\n- Prompt for your GitHub token\n- Let you choose your preferred LLM model\n- Optionally set your company name\n- Save configuration to `~/.config/dailysum/config.toml`\n\n### Option 2: Environment Variables\n\nSet these environment variables:\n\n```bash\nexport GITHUB_TOKEN=\"ghp_your_github_token_here\"\nexport MODEL_ID=\"openai/gpt-4o-mini\"  # Optional, defaults to gpt-4o-mini\nexport COMPANY=\"Your Company Name\"     # Optional\n```\n\nThen run with the `--use-env` flag:\n\n```bash\ndailysum generate --use-env\n```\n\n### Getting a GitHub Token\n\n1. Go to [GitHub Settings > Developer settings > Personal access tokens](https://github.com/settings/tokens)\n2. Click \"Generate new token (classic)\"\n3. Select scopes: `repo`, `read:user`, `read:org`, `notifications`\n4. Copy the generated token\n\n### Supported LLM Providers\n\n- **OpenAI**: `openai/gpt-4o`, `openai/gpt-4o-mini`, `openai/gpt-3.5-turbo`\n- **Anthropic**: `anthropic/claude-3-5-sonnet-20241022`, `anthropic/claude-3-haiku-20240307`\n- **Mistral**: `mistral/mistral-large-latest`, `mistral/mistral-small-latest`\n- **Google**: `google/gemini-1.5-pro`, `google/gemini-1.5-flash`\n\nSee [any-llm providers](https://mozilla-ai.github.io/any-llm/providers/) for the complete list.\n\n## Usage\n\n### Generate Your Daily Summary\n\n```bash\ndailysum generate\n```\n\n### Generate with Quality Evaluation\n\n```bash\ndailysum generate --evaluate\n```\n\n### View Current Configuration\n\n```bash\ndailysum config\n```\n\n### Use Environment Variables Instead of Config File\n\n```bash\ndailysum generate --use-env\n```\n\n## Advanced Usage\n\n### Custom Configuration File Location\n\n```bash\n# Initialize with custom location\ndailysum init --config-path /path/to/my/config.toml\n\n# Generate using custom location\ndailysum generate --config-path /path/to/my/config.toml\n```\n\n### Different Models for Different Purposes\n\nYou can easily switch between models by updating your config:\n\n```bash\n# Use a faster, cheaper model\ndailysum init --model-id \"openai/gpt-4o-mini\"\n\n# Use a more powerful model for complex summaries\ndailysum init --model-id \"anthropic/claude-3-5-sonnet-20241022\"\n```\n\n## Development\n\n### Setting Up Development Environment\n\n```bash\ngit clone https://github.com/njbrake/dailysum.git\ncd dailysum\n\n# Install with development dependencies\npip install -e \".[dev]\"\n\n# Set up pre-commit hooks\npre-commit install\n```\n\n### Running Tests\n\n```bash\npytest\n```\n\n### Code Quality\n\n```bash\n# Format and lint\nruff format .\nruff check . --fix\n\n# Type checking\nmypy src/\n```\n\n## Contributing\n\nContributions are welcome. Areas of interest:\n\n- New LLM provider support\n- Summary templates and prompts\n- Additional GitHub data sources\n- CLI improvements\n- Tests and documentation\n\nSee [Contributing Guide](CONTRIBUTING.md) for details.\n\n## Example Output\n\n```\n\ud83d\udccb Your Daily Summary\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502 Yesterday:                                                  \u2502\n\u2502 - Merged PR #234: Implement user authentication system     \u2502\n\u2502 - Reviewed PR #231: Add Docker configuration               \u2502\n\u2502 - Fixed critical bug in payment processing (Issue #189)    \u2502\n\u2502 - Updated documentation for API endpoints                  \u2502\n\u2502                                                             \u2502\n\u2502 Today:                                                      \u2502\n\u2502 - Complete integration tests for authentication system     \u2502\n\u2502 - Review pending PRs from team members                     \u2502\n\u2502 - Start work on user dashboard redesign                    \u2502\n\u2502 - Investigate performance issues in search functionality   \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n## Troubleshooting\n\n### \"Configuration error: GitHub token not found\"\n\nMake sure you've either:\n- Run `dailysum init` to set up a config file, or\n- Set the `GITHUB_TOKEN` environment variable\n\n### \"Unable to import 'any_agent'\"\n\nInstall the required dependencies:\n```bash\npip install any-agent any-llm-sdk\n```\n\n### Rate Limiting Issues\n\nIf you hit GitHub API rate limits:\n- Use a GitHub token (provides 5000 requests/hour vs 60 for unauthenticated)\n- Consider running the tool less frequently\n- The tool automatically respects rate limits and will wait if needed\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Acknowledgments\n\n- [any-llm](https://github.com/njbrakeany-llm) - Unified LLM provider interface\n- [any-agent](https://github.com/njbrakeany-agent) - Unified AI agent framework\n- [GitHub Copilot MCP](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-in-your-ide) - GitHub API access via Model Context Protocol\n- [Rich](https://github.com/Textualize/rich) - Beautiful terminal output\n- [Click](https://click.palletsprojects.com/) - Command-line interface framework\n\n---\n\nBuilt by Mozilla AI\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A CLI tool that uses AI agents to generate daily work summaries from GitHub activity",
    "version": "0.0.1",
    "project_urls": {
        "Documentation": "https://github.com/njbrake/dailysum",
        "Issues": "https://github.com/njbrake/dailysum/issues",
        "Source": "https://github.com/njbrake/dailysum"
    },
    "split_keywords": [
        "ai",
        " github",
        " productivity",
        " cli",
        " agent",
        " llm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6cf99186bf19fe90d41c33df0e48a0021b61c089462aa8714295451714d7e14f",
                "md5": "81607bdd55527adf23d4741effa105be",
                "sha256": "bbe9889892cc576b706f786476dd48de625b29c9f8e0e7f952f299f03bff95f9"
            },
            "downloads": -1,
            "filename": "dailysum-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "81607bdd55527adf23d4741effa105be",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 14806,
            "upload_time": "2025-08-19T01:49:33",
            "upload_time_iso_8601": "2025-08-19T01:49:33.692327Z",
            "url": "https://files.pythonhosted.org/packages/6c/f9/9186bf19fe90d41c33df0e48a0021b61c089462aa8714295451714d7e14f/dailysum-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8daab3a07120368b2d4d3a6365ffc6898f191dd965ad0d9be46310758c94fa50",
                "md5": "c88bebf592b2943863944744bf9afeb4",
                "sha256": "de3f3341b4daa5872a3904d525762fca35085ec9c1286ca9e391998e19adfe90"
            },
            "downloads": -1,
            "filename": "dailysum-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c88bebf592b2943863944744bf9afeb4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 19612,
            "upload_time": "2025-08-19T01:49:35",
            "upload_time_iso_8601": "2025-08-19T01:49:35.293143Z",
            "url": "https://files.pythonhosted.org/packages/8d/aa/b3a07120368b2d4d3a6365ffc6898f191dd965ad0d9be46310758c94fa50/dailysum-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-19 01:49:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "njbrake",
    "github_project": "dailysum",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dailysum"
}
        
Elapsed time: 1.28960s