mr-manager 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/bug_report.yml +64 -0
  2. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/config.yml +1 -0
  3. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/documentation.yml +30 -0
  4. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/feature_request.yml +46 -0
  5. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/question_support.yml +35 -0
  6. mr_manager-0.0.1/.github/ISSUE_TEMPLATE/refactor.yml +29 -0
  7. mr_manager-0.0.1/.github/dependabot.yml +48 -0
  8. mr_manager-0.0.1/.github/pull_request_template.md +26 -0
  9. mr_manager-0.0.1/.github/semantic.yml +2 -0
  10. mr_manager-0.0.1/.github/workflows/code_quality_checks.yml +58 -0
  11. mr_manager-0.0.1/.github/workflows/pr_quality_checks.yml +43 -0
  12. mr_manager-0.0.1/.github/workflows/release.yml +86 -0
  13. mr_manager-0.0.1/.github/workflows/setup/action.yml +16 -0
  14. mr_manager-0.0.1/.github/workflows/wiki.yml +32 -0
  15. mr_manager-0.0.1/.gitignore +343 -0
  16. mr_manager-0.0.1/.idea/vcs.xml +7 -0
  17. mr_manager-0.0.1/.markdownlintignore +1 -0
  18. mr_manager-0.0.1/.python-version +1 -0
  19. mr_manager-0.0.1/CHANGELOG.md +21 -0
  20. mr_manager-0.0.1/LICENSE +674 -0
  21. mr_manager-0.0.1/PKG-INFO +769 -0
  22. mr_manager-0.0.1/README.md +85 -0
  23. mr_manager-0.0.1/assets/screenshots/mr-manager-tui-quit-unsaved-changes.png +0 -0
  24. mr_manager-0.0.1/assets/screenshots/mr-manager-tui-save-successful.png +0 -0
  25. mr_manager-0.0.1/assets/screenshots/mr-manager-tui.png +0 -0
  26. mr_manager-0.0.1/commitlint.config.js +1 -0
  27. mr_manager-0.0.1/markdownlint.json +13 -0
  28. mr_manager-0.0.1/pyproject.toml +37 -0
  29. mr_manager-0.0.1/scripts/add_auto_gen_wiki_hint.sh +13 -0
  30. mr_manager-0.0.1/src/mr_manager/__init__.py +0 -0
  31. mr_manager-0.0.1/src/mr_manager/config.py +193 -0
  32. mr_manager-0.0.1/src/mr_manager/discovery.py +61 -0
  33. mr_manager-0.0.1/src/mr_manager/main.py +12 -0
  34. mr_manager-0.0.1/src/mr_manager/ui.py +443 -0
  35. mr_manager-0.0.1/src/mr_manager/ui.tcss +104 -0
  36. mr_manager-0.0.1/uv.lock +190 -0
  37. mr_manager-0.0.1/wiki/Contribution-Guidelines.md +49 -0
  38. mr_manager-0.0.1/wiki/Home.md +36 -0
  39. mr_manager-0.0.1/wiki/Release-Process.md +73 -0
  40. mr_manager-0.0.1/wiki/Troubleshooting.md +29 -0
  41. mr_manager-0.0.1/wiki/_Footer.md +4 -0
  42. mr_manager-0.0.1/wiki/_Sidebar.md +6 -0
