Skip to content

Commit f222a9a

Browse files
committed
first release
1 parent b4ac3ae commit f222a9a

32 files changed

Lines changed: 3468 additions & 142 deletions

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@
44
/preen/templates/__pycache__
55
/preen/checks/__pycache__
66
/preen.egg-info
7+
/preen/commands/__pycache__
8+
/docs/_build/html
9+
/preen/commands/__pycache__
10+
/preen/commands/__pycache__

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cff-version: 1.2.0
55
message: "If you use this software, please cite it as below."
66
title: preen
77
version: 0.1.0
8-
date-released: 2025-12-07
8+
date-released: 2025-12-27
99
url: https://github.com/gojiplus/preen
1010
repository-code: https://github.com/gojiplus/preen
1111
authors:

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Gaurav Sood
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
## Features
1515

16-
- 🔍 **7 comprehensive checks** - linting, tests, dependencies, CI matrix, project structure, version consistency, and citation validation
16+
- 🔍 **12 comprehensive checks** - linting, tests, dependencies, CI matrix, project structure, version consistency, citation validation, link validation, documentation quality, static type checking, and spell checking
1717
- 🔧 **Interactive fixes** - preview diffs and apply fixes automatically or selectively
1818
- 📦 **Package initialization** - scaffold new packages with opinionated best practices
1919
- 🔄 **File synchronization** - generate CI workflows, documentation config, and CITATION.cff from pyproject.toml
@@ -86,12 +86,16 @@ Run comprehensive pre-release checks:
8686
| **structure** | Enforce project structure best practices |
8787
| **version** | Detect hardcoded version strings |
8888
| **citation** | Ensure CITATION.cff matches pyproject.toml |
89+
| **links** | Check for broken or dead links in project files |
90+
| **pydoclint** | Check docstring quality and completeness |
91+
| **pyright** | Static type checking for type safety |
92+
| **codespell** | Check spelling in documentation and comments |
8993

9094
```bash
9195
preen check # Interactive mode
9296
preen check --fix # Auto-apply all fixes
9397
preen check --only ruff,tests # Run specific checks
94-
preen check --skip deps # Skip dependency check
98+
preen check --skip deps,links,pydoclint,pyright,codespell # Skip optional checks
9599
preen check --strict # CI mode (exit 1 on issues)
96100
```
97101

docs/api.md

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# API Reference
2+
3+
## Core Modules
4+
5+
### CLI Module
6+
7+
```{automodule} preen.cli
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
11+
```
12+
13+
### Configuration
14+
15+
```{automodule} preen.config
16+
:members:
17+
:undoc-members:
18+
:show-inheritance:
19+
```
20+
21+
### Syncer
22+
23+
```{automodule} preen.syncer
24+
:members:
25+
:undoc-members:
26+
:show-inheritance:
27+
```
28+
29+
## Commands
30+
31+
### Base Commands
32+
33+
```{automodule} preen.commands
34+
:members:
35+
:undoc-members:
36+
:show-inheritance:
37+
```
38+
39+
### Initialize Command
40+
41+
```{automodule} preen.commands.init
42+
:members:
43+
:undoc-members:
44+
:show-inheritance:
45+
```
46+
47+
### Bump Command
48+
49+
```{automodule} preen.commands.bump
50+
:members:
51+
:undoc-members:
52+
:show-inheritance:
53+
```
54+
55+
### Fix Command
56+
57+
```{automodule} preen.commands.fix
58+
:members:
59+
:undoc-members:
60+
:show-inheritance:
61+
```
62+
63+
### Release Command
64+
65+
```{automodule} preen.commands.release
66+
:members:
67+
:undoc-members:
68+
:show-inheritance:
69+
```
70+
71+
## Checks
72+
73+
### Base Check Classes
74+
75+
```{automodule} preen.checks.base
76+
:members:
77+
:undoc-members:
78+
:show-inheritance:
79+
```
80+
81+
### Check Runner
82+
83+
```{automodule} preen.checks.runner
84+
:members:
85+
:undoc-members:
86+
:show-inheritance:
87+
```
88+
89+
### Structure Check
90+
91+
```{automodule} preen.checks.structure
92+
:members:
93+
:undoc-members:
94+
:show-inheritance:
95+
```
96+
97+
### Ruff Check
98+
99+
```{automodule} preen.checks.ruff
100+
:members:
101+
:undoc-members:
102+
:show-inheritance:
103+
```
104+
105+
### Dependency Tree Check
106+
107+
```{automodule} preen.checks.deptree
108+
:members:
109+
:undoc-members:
110+
:show-inheritance:
111+
```
112+
113+
### Version Check
114+
115+
```{automodule} preen.checks.version
116+
:members:
117+
:undoc-members:
118+
:show-inheritance:
119+
```
120+
121+
### CI Matrix Check
122+
123+
```{automodule} preen.checks.ci_matrix
124+
:members:
125+
:undoc-members:
126+
:show-inheritance:
127+
```
128+
129+
### Dependencies Check
130+
131+
```{automodule} preen.checks.deps
132+
:members:
133+
:undoc-members:
134+
:show-inheritance:
135+
```
136+
137+
### Citation Check
138+
139+
```{automodule} preen.checks.citation
140+
:members:
141+
:undoc-members:
142+
:show-inheritance:
143+
```
144+
145+
### Tests Check
146+
147+
```{automodule} preen.checks.tests
148+
:members:
149+
:undoc-members:
150+
:show-inheritance:
151+
```
152+
153+
### Links Check
154+
155+
```{automodule} preen.checks.links
156+
:members:
157+
:undoc-members:
158+
:show-inheritance:
159+
```
160+
161+
### Codespell Check
162+
163+
```{automodule} preen.checks.codespell
164+
:members:
165+
:undoc-members:
166+
:show-inheritance:
167+
```
168+
169+
### Pydoclint Check
170+
171+
```{automodule} preen.checks.pydoclint
172+
:members:
173+
:undoc-members:
174+
:show-inheritance:
175+
```
176+
177+
### Pyright Check
178+
179+
```{automodule} preen.checks.pyright
180+
:members:
181+
:undoc-members:
182+
:show-inheritance:
183+
```
184+
185+
## Templates
186+
187+
### Template Manager
188+
189+
```{automodule} preen.templates.manager
190+
:members:
191+
:undoc-members:
192+
:show-inheritance:
193+
```

0 commit comments

Comments
 (0)