Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
803f09b
Create LICENSE
Maciek-roboblog Jun 19, 2025
905c4d9
Update documentation
Maciek-roboblog Jun 19, 2025
bcab2af
Update DEVELOPMENT.md
Maciek-roboblog Jun 19, 2025
6f81f60
feat: add uv package manager support
adawalli Jun 19, 2025
26bae77
docs: fix uv installation instructions for local install
adawalli Jun 19, 2025
ce630bc
Merge pull request #13 from adawalli/uv
Maciek-roboblog Jun 19, 2025
4386d1c
feat: integrate ruff for code quality and formatting
adawalli Jun 19, 2025
0607b5b
Update active
Maciek-roboblog Jun 19, 2025
deb2c41
Update pyproject.toml
Maciek-roboblog Jun 20, 2025
e40303b
Merge pull request #16 from adawalli/chore/formatting
Maciek-roboblog Jun 20, 2025
80d163d
Update lint.yml
Maciek-roboblog Jun 20, 2025
26e9d44
Fix problems
Maciek-roboblog Jun 20, 2025
55fc351
Test automatic install
Maciek-roboblog Jun 20, 2025
1a25749
Fix git hooks
Maciek-roboblog Jun 20, 2025
247a4e6
Add Contributors Page
Maciek-roboblog Jun 20, 2025
64c6e48
Update README.md
moneroexamples Jun 20, 2025
0fc9455
Merge pull request #21 from moneroexamples/main
Maciek-roboblog Jun 20, 2025
f9d146a
Update README.md
Maciek-roboblog Jun 20, 2025
1c2208d
Update README.md
Maciek-roboblog Jun 20, 2025
4aa84a9
Merge pull request #22 from Maciek-roboblog/fix-path
Maciek-roboblog Jun 20, 2025
cf2eae7
Update README.md
Maciek-roboblog Jun 20, 2025
d9a5a02
Docs: Add Star History chart to README.md
coygeek Jun 21, 2025
48f64d6
Merge pull request #33 from coygeek/main
Maciek-roboblog Jun 21, 2025
8d2f78a
Merge branch 'main' into uv
Maciek-roboblog Jun 21, 2025
9e920c5
Update names & tests
Maciek-roboblog Jun 21, 2025
af0a4ca
pre-commit
Maciek-roboblog Jun 21, 2025
9e653ab
Add CHangelog and fix pyproject.toml
Maciek-roboblog Jun 21, 2025
360faf7
Update
Maciek-roboblog Jun 21, 2025
db80c85
Merge pull request #38 from Maciek-roboblog/uv-refactor
Maciek-roboblog Jun 21, 2025
c217626
Add automatic install node
Maciek-roboblog Jun 21, 2025
b0b29a5
Update version
Maciek-roboblog Jun 21, 2025
8ad8e36
Update README.md
Maciek-roboblog Jun 21, 2025
d18ccb4
Update README.md
Maciek-roboblog Jun 21, 2025
eeaa6d6
Update README.md
Maciek-roboblog Jun 21, 2025
ec710d6
Update README and TROUBLESHOOTING
Maciek-roboblog Jun 21, 2025
2f6e67b
Create .coderabbit.yaml
Maciek-roboblog Jun 22, 2025
934cdfe
Fix after review
Maciek-roboblog Jun 22, 2025
5701ff9
Update lint.yml
Maciek-roboblog Jun 22, 2025
31f0617
Update lint.yml
Maciek-roboblog Jun 22, 2025
605ec50
Update after review
Maciek-roboblog Jun 22, 2025
d1b443c
Update after review
Maciek-roboblog Jun 22, 2025
4a11098
Update after review
Maciek-roboblog Jun 22, 2025
5ca83eb
fix install node
Maciek-roboblog Jun 22, 2025
585559e
Fix dependency
Maciek-roboblog Jun 22, 2025
29142b9
Update version and view
Maciek-roboblog Jun 22, 2025
bdf41a5
Merge pull request #18 from Maciek-roboblog/uv
Maciek-roboblog Jun 22, 2025
5bd7bd8
Update version
Maciek-roboblog Jun 22, 2025
6ca06fa
Create FUNDING.yml
Maciek-roboblog Jun 22, 2025
08717d0
Update FUNDING.yml
Maciek-roboblog Jun 22, 2025
6545416
Update FUNDING.yml
Maciek-roboblog Jun 22, 2025
28274ef
Update ccusage nitializatio & fix colors
Maciek-roboblog Jun 23, 2025
ec2e2e7
Update ccusage nitializatio & fix colors
Maciek-roboblog Jun 23, 2025
9580b4d
Lint
Maciek-roboblog Jun 23, 2025
8e404b0
Add loading to init
Maciek-roboblog Jun 23, 2025
81703c6
Update gh actions
Maciek-roboblog Jun 23, 2025
6e7ccd5
fix: lock calculation to Europe/Warsaw and separate display TZ
kory- Jun 23, 2025
20f89d4
Update version & current time
Maciek-roboblog Jun 23, 2025
972146a
Update claude_monitor.py
Maciek-roboblog Jun 23, 2025
0e5a77f
Create logic for usage analyzer
Maciek-roboblog Jun 23, 2025
ead7050
v1.0.19
Maciek-roboblog Jun 23, 2025
49179f1
Create logic for usage analyzer
Maciek-roboblog Jun 23, 2025
14bbf50
Merge branch 'develop' into improve-analyze-jsonl
Maciek-roboblog Jun 23, 2025
2b7e20e
Merge pull request #47 from Maciek-roboblog/improve-analyze-jsonl
Maciek-roboblog Jun 24, 2025
1c70ea6
Quick fx to remove ccus and merge new things & in next steps change f…
Maciek-roboblog Jun 24, 2025
d79f388
Merge pull request #51 from Maciek-roboblog/develop
Maciek-roboblog Jun 24, 2025
f25fe16
Update README.md
Maciek-roboblog Jun 24, 2025
63367dc
Fix problem with endpoint
Maciek-roboblog Jun 25, 2025
edc5a1c
Add change theme
Maciek-roboblog Jun 25, 2025
39a3b2f
Update version
Maciek-roboblog Jun 30, 2025
b09f7dd
Add gitignore
Maciek-roboblog Jul 13, 2025
ec78030
Add gitignore
Maciek-roboblog Jul 13, 2025
174de6d
Add gitignore
Maciek-roboblog Jul 13, 2025
96061b7
Add gitignore
Maciek-roboblog Jul 13, 2025
f49f667
Merge remote-tracking branch 'origin/v3.0.1' into v3.0.1
Maciek-roboblog Jul 13, 2025
09b7092
Add gitignore
Maciek-roboblog Jul 13, 2025
4ed32b3
Add gitignore
Maciek-roboblog Jul 13, 2025
85dd613
Add gitignore
Maciek-roboblog Jul 13, 2025
dab729e
Add gitignore
Maciek-roboblog Jul 13, 2025
9b17793
Add gitignore
Maciek-roboblog Jul 13, 2025
a3240db
Add gitignore
Maciek-roboblog Jul 13, 2025
ef7ecbc
Add gitignore
Maciek-roboblog Jul 13, 2025
276a3e3
Add gitignore
Maciek-roboblog Jul 13, 2025
a953d70
Add gitignore
Maciek-roboblog Jul 13, 2025
e1e4bd7
Add gitignore
Maciek-roboblog Jul 13, 2025
59a8343
Add gitignore
Maciek-roboblog Jul 13, 2025
77995e7
Add gitignore
Maciek-roboblog Jul 13, 2025
8f227f7
Add gitignore
Maciek-roboblog Jul 13, 2025
e37b3fa
Add gitignore
Maciek-roboblog Jul 13, 2025
5af0c79
Add gitignore
Maciek-roboblog Jul 13, 2025
8bbb225
Add gitignore
Maciek-roboblog Jul 13, 2025
25380ea
Add gitignore
Maciek-roboblog Jul 13, 2025
c64a7c7
Add gitignore
Maciek-roboblog Jul 13, 2025
2ab3b74
Update version
Maciek-roboblog Jul 13, 2025
4b9ec67
Update version
Maciek-roboblog Jul 13, 2025
e08ce8d
Update version
Maciek-roboblog Jul 13, 2025
e8f549b
Update version
Maciek-roboblog Jul 14, 2025
153e082
Update version
Maciek-roboblog Jul 14, 2025
3160161
Update README.md
Maciek-roboblog Jul 14, 2025
f04c617
Update README.md
Maciek-roboblog Jul 14, 2025
46c9b39
Update README.md
Maciek-roboblog Jul 14, 2025
f2ffe9f
Update theme
Maciek-roboblog Jul 14, 2025
1c8b2ab
Update theme
Maciek-roboblog Jul 14, 2025
9a62941
Merge pull request #87 from Maciek-roboblog/v3.0.2
Maciek-roboblog Jul 14, 2025
f27f61c
Update README.md
Maciek-roboblog Jul 14, 2025
10e147f
Update README.md
Maciek-roboblog Jul 14, 2025
25fcb6a
Update README.md
Maciek-roboblog Jul 14, 2025
5c1225c
Update README.md
Maciek-roboblog Jul 14, 2025
43e3f78
Merge pull request #88 from Maciek-roboblog/v3.0.3
Maciek-roboblog Jul 14, 2025
60311b8
Update README.md
Maciek-roboblog Jul 14, 2025
132858c
Merge pull request #89 from Maciek-roboblog/v3.0.3
Maciek-roboblog Jul 14, 2025
e806aa8
Update README.md
Maciek-roboblog Jul 14, 2025
70e7aeb
Fix theme problem
Maciek-roboblog Jul 14, 2025
5a19040
Fix theme problem
Maciek-roboblog Jul 14, 2025
4e90d0f
Add: Daily and monthly token usage views
mrlitong Jul 19, 2025
6dde4a7
Fix: Address all CodeRabbit AI review suggestions
mrlitong Jul 20, 2025
a85d8fb
Fix: Code quality improvements (linting issues)
mrlitong Jul 20, 2025
f0c0e56
refactor: address code review suggestions from PR #99
Jul 20, 2025
2691046
style: fix linting issues identified by CodeRabbitAI
Jul 20, 2025
552f7ea
style: fix additional linting issues
Jul 20, 2025
bd5d408
style: comprehensive fix for all linting issues in PR
Jul 20, 2025
35ff665
fix: resolve test hanging issue in CI pipeline
mrlitong Jul 23, 2025
eebbb38
style: fix linting issues identified by automated code review
mrlitong Jul 23, 2025
d6b32a5
fix: resolve F841 unused variable in test_cli_main.py
mrlitong Jul 23, 2025
73a7f5d
chore: add local linting scripts to .gitignore
mrlitong Jul 23, 2025
5a60e79
style: fix formatting for PR files only
mrlitong Jul 23, 2025
73c5be4
style: apply ruff import formatting to PR files
mrlitong Jul 23, 2025
7ace481
Merge pull request #99 from mrlitong/feature/daily-monthly-token-stats
Maciek-roboblog Jul 23, 2025
6cb57d4
Upgrade version
Maciek-roboblog Jul 23, 2025
0714a88
Upgrade version
Maciek-roboblog Jul 23, 2025
06f0fe1
Upgrade version
Maciek-roboblog Jul 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github: [Maciek-roboblog]
buy_me_a_coffee: maciekroboblog
thanks_dev: u/gh/maciek-roboblog
63 changes: 63 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Lint

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
ruff:
runs-on: ubuntu-latest
name: Lint with Ruff
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --extra dev