@@ -0,0 +1,64 @@
1
+ name: Bug report
2
+ description: Report a reproducible problem in mr-manager
3
+ title: "[Bug]: "
4
+ labels:
5
+ - bug
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Thanks for reporting a bug. Please provide enough detail so we can reproduce it quickly.
11
+
12
+ - type: textarea
13
+ id: description
14
+ attributes:
15
+ label: What happened?
16
+ description: Describe the actual behavior.
17
+ placeholder: When I run `mr-manager`, ...
18
+ validations:
19
+ required: true
20
+
21
+ - type: textarea
22
+ id: expected
23
+ attributes:
24
+ label: What did you expect to happen?
25
+ placeholder: I expected ...
26
+ validations:
27
+ required: true
28
+
29
+ - type: textarea
30
+ id: reproduction
31
+ attributes:
32
+ label: Steps to reproduce
33
+ description: Share a minimal, ordered set of steps.
34
+ placeholder: |
35
+ 1. Run ...
36
+ 2. Open ...
37
+ 3. Observe ...
38
+ validations:
39
+ required: true
40
+
41
+ - type: textarea
42
+ id: config-snippet
43
+ attributes:
44
+ label: Relevant config/code snippet
45
+ description: Paste relevant `~/.mrconfig`, command, or code snippet.
46
+ render: shell
47
+
48
+ - type: input
49
+ id: version
50
+ attributes:
51
+ label: mr-manager version
52
+ placeholder: 0.1.0
53
+
54
+ - type: input
55
+ id: python-version
56
+ attributes:
57
+ label: Python version
58
+ placeholder: "3.13.x"
59
+
60
+ - type: input
61
+ id: os
62
+ attributes:
63
+ label: Operating system
64
+ placeholder: macOS 14 / Ubuntu 24.04 / Windows 11
@@ -0,0 +1 @@
1
+ blank_issues_enabled: false
@@ -0,0 +1,30 @@
1
+ name: Documentation improvement
2
+ description: Report unclear, incorrect, or missing documentation
3
+ title: "[Docs]: "
4
+ labels:
5
+ - documentation
6
+ body:
7
+ - type: textarea
8
+ id: location
9
+ attributes:
10
+ label: Where is the problem?
11
+ description: Share a file path or URL.
12
+ placeholder: README.md, section "Installation"
13
+ validations:
14
+ required: true
15
+
16
+ - type: textarea
17
+ id: issue
18
+ attributes:
19
+ label: What is unclear or incorrect?
20
+ placeholder: The docs say ... but ...
21
+ validations:
22
+ required: true
23
+
24
+ - type: textarea
25
+ id: suggestion
26
+ attributes:
27
+ label: Suggested improvement
28
+ placeholder: It should say ...
29
+ validations:
30
+ required: true
@@ -0,0 +1,46 @@
1
+ name: Feature request
2
+ description: Suggest an improvement to mr-manager
3
+ title: "[Feature]: "
4
+ labels:
5
+ - enhancement
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ Thanks for the idea. Please describe the problem and proposal clearly.
11
+
12
+ - type: textarea
13
+ id: problem
14
+ attributes:
15
+ label: What problem are you trying to solve?
16
+ placeholder: It is hard to ...
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: proposal
22
+ attributes:
23
+ label: Proposed solution
24
+ placeholder: We could add ...
25
+ validations:
26
+ required: true
27
+
28
+ - type: textarea
29
+ id: alternatives
30
+ attributes:
31
+ label: Alternatives considered
32
+ placeholder: I also considered ...
33
+
34
+ - type: textarea
35
+ id: impact
36
+ attributes:
37
+ label: Expected impact
38
+ description: Explain who benefits and how.
39
+ placeholder: This would help users who ...
40
+
41
+ - type: textarea
42
+ id: config-snippet
43
+ attributes:
44
+ label: Relevant config/code snippet
45
+ description: Optional snippet that illustrates the need.
46
+ render: shell
@@ -0,0 +1,35 @@
1
+ name: Question / support
2
+ description: Ask for help using or configuring mr-manager
3
+ title: "[Support]: "
4
+ labels:
5
+ - question
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ For usage questions, this template helps keep issues clear and actionable.
11
+
12
+ - type: textarea
13
+ id: goal
14
+ attributes:
15
+ label: What are you trying to do?
16
+ placeholder: I want to ...
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: tried
22
+ attributes:
23
+ label: What have you tried?
24
+ placeholder: I already tried ...
25
+ validations:
26
+ required: true
27
+
28
+ - type: textarea
29
+ id: snippet
30
+ attributes:
31
+ label: Relevant config/code snippet
32
+ description: Paste relevant config, commands, or snippets.
33
+ render: shell
34
+ validations:
35
+ required: true
@@ -0,0 +1,29 @@
1
+ name: Refactor request
2
+ description: Propose codebase cleanup or structural improvements
3
+ title: "[Refactor]: "
4
+ labels:
5
+ - refactor
6
+ body:
7
+ - type: textarea
8
+ id: area
9
+ attributes:
10
+ label: What part of the code is affected?
11
+ placeholder: src/mr_manager/...
12
+ validations:
13
+ required: true
14
+
15
+ - type: textarea
16
+ id: problem
17
+ attributes:
18
+ label: Why is it problematic?
19
+ placeholder: Hard to maintain because ...
20
+ validations:
21
+ required: true
22
+
23
+ - type: textarea
24
+ id: proposal
25
+ attributes:
26
+ label: Proposed improvement
27
+ placeholder: Extract ... into ...
28
+ validations:
29
+ required: true
@@ -0,0 +1,48 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ day: "sunday"
8
+ time: "16:00"
9
+
10
+ labels:
11
+ - "dependencies"
12
+ - "github-actions"
13
+
14
+ commit-message:
15
+ prefix: "chore"
16
+ include: "scope"
17
+
18
+ groups:
19
+ github-actions:
20
+ patterns:
21
+ - "*"
22
+
23
+ - package-ecosystem: "uv"
24
+ directory: "/"
25
+ schedule:
26
+ interval: "weekly"
27
+ day: "sunday"
28
+ time: "16:00"
29
+
30
+ open-pull-requests-limit: 10
31
+
32
+ cooldown:
33
+ semver-major-days: 7
34
+ semver-minor-days: 3
35
+ semver-patch-days: 1
36
+
37
+ labels:
38
+ - "dependencies"
39
+
40
+ commit-message:
41
+ prefix: "chore"
42
+ include: "scope"
43
+
44
+ groups:
45
+ dev-tooling:
46
+ dependency-type: "development"
47
+ patterns:
48
+ - "*"
@@ -0,0 +1,26 @@
1
+ ## Summary
2
+
3
+ <!-- Briefly describe what this PR changes and why. -->
4
+
5
+ ## Related Issue
6
+
7
+ Closes #<issue-number>
8
+
9
+ ## Changes
10
+
11
+ <!-- List the main changes in this PR. -->
12
+
13
+ ## How to Test
14
+
15
+ <!-- Describe how to test the changes in this PR. -->
16
+
17
+ ## Checklist
18
+
19
+ Either tick the items or cross out those that do not apply (using ~~example text~~) and provide a brief explanation why they do not apply.
20
+
21
+ ### Author
22
+
23
+ - [ ] I linked the issue that this PR closes.
24
+ - [ ] I tested the changes locally.
25
+ - [ ] I updated the documentation (if needed).
26
+ - [ ] I added/updated tests (if needed).
@@ -0,0 +1,2 @@
1
+ onlyCommits: true
2
+ allowMergeCommits: true
@@ -0,0 +1,58 @@
1
+ name: Code Quality Checks
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ lint-python:
14
+ name: Lint Python
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: Checkout Repository
18
+ uses: actions/checkout@v6
19
+
20
+ - name: Set Up Python Tooling
21
+ uses: ./.github/workflows/setup
22
+
23
+ - name: Run Ruff Lint Checks
24
+ run: uv run ruff check --no-fix .
25
+
26
+ - name: Run Ruff Format Checks
27
+ run: uv run ruff format --check .
28
+
29
+ type-check-python:
30
+ name: Type Check Python
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - name: Checkout Repository
34
+ uses: actions/checkout@v6
35
+
36
+ - name: Set Up Python Tooling
37
+ uses: ./.github/workflows/setup
38
+
39
+ - name: Run ty Type Checks
40
+ run: uv run ty check
41
+
42
+ lint-markdown:
43
+ name: Lint Markdown
44
+ runs-on: ubuntu-latest
45
+ steps:
46
+ - name: Checkout Repository
47
+ uses: actions/checkout@v6
48
+
49
+ - name: Set Up Node.js
50
+ uses: actions/setup-node@v6
51
+ with:
52
+ node-version: "24"
53
+
54
+ - name: Install Markdownlint CLI
55
+ run: npm install --global markdownlint-cli
56
+
57
+ - name: Run Markdownlint
58
+ run: markdownlint --config markdownlint.json --ignore-path .markdownlintignore "**/*.md"
@@ -0,0 +1,43 @@
1
+ name: PR Quality Checks
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ lint-pr:
14
+ name: Lint PR Commits
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: Checkout Repository
18
+ uses: actions/checkout@v6
19
+ with:
20
+ fetch-depth: 0
21
+
22
+ - name: Set Up Node.js
23
+ uses: actions/setup-node@v6
24
+ with:
25
+ node-version: "24"
26
+
27
+ - name: Install commitlint
28
+ run: npm install -D -g @commitlint/cli @commitlint/config-conventional
29
+
30
+ - name: Print Versions
31
+ run: |
32
+ git --version
33
+ node --version
34
+ npm --version
35
+ npx commitlint --version
36
+
37
+ - name: Validate Current Commit (Last Commit)
38
+ if: github.event_name == 'push'
39
+ run: npx commitlint --config commitlint.config.js --last --verbose
40
+
41
+ - name: Validate PR Commits
42
+ if: github.event_name == 'pull_request'
43
+ run: npx commitlint --config commitlint.config.js --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
@@ -0,0 +1,86 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ publish-pypi:
13
+ runs-on: ubuntu-latest
14
+ environment: pypi
15
+ permissions:
16
+ id-token: write
17
+ actions: write
18
+ steps:
19
+ - name: Checkout Repository
20
+ uses: actions/checkout@v6
21
+ with:
22
+ fetch-depth: 0
23
+
24
+ - name: Set Up Python Tooling
25
+ uses: ./.github/workflows/setup
26
+
27
+ - name: Build
28
+ run: uv build
29
+
30
+ - name: Upload Artifacts
31
+ uses: actions/upload-artifact@v7
32
+ with:
33
+ name: python-dist
34
+ path: dist/
35
+
36
+ - name: Publish
37
+ run: uv publish
38
+
39
+ github-release:
40
+ name: Create GitHub Release
41
+ runs-on: ubuntu-latest
42
+ needs: publish-pypi
43
+ permissions:
44
+ contents: write
45
+ steps:
46
+ - name: Checkout Repository
47
+ uses: actions/checkout@v6
48
+
49
+ - name: Download Artifacts
50
+ uses: actions/download-artifact@v8
51
+ with:
52
+ name: python-dist
53
+ path: dist/
54
+
55
+ - name: Parse Version
56
+ id: parse-version
57
+ run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
58
+
59
+ - name: Extract Release Notes
60
+ id: changelog
61
+ uses: mindsers/changelog-reader-action@v2
62
+ with:
63
+ version: ${{ steps.parse-version.outputs.VERSION }}
64
+
65
+ - name: Prepare Release Body
66
+ run: |
67
+ cat << 'EOF' > release-body.md
68
+ ${{ steps.changelog.outputs.changes }}
69
+
70
+ ---
71
+
72
+ ## Installation
73
+
74
+ ```bash
75
+ pipx install mr-manager==${{ steps.parse-version.outputs.VERSION }}
76
+ ```
77
+ EOF
78
+
79
+ - name: Create GitHub Release
80
+ env:
81
+ GH_TOKEN: ${{ github.token }}
82
+ run: |
83
+ gh release create ${{ github.ref_name }} \
84
+ --title "Release ${{ github.ref_name }}" \
85
+ --notes-file release-body.md \
86
+ dist/*
@@ -0,0 +1,16 @@
1
+ name: Setup Python With UV
2
+ description: Set Up UV, Python, And Sync Project Dev Dependencies
3
+ runs:
4
+ using: composite
5
+ steps:
6
+ - name: Set Up UV
7
+ uses: astral-sh/setup-uv@v7
8
+
9
+ - name: Set Up Python
10
+ uses: actions/setup-python@v6
11
+ with:
12
+ python-version-file: .python-version
13
+
14
+ - name: Install Dependencies
15
+ shell: bash
16
+ run: uv sync --dev
@@ -0,0 +1,32 @@
1
+ name: Publish Wiki
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - wiki/**
9
+ - .github/workflows/wiki.yml
10
+ - scripts/add_auto_gen_wiki_hint.sh
11
+ workflow_dispatch:
12
+
13
+ permissions:
14
+ contents: write
15
+
16
+ jobs:
17
+ publish-wiki:
18
+ name: Publish Wiki
19
+ if: github.ref_name == 'main' && github.ref_type == 'branch'
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - name: Checkout Repository
23
+ uses: actions/checkout@v6
24
+
25
+ - name: Add Auto-Generated Hint to Wiki Markdown Files
26
+ run: bash scripts/add_auto_gen_wiki_hint.sh
27
+
28
+ - name: Publish Wiki
29
+ uses: Andrew-Chen-Wang/github-wiki-action@v5
30
+ with:
31
+ path: ${{ github.workspace }}/wiki/
32
+ strategy: init