Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
0264ceb
refactor(ssm): restructure into modular command architecture
edu526 Mar 2, 2026
5594a9b
refactor(aws-login): restructure into modular command and core archit…
edu526 Mar 2, 2026
2bbb19b
refactor(upgrade): restructure into modular command and core architec…
edu526 Mar 2, 2026
4560759
refactor(autocomplete): restructure into modular command and core arc…
edu526 Mar 2, 2026
2a41211
refactor(codeartifact): restructure into modular command and core arc…
edu526 Mar 2, 2026
584a21d
refactor(commit): restructure into modular command and core architecture
edu526 Mar 2, 2026
0e34093
refactor(eventbridge): restructure into modular command and core arch…
edu526 Mar 2, 2026
432b24e
refactor(config): restructure into modular command and core architecture
edu526 Mar 2, 2026
cf58ba1
refactor(dynamodb): restructure into modular command and core archite…
edu526 Mar 2, 2026
4c61124
refactor(code_reviewer): restructure into modular command and core ar…
edu526 Mar 2, 2026
4628df4
refactor(code_reviewer, dynamodb): restructure into modular command a…
edu526 Mar 2, 2026
cf35933
refactor(cli): eliminate thin wrapper layer in cli_tool/commands/
edu526 Mar 2, 2026
4f7d479
refactor(cli): consolidate command modules under unified commands dir…
edu526 Mar 2, 2026
31b466a
docs(commands): update module paths to reflect unified commands direc…
edu526 Mar 2, 2026
73774d5
refactor(core): add explicit exports to agent and utils modules
edu526 Mar 2, 2026
9a20541
docs: add architecture documentation and command READMEs
edu526 Mar 2, 2026
c5d8f05
test: add comprehensive test suite with fixtures and CI/CD improvements
edu526 Mar 2, 2026
a28344e
test: expand test suite with error handling, integration, and regress…
edu526 Mar 2, 2026
f5f4697
test(aws_login): add comprehensive test suite for list profiles command
edu526 Mar 2, 2026
c7ae150
chore(isort): exclude _version.py from import sorting
edu526 Mar 2, 2026
2ca6f89
chore(deps): add pytest-cov and moto to dev dependencies
edu526 Mar 2, 2026
d6d1ce4
chore(ci): move unit tests to pre-push hook and add Python 3.13 support
edu526 Mar 2, 2026
c2baad8
ci: adjust CI/CD configuration and test coverage thresholds
edu526 Mar 2, 2026
18f9dce
ci: adjust coverage threshold and improve coverage configuration
edu526 Mar 2, 2026
a245849
test: improve cross-platform test reliability and Windows mocking
edu526 Mar 2, 2026
a4513bb
ci: update macOS runner from macos-14-large to macos-15-intel
edu526 Mar 2, 2026
4752f8c
ci: optimize CI/CD workflows with pip caching and dependency groups
edu526 Mar 2, 2026
fa7ef9e
ci: install package in editable mode for development workflows
edu526 Mar 2, 2026
e2c889d
ci: expand test matrix and refactor workflows for multi-platform cove…
edu526 Mar 2, 2026
ba11537
ci: refactor workflows with reusable lint job and matrix strategy
edu526 Mar 2, 2026
02be0b0
ci: add Codecov token secret passing to workflows
edu526 Mar 2, 2026
272d019
ci(test-reusable): enhance test workflow with improved coverage repor…
edu526 Mar 2, 2026
5668de9
fix(installer): add filter parameter to tarfile extraction for security
edu526 Mar 2, 2026
a2f5ab0
feat(ssm): enhance database connection display with rich table format…
edu526 Mar 2, 2026
92d0f10
chore(makefile): consolidate install targets and simplify dependency …
edu526 Mar 2, 2026
eac95bb
style: normalize code formatting and pre-commit hook stages
edu526 Mar 2, 2026
9b5d637
ci: add lint job dependency to test workflows
edu526 Mar 2, 2026
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: 2 additions & 1 deletion .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ statistics = true
per-file-ignores =
# Allow long lines in prompt files (they contain documentation strings)
cli_tool/code_reviewer/prompt/*.py:E501

# Test files: Allow unused imports (fixtures) and unused variables (mocks)
tests/**/*.py:F401,F841,F811,F402
5 changes: 3 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'pyproject.toml'

- name: Install dependencies
run: |
pip install mkdocs-material mkdocs-click
pip install -e .
pip install ".[docs]"

- name: Build documentation
run: mkdocs build
Expand Down
27 changes: 27 additions & 0 deletions .github/workflows/lint-reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Reusable Lint Workflow

on:
workflow_call:

jobs:
lint:
name: Lint
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'pyproject.toml'

- name: Install dependencies
run: |
pip install -e ".[dev]"

