Skip to content

Commit 9ec5b07

Browse files
authored
Merge pull request #1 from codeforgood-org/claude/reorganize-enhance-repo-011CV6HouK42oG5xyuuUwvaP
Enhance repo and code organization
2 parents 90f3fc0 + e45c02d commit 9ec5b07

28 files changed

+2900
-56
lines changed

.dockerignore

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Git files
2+
.git
3+
.gitignore
4+
.github
5+
6+
# Python cache
7+
__pycache__
8+
*.py[cod]
9+
*$py.class
10+
*.so
11+
.Python
12+
build/
13+
dist/
14+
*.egg-info/
15+
.eggs/
16+
17+
# Virtual environments
18+
venv/
19+
env/
20+
ENV/
21+
22+
# IDE
23+
.vscode/
24+
.idea/
25+
*.swp
26+
*.swo
27+
28+
# Testing
29+
.pytest_cache/
30+
.coverage
31+
htmlcov/
32+
.tox/
33+
34+
# Data files
35+
tasks.json
36+
*.json
37+
!pyproject.toml
38+
39+
# Documentation build
40+
docs/_build/
41+
42+
# OS files
43+
.DS_Store
44+
Thumbs.db
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Bug Description
10+
11+
A clear and concise description of what the bug is.
12+
13+
## Steps To Reproduce
14+
15+
1. Run command '...'
16+
2. With arguments '...'
17+
3. See error
18+
19+
## Expected Behavior
20+
21+
A clear and concise description of what you expected to happen.
22+
23+
## Actual Behavior
24+
25+
A clear and concise description of what actually happened.
26+
27+
## Error Messages
28+
29+
```
30+
Paste any error messages here
31+
```
32+
33+
## Environment
34+
35+
- OS: [e.g., Ubuntu 22.04, macOS 13.0, Windows 11]
36+
- Python Version: [e.g., 3.11.0]
37+
- Todo CLI Version: [e.g., 1.0.0]
38+
- Installation Method: [e.g., pip install, direct clone]
39+
40+
## Task Data (if relevant)
41+
42+
```json
43+
{
44+
"example": "Paste your tasks.json if relevant to the issue"
45+
}
46+
```
47+
48+
## Additional Context
49+
50+
Add any other context about the problem here, such as:
51+
- Screenshots (if applicable)
52+
- Related issues
53+
- Possible solutions you've considered

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Question or Discussion
4+
url: https://github.com/codeforgood-org/todo-list-cli/discussions
5+
about: Ask questions or discuss ideas with the community
6+
- name: Documentation
7+
url: https://github.com/codeforgood-org/todo-list-cli#readme
8+
about: Check the README for usage instructions and examples
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Feature Description
10+
11+
A clear and concise description of the feature you'd like to see.
12+
13+
## Problem It Solves
14+
15+
Describe the problem or limitation this feature would address.
16+
Example: "I'm always frustrated when..."
17+
18+
## Proposed Solution
19+
20+
A clear and concise description of what you want to happen.
21+
22+
### Command Example
23+
24+
```bash
25+
# Example of how the new feature might work
26+
todo <new-command> [options]
27+
```
28+
29+
### Expected Output
30+
31+
```
32+
Example output or behavior
33+
```
34+
35+
## Alternatives Considered
36+
37+
Describe any alternative solutions or features you've considered.
38+
39+
## Additional Context
40+
41+
Add any other context, screenshots, mockups, or examples about the feature request here.
42+
43+
## Use Cases
44+
45+
Describe specific use cases for this feature:
46+
1. Use case 1
47+
2. Use case 2
48+
3. Use case 3
49+
50+
## Priority
51+
52+
How important is this feature to you?
53+
- [ ] Nice to have
54+
- [ ] Important
55+
- [ ] Critical
56+
57+
## Willingness to Contribute
58+
59+
Would you be willing to contribute to implementing this feature?
60+
- [ ] Yes, I can submit a PR
61+
- [ ] Yes, I can help with testing
62+
- [ ] No, but I can provide feedback
63+
- [ ] No