- name: Run Ruff linter
run: uv run ruff check --output-format=github .

- name: Run Ruff formatter
run: uv run ruff format --check .


pre-commit:
runs-on: ubuntu-latest
name: Pre-commit hooks
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}

- name: Install pre-commit
run: uv tool install pre-commit --with pre-commit-uv

- name: Run pre-commit
run: |
# Run pre-commit and check if any files would be modified
uv tool run pre-commit run --all-files --show-diff-on-failure || (
echo "Pre-commit hooks would modify files. Please run 'pre-commit run --all-files' locally and commit the changes."
exit 1
)
111 changes: 111 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Release

on:
push:
branches: [main]
workflow_dispatch:

jobs:
check-version:
runs-on: ubuntu-latest
outputs:
should_release: ${{ steps.check.outputs.should_release }}
version: ${{ steps.extract.outputs.version }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Extract version from pyproject.toml
id: extract
run: |
VERSION=$(grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Version: $VERSION"

- name: Check if tag exists
id: check
run: |
VERSION="${{ steps.extract.outputs.version }}"
if git rev-parse "v$VERSION" >/dev/null 2>&1; then
echo "Tag v$VERSION already exists"
echo "should_release=false" >> $GITHUB_OUTPUT
else
echo "Tag v$VERSION does not exist"
echo "should_release=true" >> $GITHUB_OUTPUT
fi

release:
needs: check-version
if: needs.check-version.outputs.should_release == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write # For trusted PyPI publishing
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Set up Python
run: uv python install

- name: Extract changelog for version
id: changelog
run: |
VERSION="${{ needs.check-version.outputs.version }}"
echo "Extracting changelog for version $VERSION"

# Extract the changelog section for this version using sed
sed -n "/^## \\[$VERSION\\]/,/^## \\[/{/^## \\[$VERSION\\]/d; /^## \\[/q; /^$/d; p}" CHANGELOG.md > release_notes.md

# If no changelog found, create a simple message
if [ ! -s release_notes.md ]; then
echo "No specific changelog found for version $VERSION" > release_notes.md
fi

echo "Release notes:"
cat release_notes.md

- name: Create git tag
run: |
VERSION="${{ needs.check-version.outputs.version }}"
git config user.name "maciekdymarczyk"
git config user.email "maciek@roboblog.eu"
git tag -a "v$VERSION" -m "Release v$VERSION"
git push origin "v$VERSION"

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ needs.check-version.outputs.version }}
name: Release v${{ needs.check-version.outputs.version }}
body_path: release_notes.md
draft: false
prerelease: false