- name: Run pre-commit checks
run: pre-commit run --all-files
30 changes: 25 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,29 @@ permissions:
pull-requests: write

jobs:
lint:
name: Lint
uses: ./.github/workflows/lint-reusable.yml

test:
name: Run Tests
name: Test
needs: lint
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.12', '3.13']
uses: ./.github/workflows/test-reusable.yml
with:
python-version: '3.12'
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

check-version:
name: Check next version (dry-run)
runs-on: ubuntu-latest
needs: test
needs: [lint, test]
outputs:
should-release: ${{ steps.check.outputs.should-release }}
next-version: ${{ steps.check.outputs.next-version }}
Expand All @@ -44,6 +57,7 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'

- name: Install semantic-release
run: pip install python-semantic-release
Expand Down Expand Up @@ -154,6 +168,8 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'pyproject.toml'

- name: Build binary
env:
Expand Down Expand Up @@ -268,6 +284,7 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'

- name: Install semantic-release
run: pip install python-semantic-release
Expand Down Expand Up @@ -348,19 +365,21 @@ jobs:
notify-telegram:
name: Notify Telegram
runs-on: ubuntu-latest
needs: [test, check-version, build-binaries, create-release, upload-assets]
needs: [lint, test, check-version, build-binaries, create-release, upload-assets]
if: always()

steps:
- name: Determine overall status
id: status
run: |
# Check if any job failed or was cancelled
if [ "${{ needs.test.result }}" == "failure" ] || \
if [ "${{ needs.lint.result }}" == "failure" ] || \
[ "${{ needs.test.result }}" == "failure" ] || \
[ "${{ needs.check-version.result }}" == "failure" ] || \
[ "${{ needs.build-binaries.result }}" == "failure" ] || \
[ "${{ needs.create-release.result }}" == "failure" ] || \
[ "${{ needs.upload-assets.result }}" == "failure" ] || \
[ "${{ needs.lint.result }}" == "cancelled" ] || \
[ "${{ needs.test.result }}" == "cancelled" ] || \
[ "${{ needs.check-version.result }}" == "cancelled" ] || \
[ "${{ needs.build-binaries.result }}" == "cancelled" ] || \
Expand Down Expand Up @@ -411,6 +430,7 @@ jobs:
Commit: `${{ github.sha }}`

Step Results:
• Lint: ${{ needs.lint.result }}
• Tests: ${{ needs.test.result }}
• Check Version: ${{ needs.check-version.result }}
• Build Binaries: ${{ needs.build-binaries.result }}
Expand Down
31 changes: 25 additions & 6 deletions .github/workflows/test-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,48 @@ on:
required: false
type: string
default: '3.12'
os:
description: 'Operating system to test on'
required: false
type: string
default: 'ubuntu-latest'
secrets:
CODECOV_TOKEN:
description: 'Codecov token for uploading coverage'
required: false

jobs:
test:
name: Test on Python ${{ inputs.python-version }}
runs-on: ubuntu-latest
name: Test on ${{ inputs.os }} with Python ${{ inputs.python-version }}
runs-on: ${{ inputs.os }}

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: 'pip'
cache-dependency-path: 'pyproject.toml'

- name: Install dependencies
run: |
pip install -e ".[dev]"

- name: Run pre-commit checks
run: pre-commit run --all-files
- name: Run tests with coverage
run: pytest --cov=cli_tool --cov-report=xml --cov-report=term-missing --cov-fail-under=40 -v

- name: Run tests
run: pytest --maxfail=1 --disable-warnings -v
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
if: always()
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
flags: ${{ inputs.os }}-python${{ inputs.python-version }}
fail_ci_if_error: false
verbose: true
23 changes: 19 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,29 @@ on:
- '.github/workflows/docs.yml'

jobs:
lint:
name: Lint
uses: ./.github/workflows/lint-reusable.yml

test:
name: Run Tests
name: Test
needs: lint
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.12', '3.13']
uses: ./.github/workflows/test-reusable.yml
with:
python-version: '3.12'
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

build-test:
name: Test Binary Build (${{ matrix.platform }}-${{ matrix.arch }})
runs-on: ${{ matrix.os }}
needs: test
needs: [lint, test]
strategy:
matrix:
include:
Expand All @@ -31,7 +44,7 @@ jobs:
build_script: bash scripts/build.sh --ci --release

# macOS Intel
- os: macos-latest
- os: macos-15-intel
platform: darwin
arch: amd64
build_script: bash scripts/build.sh --ci --release
Expand Down Expand Up @@ -65,6 +78,8 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'pyproject.toml'

- name: Build binary
env:
Expand Down
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
./instance/
.webassets-cache

# Scrapy stuff:
Expand Down Expand Up @@ -159,4 +159,6 @@ cython_debug/
Thumbs.db

config.*.json
*.csv
*.csv

.kiro/specs
Loading