.github/pull_request_template.md

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Description
2+
3+
Please include a summary of the changes and which issue is fixed. Include relevant motivation and context.
4+
5+
Fixes # (issue)
6+
7+
## Type of Change
8+
9+
Please delete options that are not relevant.
10+
11+
- [ ] Bug fix (non-breaking change which fixes an issue)
12+
- [ ] New feature (non-breaking change which adds functionality)
13+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
14+
- [ ] Documentation update
15+
- [ ] Code refactoring
16+
- [ ] Performance improvement
17+
- [ ] Test coverage improvement
18+
19+
## Changes Made
20+
21+
List the specific changes made in this PR:
22+
23+
- Change 1
24+
- Change 2
25+
- Change 3
26+
27+
## Testing
28+
29+
Please describe the tests that you ran to verify your changes.
30+
31+
### Test Configuration
32+
33+
- Python Version:
34+
- OS:
35+
- Related test files:
36+
37+
### Test Commands Run
38+
39+
```bash
40+
# Example
41+
pytest tests/
42+
python todo.py list
43+
```
44+
45+
## Checklist
46+
47+
Please check all that apply:
48+
49+
- [ ] My code follows the style guidelines of this project (Black, Flake8)
50+
- [ ] I have performed a self-review of my own code
51+
- [ ] I have commented my code, particularly in hard-to-understand areas
52+
- [ ] I have made corresponding changes to the documentation
53+
- [ ] My changes generate no new warnings
54+
- [ ] I have added tests that prove my fix is effective or that my feature works
55+
- [ ] New and existing unit tests pass locally with my changes
56+
- [ ] Any dependent changes have been merged and published
57+
58+
## Screenshots (if applicable)
59+
60+
If your changes include UI/output changes, please include before/after screenshots.
61+
62+
### Before
63+
64+
```
65+
Output before changes
66+
```
67+
68+
### After
69+
70+
```
71+
Output after changes
72+
```
73+
74+
## Additional Notes
75+
76+
Add any additional notes, concerns, or questions here.
77+
78+
## Breaking Changes
79+
80+
If this PR introduces breaking changes, please describe:
81+
82+
1. What breaks
83+
2. How to migrate
84+
3. Why the breaking change is necessary
85+
86+
## Performance Impact
87+
88+
If applicable, describe any performance implications:
89+
90+
- Does this change impact performance?
91+
- Have you run benchmarks?
92+
- What are the results?
93+
94+
## Documentation
95+
96+
- [ ] README.md updated (if needed)
97+
- [ ] CHANGELOG.md updated
98+
- [ ] Examples updated (if needed)
99+
- [ ] Docstrings added/updated
100+
- [ ] CONTRIBUTING.md updated (if needed)

.github/workflows/ci.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
test:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
os: [ubuntu-latest, windows-latest, macos-latest]
15+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Set up Python ${{ matrix.python-version }}
21+
uses: actions/setup-python@v5
22+
with:
23+
python-version: ${{ matrix.python-version }}
24+
25+
- name: Install dependencies
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install -e ".[dev]"
29+
30+
- name: Run tests
31+
run: |
32+
pytest tests/ -v --cov=todolist --cov-report=xml --cov-report=term
33+
34+
- name: Upload coverage to Codecov
35+
uses: codecov/codecov-action@v4
36+
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
37+
with:
38+
file: ./coverage.xml
39+
flags: unittests
40+
name: codecov-umbrella
41+
42+
lint:
43+
runs-on: ubuntu-latest
44+
45+
steps:
46+
- uses: actions/checkout@v4
47+
48+
- name: Set up Python
49+
uses: actions/setup-python@v5
50+
with:
51+
python-version: '3.11'
52+
53+
- name: Install dependencies
54+
run: |
55+
python -m pip install --upgrade pip
56+
pip install black flake8 mypy
57+
58+
- name: Check code formatting with Black
59+
run: |
60+
black --check src/
61+
62+
- name: Lint with flake8
63+
run: |
64+
flake8 src/ --count --select=E9,F63,F7,F82 --show-source --statistics
65+
flake8 src/ --count --exit-zero --max-complexity=10 --max-line-length=88 --statistics
66+
67+
- name: Type check with mypy
68+
run: |
69+
mypy src/todolist/ --ignore-missing-imports
70+
continue-on-error: true

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,10 @@ cython_debug/
172172

173173
# PyPI configuration file
174174
.pypirc
175+
176+
# Project-specific files
177+
tasks.json
178+
tasks_export.*
179+
example_tasks.json
180+
*.json
181+
!pyproject.toml

0 commit comments

Comments
 (0)