- name: Build package
run: |
uv build
ls -la dist/

- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true

notify-success:
needs: [check-version, release]
if: needs.check-version.outputs.should_release == 'true' && success()
runs-on: ubuntu-latest
steps:
- name: Success notification
run: |
echo "🎉 Successfully released v${{ needs.check-version.outputs.version }}!"
echo "- GitHub Release: https://github.com/${{ github.repository }}/releases/tag/v${{ needs.check-version.outputs.version }}"
echo "- PyPI: https://pypi.org/project/claude-monitor/${{ needs.check-version.outputs.version }}/"
109 changes: 109 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Test Suite

on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
test:
runs-on: ${{ matrix.os }}
name: Test on Python ${{ matrix.python-version }} (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
# os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "latest"

- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --extra test --extra dev

- name: Run unit tests
run: uv run pytest src/tests/ -v --tb=short --cov=claude_monitor --cov-report=xml --cov-report=term-missing

- name: Upload coverage reports to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}


# security:
# runs-on: ubuntu-latest
# name: Security scanning
# strategy:
# matrix:
# python-version: ["3.11"]
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Install uv
# uses: astral-sh/setup-uv@v4
# with:
# version: "latest"
#
# - name: Set up Python ${{ matrix.python-version }}
# run: uv python install ${{ matrix.python-version }}
#
# - name: Install dependencies
# run: uv sync --extra security --extra dev
#
# - name: Run Bandit security linter
# run: uv run bandit -r src/claude_monitor -f json -o bandit-report.json
#
# - name: Run Safety dependency scanner
# run: uv run safety check --json --output safety-report.json || true
#
# - name: Upload security artifacts
# uses: actions/upload-artifact@v4
# if: always()
# with:
# name: security-reports
# path: |
# bandit-report.json
# safety-report.json

# performance:
# runs-on: ubuntu-latest
# name: Performance benchmarks
# strategy:
# matrix:
# python-version: ["3.11"]
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Install uv
# uses: astral-sh/setup-uv@v4
# with:
# version: "latest"
#
# - name: Set up Python ${{ matrix.python-version }}
# run: uv python install ${{ matrix.python-version }}
#
# - name: Install dependencies
# run: uv sync --extra performance --extra dev
#
# - name: Run performance benchmarks
# run: uv run pytest src/tests/ -m benchmark --benchmark-json=benchmark-results.json
#
# - name: Upload benchmark results
# uses: actions/upload-artifact@v4
# if: always()
# with:
# name: benchmark-results
# path: benchmark-results.json
Loading