| Name | whatdidido JSON |
| Version |
0.1.5
JSON |
| download |
| home_page | None |
| Summary | Track your work across Jira and Linear. Generate AI-powered summaries of your activities. |
| upload_time | 2025-10-25 01:57:46 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.10 |
| license | MIT |
| keywords |
jira
linear
productivity
work-tracking
ai
openai
cli
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# What Did I Do Again?
[](https://badge.fury.io/py/whatdidido.svg)
[](https://opensource.org/licenses/MIT)
**Track your work across Jira and Linear. Generate AI-powered summaries of your activities.**
**Runs 100% locally on your machine. Bring your own API keys (BYOK) - your credentials stay under your control.**
`whatdidido` is a command-line tool that syncs your work items from ticketing systems (Jira, Linear) and generates intelligent summaries using OpenAI. Perfect for status reports, performance reviews, and keeping track of what you've accomplished.

## Installation
Prequisite is [Python 3.10](https://www.python.org/downloads/) and above installed
### pip
```bash
pip install whatdidido
```
## Quick Start
### 1. Configure Your Integrations
```bash
whatdidido connect
```
This interactive wizard will guide you through:
- Selecting which integrations to connect (Jira, Linear)
- Entering API credentials
- Configuring OpenAI for AI summaries (optional)
### 2. Sync Your Work
```bash
whatdidido sync
```
Fetches your work items from all configured integrations.
### 3. Generate a Report
```bash
whatdidido report
```
Creates an AI-powered summary of your activities in `whatdidido.md`.
## Cost Considerations
When using the AI-powered summarization feature, OpenAI API usage will incur costs. Here's what to expect:
**Example Usage Cost:**
- **19 Jira tickets analyzed**
- **API Usage:** ~25,000 input tokens, ~3,079 output tokens
- **Approximate Cost:** $0.06 USD
Actual costs will vary based on:
- Number of work items synced
- Complexity and length of ticket descriptions
- OpenAI model used (configurable)
- Frequency of report generation
**Cost Management Tips:**
- Use date ranges to limit the number of items synced
- Sync only when you need to generate reports
- Monitor your OpenAI API usage at [platform.openai.com](https://platform.openai.com)
## Usage Examples
```bash
# Sync work from the last 30 days (Suppose today is 2025-10-23)
whatdidido sync --start-date 2025-09-23
# Sync work for a specific user
whatdidido sync --user colleague@company.com
# Sync a specific date range
whatdidido sync --start-date 2024-01-01 --end-date 2024-12-31
# View current configuration
whatdidido config
# Clean up synced data
whatdidido clean
```
## Available Commands
| Command | Description |
| ------------ | ---------------------------------------- |
| `connect` | Configure integrations and credentials |
| `sync` | Fetch work items from configured sources |
| `report` | Generate AI-powered summary report |
| `config` | Display current configuration |
| `disconnect` | Remove integration credentials |
| `clean` | Delete synced data files |
## Contributing
We welcome contributions! To contribute:
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run tests: `pytest`
5. Format code: `black .`
6. Submit a pull request
### Development Setup
For local development:
```bash
git clone https://github.com/oliviersm199/whatdididoagain.git
cd whatdididoagain
pip install -e ".[dev]"
pre-commit install
```
### Running Tests
```bash
pytest
pytest --cov=src # with coverage
```
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Support
- **Issues**: [GitHub Issues](https://github.com/oliviersm199/whatdididoagain/issues)
Raw data
{
"_id": null,
"home_page": null,
"name": "whatdidido",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "jira, linear, productivity, work-tracking, ai, openai, cli",
"author": null,
"author_email": "Olivier Morissette <oliviersm199@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/83/c9/fa8edc0a3829c061c941841be6c1eaaeabc3c866db71a7e0c7ade4cdc392/whatdidido-0.1.5.tar.gz",
"platform": null,
"description": "# What Did I Do Again?\n\n[](https://badge.fury.io/py/whatdidido.svg)\n[](https://opensource.org/licenses/MIT)\n\n**Track your work across Jira and Linear. Generate AI-powered summaries of your activities.**\n\n**Runs 100% locally on your machine. Bring your own API keys (BYOK) - your credentials stay under your control.**\n\n`whatdidido` is a command-line tool that syncs your work items from ticketing systems (Jira, Linear) and generates intelligent summaries using OpenAI. Perfect for status reports, performance reviews, and keeping track of what you've accomplished.\n\n\n\n## Installation\n\nPrequisite is [Python 3.10](https://www.python.org/downloads/) and above installed\n\n### pip\n\n```bash\npip install whatdidido\n```\n\n## Quick Start\n\n### 1. Configure Your Integrations\n\n```bash\nwhatdidido connect\n```\n\nThis interactive wizard will guide you through:\n\n- Selecting which integrations to connect (Jira, Linear)\n- Entering API credentials\n- Configuring OpenAI for AI summaries (optional)\n\n### 2. Sync Your Work\n\n```bash\nwhatdidido sync\n```\n\nFetches your work items from all configured integrations.\n\n### 3. Generate a Report\n\n```bash\nwhatdidido report\n```\n\nCreates an AI-powered summary of your activities in `whatdidido.md`.\n\n## Cost Considerations\n\nWhen using the AI-powered summarization feature, OpenAI API usage will incur costs. Here's what to expect:\n\n**Example Usage Cost:**\n\n- **19 Jira tickets analyzed**\n- **API Usage:** ~25,000 input tokens, ~3,079 output tokens\n- **Approximate Cost:** $0.06 USD\n\nActual costs will vary based on:\n\n- Number of work items synced\n- Complexity and length of ticket descriptions\n- OpenAI model used (configurable)\n- Frequency of report generation\n\n**Cost Management Tips:**\n\n- Use date ranges to limit the number of items synced\n- Sync only when you need to generate reports\n- Monitor your OpenAI API usage at [platform.openai.com](https://platform.openai.com)\n\n## Usage Examples\n\n```bash\n# Sync work from the last 30 days (Suppose today is 2025-10-23)\nwhatdidido sync --start-date 2025-09-23\n\n# Sync work for a specific user\nwhatdidido sync --user colleague@company.com\n\n# Sync a specific date range\nwhatdidido sync --start-date 2024-01-01 --end-date 2024-12-31\n\n# View current configuration\nwhatdidido config\n\n# Clean up synced data\nwhatdidido clean\n```\n\n## Available Commands\n\n| Command | Description |\n| ------------ | ---------------------------------------- |\n| `connect` | Configure integrations and credentials |\n| `sync` | Fetch work items from configured sources |\n| `report` | Generate AI-powered summary report |\n| `config` | Display current configuration |\n| `disconnect` | Remove integration credentials |\n| `clean` | Delete synced data files |\n\n## Contributing\n\nWe welcome contributions! To contribute:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Run tests: `pytest`\n5. Format code: `black .`\n6. Submit a pull request\n\n### Development Setup\n\nFor local development:\n\n```bash\ngit clone https://github.com/oliviersm199/whatdididoagain.git\ncd whatdididoagain\npip install -e \".[dev]\"\npre-commit install\n```\n\n### Running Tests\n\n```bash\npytest\npytest --cov=src # with coverage\n```\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/oliviersm199/whatdididoagain/issues)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Track your work across Jira and Linear. Generate AI-powered summaries of your activities.",
"version": "0.1.5",
"project_urls": {
"Documentation": "https://github.com/oliviersm199/whatdididoagain#readme",
"Homepage": "https://github.com/oliviersm199/whatdididoagain",
"Issues": "https://github.com/oliviersm199/whatdididoagain/issues",
"Repository": "https://github.com/oliviersm199/whatdididoagain"
},
"split_keywords": [
"jira",
" linear",
" productivity",
" work-tracking",
" ai",
" openai",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b753b8a2e8bb21c8d4adf18acd18dcca34e271e0e0b907fc1e3d77514602afa2",
"md5": "b627fed0cd5d647002b521e028008d15",
"sha256": "29e096165d10fc05eb362fc4af2217770222c23236daad53afe5d85515326d82"
},
"downloads": -1,
"filename": "whatdidido-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b627fed0cd5d647002b521e028008d15",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 35935,
"upload_time": "2025-10-25T01:57:45",
"upload_time_iso_8601": "2025-10-25T01:57:45.417887Z",
"url": "https://files.pythonhosted.org/packages/b7/53/b8a2e8bb21c8d4adf18acd18dcca34e271e0e0b907fc1e3d77514602afa2/whatdidido-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "83c9fa8edc0a3829c061c941841be6c1eaaeabc3c866db71a7e0c7ade4cdc392",
"md5": "c6b206f38f2d1028be1838787fac0d4e",
"sha256": "181bd662626ff7d617f684f8e86aaa86aa2ada00fdca5a1b0c3f2f94a7736c2d"
},
"downloads": -1,
"filename": "whatdidido-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "c6b206f38f2d1028be1838787fac0d4e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 49856,
"upload_time": "2025-10-25T01:57:46",
"upload_time_iso_8601": "2025-10-25T01:57:46.521577Z",
"url": "https://files.pythonhosted.org/packages/83/c9/fa8edc0a3829c061c941841be6c1eaaeabc3c866db71a7e0c7ade4cdc392/whatdidido-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-25 01:57:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "oliviersm199",
"github_project": "whatdididoagain#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "whatdidido"
}