academic-document-checker 0.4.1b1__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 (68) hide show
  1. academic_document_checker-0.4.1b1/LICENSE +21 -0
  2. academic_document_checker-0.4.1b1/MANIFEST.in +7 -0
  3. academic_document_checker-0.4.1b1/PKG-INFO +520 -0
  4. academic_document_checker-0.4.1b1/README.md +471 -0
  5. academic_document_checker-0.4.1b1/config/default_config.yaml +45 -0
  6. academic_document_checker-0.4.1b1/pyproject.toml +126 -0
  7. academic_document_checker-0.4.1b1/requirements-dev.txt +16 -0
  8. academic_document_checker-0.4.1b1/requirements.txt +16 -0
  9. academic_document_checker-0.4.1b1/setup.cfg +4 -0
  10. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/PKG-INFO +520 -0
  11. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/SOURCES.txt +66 -0
  12. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/dependency_links.txt +1 -0
  13. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/entry_points.txt +2 -0
  14. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/requires.txt +25 -0
  15. academic_document_checker-0.4.1b1/src/academic_document_checker.egg-info/top_level.txt +1 -0
  16. academic_document_checker-0.4.1b1/src/doc_checker/__init__.py +3 -0
  17. academic_document_checker-0.4.1b1/src/doc_checker/__main__.py +6 -0
  18. academic_document_checker-0.4.1b1/src/doc_checker/ai/__init__.py +0 -0
  19. academic_document_checker-0.4.1b1/src/doc_checker/ai/cost_tracker.py +108 -0
  20. academic_document_checker-0.4.1b1/src/doc_checker/ai/model_manager.py +124 -0
  21. academic_document_checker-0.4.1b1/src/doc_checker/ai/openai_provider.py +71 -0
  22. academic_document_checker-0.4.1b1/src/doc_checker/ai/provider_base.py +63 -0
  23. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/__init__.py +0 -0
  24. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/aims_section.py +192 -0
  25. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/base_analyzer.py +57 -0
  26. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/citations.py +346 -0
  27. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/formatting.py +185 -0
  28. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/grammar.py +285 -0
  29. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/medical_guidelines.py +340 -0
  30. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/medical_terminology.py +137 -0
  31. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/methods_terminology.py +171 -0
  32. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/numeracy.py +150 -0
  33. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/statement_placement.py +291 -0
  34. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/structure.py +409 -0
  35. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/title_page.py +283 -0
  36. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/tracked_changes.py +135 -0
  37. academic_document_checker-0.4.1b1/src/doc_checker/analyzers/uk_spelling.py +235 -0
  38. academic_document_checker-0.4.1b1/src/doc_checker/cli.py +607 -0
  39. academic_document_checker-0.4.1b1/src/doc_checker/core/__init__.py +5 -0
  40. academic_document_checker-0.4.1b1/src/doc_checker/core/cache_manager.py +229 -0
  41. academic_document_checker-0.4.1b1/src/doc_checker/core/parser.py +632 -0
  42. academic_document_checker-0.4.1b1/src/doc_checker/core/profile_loader.py +242 -0
  43. academic_document_checker-0.4.1b1/src/doc_checker/core/rule_engine.py +287 -0
  44. academic_document_checker-0.4.1b1/src/doc_checker/journals/__init__.py +0 -0
  45. academic_document_checker-0.4.1b1/src/doc_checker/profiles/__init__.py +0 -0
  46. academic_document_checker-0.4.1b1/src/doc_checker/profiles/generic.yaml +69 -0
  47. academic_document_checker-0.4.1b1/src/doc_checker/profiles/grant-proposal.yaml +72 -0
  48. academic_document_checker-0.4.1b1/src/doc_checker/profiles/grants/nih.yaml +56 -0
  49. academic_document_checker-0.4.1b1/src/doc_checker/profiles/grants/nsf.yaml +55 -0
  50. academic_document_checker-0.4.1b1/src/doc_checker/profiles/journals/bmj.yaml +68 -0
  51. academic_document_checker-0.4.1b1/src/doc_checker/profiles/journals/lancet.yaml +78 -0
  52. academic_document_checker-0.4.1b1/src/doc_checker/profiles/journals/nejm.yaml +58 -0
  53. academic_document_checker-0.4.1b1/src/doc_checker/profiles/medical-journal.yaml +107 -0
  54. academic_document_checker-0.4.1b1/src/doc_checker/profiles/phd-thesis.yaml +87 -0
  55. academic_document_checker-0.4.1b1/src/doc_checker/profiles/uk-academic-manuscript.yaml +77 -0
  56. academic_document_checker-0.4.1b1/src/doc_checker/reporters/__init__.py +0 -0
  57. academic_document_checker-0.4.1b1/src/doc_checker/reporters/correction_log_reporter.py +180 -0
  58. academic_document_checker-0.4.1b1/src/doc_checker/reporters/html_reporter.py +166 -0
  59. academic_document_checker-0.4.1b1/src/doc_checker/reporters/json_reporter.py +68 -0
  60. academic_document_checker-0.4.1b1/src/doc_checker/reporters/junit_reporter.py +78 -0
  61. academic_document_checker-0.4.1b1/src/doc_checker/reporters/terminal_reporter.py +190 -0
  62. academic_document_checker-0.4.1b1/src/doc_checker/utils/__init__.py +0 -0
  63. academic_document_checker-0.4.1b1/src/doc_checker/utils/config.py +103 -0
  64. academic_document_checker-0.4.1b1/src/doc_checker/utils/sanitizer.py +131 -0
  65. academic_document_checker-0.4.1b1/src/doc_checker/validators/__init__.py +0 -0
  66. academic_document_checker-0.4.1b1/src/doc_checker/validators/profile_validator.py +130 -0
  67. academic_document_checker-0.4.1b1/templates/correction_log_template.html +272 -0
  68. academic_document_checker-0.4.1b1/templates/report_template.html +377 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Academic Document Checker Team
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.
@@ -0,0 +1,7 @@
1
+ include README.md
2
+ include LICENSE
3
+ include requirements.txt
4
+ include requirements-dev.txt
5
+ recursive-include src/doc_checker/profiles *.yaml
6
+ recursive-include templates *.html
7
+ recursive-include config *.yaml
@@ -0,0 +1,520 @@
1
+ Metadata-Version: 2.4
2
+ Name: academic-document-checker
3
+ Version: 0.4.1b1
4
+ Summary: Rule-based academic document checker with optional AI enhancement (coming in v1.5+)
5
+ Author: Academic Document Checker Team
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/darmsc/Academic_Document_Checker
8
+ Project-URL: Documentation, https://github.com/darmsc/Academic_Document_Checker#readme
9
+ Project-URL: Repository, https://github.com/darmsc/Academic_Document_Checker
10
+ Project-URL: Issues, https://github.com/darmsc/Academic_Document_Checker/issues
11
+ Keywords: academic,document,checker,thesis,medical,journal,validation
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Intended Audience :: Education
15
+ Classifier: Topic :: Text Processing :: Linguistic
16
+ Classifier: Topic :: Scientific/Engineering
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Requires-Python: >=3.8
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: click>=8.0
28
+ Requires-Dist: python-docx>=0.8.11
29
+ Requires-Dist: PyYAML>=6.0
30
+ Requires-Dist: rich>=13.0
31
+ Requires-Dist: jinja2>=3.1
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest>=7.0; extra == "dev"
34
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
35
+ Requires-Dist: pytest-benchmark>=4.0; extra == "dev"
36
+ Requires-Dist: pytest-mock>=3.10; extra == "dev"
37
+ Requires-Dist: black>=23.0; extra == "dev"
38
+ Requires-Dist: flake8>=6.0; extra == "dev"
39
+ Requires-Dist: mypy>=1.0; extra == "dev"
40
+ Provides-Extra: ai
41
+ Requires-Dist: openai>=1.0; extra == "ai"
42
+ Requires-Dist: anthropic>=0.20; extra == "ai"
43
+ Provides-Extra: medical
44
+ Requires-Dist: language-tool-python>=2.7; extra == "medical"
45
+ Requires-Dist: pyspellchecker>=0.7.0; extra == "medical"
46
+ Provides-Extra: all
47
+ Requires-Dist: academic-document-checker[ai,dev,medical]; extra == "all"
48
+ Dynamic: license-file
49
+
50
+ # Academic Document Checker
51
+
52
+ > A Python CLI tool that automatically validates academic documents (Word, PDF, and more) with profile-based checking for PhD theses, medical journals, and more.
53
+
54
+ ## What Does It Do?
55
+
56
+ The Academic Document Checker analyzes your Word documents and provides comprehensive feedback on:
57
+
58
+ - ✅ **Structure** - Required sections, heading hierarchy, organization
59
+ - ✅ **Formatting** - Word counts, figure limits, citation style
60
+ - ✅ **Citations** - Format validation, orphaned references, completeness
61
+ - ✅ **Grammar** - Academic tone, passive voice, sentence complexity
62
+ - ✅ **Style** - Writing quality, clarity, domain-specific requirements
63
+
64
+ ## Why Use This Tool?
65
+
66
+ ### For PhD Students
67
+ - Ensure your thesis meets institutional requirements before submission
68
+ - Catch structural and formatting issues early
69
+ - Validate citation completeness and consistency
70
+ - Get feedback on academic writing style
71
+
72
+ ### For Medical Researchers
73
+ - Check compliance with journal-specific guidelines (Lancet, NEJM, BMJ)
74
+ - Validate CONSORT/STROBE/PRISMA checklist items
75
+ - Ensure proper medical terminology usage
76
+ - Meet strict word and reference limits
77
+
78
+ ### For Academic Supervisors
79
+ - Standardize quality expectations across students
80
+ - Quickly identify common issues in student work
81
+ - Provide consistent, objective feedback
82
+ - Save time on structural reviews
83
+
84
+ ## Quick Start
85
+
86
+ ### Installation
87
+
88
+ ```bash
89
+ pip install academic-document-checker
90
+ ```
91
+
92
+ ### Basic Usage
93
+
94
+ ```bash
95
+ # Check a PhD thesis
96
+ doc-checker check thesis.docx --profile phd-thesis
97
+
98
+ # Check a medical journal manuscript
99
+ doc-checker check manuscript.docx --profile lancet
100
+
101
+ # Generate HTML report
102
+ doc-checker check thesis.docx --profile phd-thesis --format html --output report.html
103
+ ```
104
+
105
+ ### Example Output
106
+
107
+ ```
108
+ 📄 Checking: thesis.docx
109
+ 📋 Profile: PhD Thesis
110
+
111
+ Structure Analysis:
112
+ ✓ All required sections present
113
+ ❌ Missing: "List of Abbreviations"
114
+ ⚠️ Section order: "Discussion" should come before "Conclusion"
115
+
116
+ Formatting:
117
+ ✓ Abstract: 287 words (limit: 500)
118
+ ❌ Total words: 38,450 (minimum: 40,000)
119
+ ✓ References: 67 (minimum: 50)
120
+
121
+ Citations:
122
+ ⚠️ 3 citations not found in references
123
+ ⚠️ 5 references never cited in text
124
+ ✓ Citation format is consistent (APA)
125
+
126
+ Grammar & Style:
127
+ ⚠️ Passive voice: 28% (recommended: <25%)
128
+ ⚠️ 12 sentences exceed 40 words
129
+ 💡 Consider more active voice in Discussion section
130
+
131
+ Summary: 2 errors, 7 warnings, 1 suggestion
132
+ ```
133
+
134
+ ## Profile System
135
+
136
+ The tool uses **profiles** to adapt checking rules for different document types:
137
+
138
+ ### Available Profiles
139
+
140
+ | Profile | Best For | Key Features |
141
+ |---------|----------|--------------|
142
+ | **generic** | General academic papers | Basic structure, flexible formatting |
143
+ | **phd-thesis** | Doctoral dissertations | 15+ required sections, 40k+ words, comprehensive |
144
+ | **medical-journal** | Medical research papers | IMRAD structure, clinical guidelines, medical terms |
145
+ | **lancet** | The Lancet submissions | 3000 word limit, 30 references, strict formatting |
146
+ | **nejm** | NEJM submissions | 2700 word limit, 40 references, NEJM style |
147
+ | **bmj** | BMJ submissions | 4000 word limit, patient involvement, BMJ boxes |
148
+ | **grant-proposal** | Generic grant applications | Aims, budget, significance, innovation sections |
149
+ | **nih** | NIH grant applications | NIH-specific sections, page limits, review criteria |
150
+ | **nsf** | NSF grant applications | Broader impacts, intellectual merit requirements |
151
+
152
+ ### Profile Inheritance
153
+
154
+ Profiles build on each other to avoid duplication:
155
+
156
+ ```
157
+ Generic Publication
158
+ ├── PhD Thesis
159
+ ├── Medical Journal
160
+ │ ├── The Lancet
161
+ │ ├── NEJM
162
+ │ ├── BMJ
163
+ │ └── Custom Journals...
164
+ └── Grant Proposal
165
+ ├── NIH
166
+ ├── NSF
167
+ └── Custom Grants...
168
+ ```
169
+
170
+ ## Features
171
+
172
+ ### 1. Multi-Format Support
173
+ Works with Word documents (.docx), plain text (.txt), and Markdown (.md) out of the box.
174
+ PDF and LaTeX support is planned for a future release.
175
+
176
+ ```bash
177
+ # Word document
178
+ doc-checker check thesis.docx --profile phd-thesis
179
+
180
+ # Markdown
181
+ doc-checker check thesis.md --profile phd-thesis
182
+
183
+ # Plain text
184
+ doc-checker check thesis.txt --profile phd-thesis
185
+
186
+ # Future formats (planned)
187
+ doc-checker check thesis.pdf --profile phd-thesis
188
+ ```
189
+
190
+ ### 2. Multi-Profile Support
191
+ Choose the right profile for your document type. Each profile has specific requirements and validation rules.
192
+
193
+ ```bash
194
+ doc-checker profiles --list
195
+ doc-checker check document.docx --profile phd-thesis
196
+ ```
197
+
198
+ ### 3. Comprehensive Checking
199
+ - **Structure**: Required sections, heading hierarchy, numbering
200
+ - **Formatting**: Word limits, figure counts, spacing requirements
201
+ - **Citations**: Format detection, completeness, consistency
202
+ - **Grammar**: Academic tone, passive voice, sentence length
203
+ - **Style**: Writing quality, clarity, domain-specific standards
204
+
205
+ ### 4. Multiple Output Formats
206
+ ```bash
207
+ # Terminal output (default)
208
+ doc-checker check thesis.docx --profile phd-thesis
209
+
210
+ # HTML report
211
+ doc-checker check thesis.docx --profile phd-thesis --format html --output report.html
212
+
213
+ # JSON output (for automation)
214
+ doc-checker check thesis.docx --profile phd-thesis --format json --output results.json
215
+ ```
216
+
217
+ ### 5. Custom Profiles
218
+ Create profiles for your institution or specific needs:
219
+
220
+ ```bash
221
+ # Create new profile
222
+ doc-checker profile create my-university --extends phd-thesis
223
+
224
+ # Validate custom profile
225
+ doc-checker profile validate my-profile.yaml
226
+ ```
227
+
228
+ ### 6. AI Enhancement (Roadmap)
229
+
230
+ ⚠️ **Coming in Future Releases** - AI features are planned but not yet implemented.
231
+
232
+ The tool will support three AI options in future versions:
233
+
234
+ #### v1.5 (Target: Q3 2026) - Cloud AI
235
+ - **Providers**: OpenAI (ChatGPT), Anthropic (Claude)
236
+ - **Cost**: $0.10-$0.50 per document
237
+ - **Quality**: Excellent
238
+ - **Privacy**: Document sent to provider's servers
239
+ - **Use case**: Best for final review before submission
240
+
241
+ #### v2.0 (Target: Q4 2026) - Local AI
242
+ - **Provider**: Ollama (runs on your computer)
243
+ - **Cost**: Free
244
+ - **Quality**: Good
245
+ - **Privacy**: Completely private, offline
246
+ - **Use case**: Budget-friendly, sensitive documents
247
+
248
+ #### v2.5 (Target: Q1 2027) - Fine-Tuned Models
249
+ - **Provider**: Custom models via Ollama/Hugging Face
250
+ - **Cost**: Free (after training)
251
+ - **Quality**: Excellent for specific domains
252
+ - **Privacy**: Completely private, offline
253
+ - **Use case**: Institution-specific requirements
254
+
255
+ **Current Version (v1.0)**: Rule-based checking only (no AI required)
256
+
257
+ See [`plans/UPDATED_PROJECT_PLAN_v2.0.md`](plans/UPDATED_PROJECT_PLAN_v2.0.md) for detailed AI strategy.
258
+
259
+ ## Documentation
260
+
261
+ ### Planning Documents
262
+ - **[Project Plan (v2.0)](plans/UPDATED_PROJECT_PLAN_v2.0.md)** - Consolidated project plan with all specifications
263
+ - Technical architecture
264
+ - Development roadmap
265
+ - Testing strategy
266
+ - AI enhancement strategy
267
+ - ICMJE/COPE compliance
268
+ - Profile specifications
269
+
270
+ ### User Guides (Coming Soon)
271
+ - User Guide - How to use the tool effectively
272
+ - Creating Custom Profiles - Build your own profiles
273
+ - Medical Guidelines - Understanding clinical reporting standards
274
+ - Configuration Reference - All configuration options
275
+
276
+ ## Command Reference
277
+
278
+ ### Checking Documents
279
+
280
+ ```bash
281
+ # Basic check
282
+ doc-checker check <file> --profile <profile-name>
283
+
284
+ # Multiple files
285
+ doc-checker check chapter*.docx --merge
286
+
287
+ # Custom configuration
288
+ doc-checker check <file> --config custom-rules.yaml
289
+
290
+ # Specify output
291
+ doc-checker check <file> --format html --output report.html
292
+
293
+ # Set severity threshold
294
+ doc-checker check <file> --severity error
295
+
296
+ # Ignore sections
297
+ doc-checker check <file> --ignore "Acknowledgements,Appendices"
298
+ ```
299
+
300
+ ### Managing Profiles
301
+
302
+ ```bash
303
+ # List available profiles
304
+ doc-checker profiles --list
305
+
306
+ # Show profile details
307
+ doc-checker profile show phd-thesis
308
+
309
+ # Create custom profile
310
+ doc-checker profile create <name> --extends <parent-profile>
311
+
312
+ # Validate profile
313
+ doc-checker profile validate <profile-file>
314
+
315
+ # Compare profiles
316
+ doc-checker profile diff <profile1> <profile2>
317
+ ```
318
+
319
+ ### Configuration
320
+
321
+ ```bash
322
+ # Initialize configuration
323
+ doc-checker init
324
+
325
+ # Show current configuration
326
+ doc-checker config --show
327
+
328
+ # Set default profile
329
+ doc-checker config set default-profile phd-thesis
330
+ ```
331
+
332
+ ## Configuration File
333
+
334
+ Create a `.doc-checker.yaml` file in your project:
335
+
336
+ ```yaml
337
+ # Default profile to use
338
+ default_profile: "phd-thesis"
339
+
340
+ # Citation style preference
341
+ citation_style: "apa"
342
+
343
+ # Custom dictionary
344
+ custom_dictionary:
345
+ - "bioinformatics"
346
+ - "proteomics"
347
+ - "metabolomics"
348
+
349
+ # Ignore patterns
350
+ ignore_sections:
351
+ - "Acknowledgements"
352
+ - "Dedication"
353
+
354
+ # Severity threshold
355
+ severity: "warning" # Only show warnings and errors
356
+
357
+ # Output preferences
358
+ output:
359
+ format: "html"
360
+ include_suggestions: true
361
+ show_line_numbers: true
362
+
363
+ # AI enhancement (optional)
364
+ ai:
365
+ enabled: false
366
+ provider: "openai"
367
+ model: "gpt-4"
368
+ api_key: "${OPENAI_API_KEY}" # Use environment variable
369
+ ```
370
+
371
+ ## Requirements
372
+
373
+ - Python 3.8 or higher
374
+ - Supported document formats: `.docx` (Word), `.md` (Markdown), `.txt` (plain text)
375
+ - Internet connection only required for optional AI features (planned for v1.5+)
376
+ - Future format support planned: PDF, LaTeX, RTF
377
+
378
+ ## Development Status & Release Plan
379
+
380
+ ### Current Status
381
+ 🚀 **v0.4.1-beta** — Bug fixes, improved citation handling, and integration tests complete
382
+ 📅 **Next Milestone**: v1.0.0 Public Release (Target: Q2 2026)
383
+
384
+ ### Release Roadmap
385
+
386
+ #### v1.0 - Rule-Based Core (Target: Q2 2026) 🎯 CURRENT FOCUS
387
+ **Status**: Final Polish & Documentation
388
+
389
+ **Completed**:
390
+ - ✅ Phase 1: Foundation & Core Architecture
391
+ - ✅ Phase 2: Core Analyzers (Structure, Formatting, Citations)
392
+ - ✅ Phase 3: Medical & PhD Profiles (ICMJE/COPE Compliance)
393
+ - ✅ Phase 3b: Grant Proposal Profiles (NIH, NSF)
394
+ - ✅ MVP Stage 1: Verification & Testing Foundation (70%+ coverage)
395
+ - ✅ MVP Stage 2: Sample Documents Creation (4 complete datasets)
396
+ - ✅ MVP Stage 3: Integration Testing & Bug Fixes (135 tests, 0 failures)
397
+
398
+ **In Progress**:
399
+ - 🔄 Phase 4: User Documentation
400
+
401
+ **Features**:
402
+ - Complete rule-based document checking
403
+ - Structure, formatting, citations, grammar analysis
404
+ - ICMJE/COPE compliance validation
405
+ - HTML, JSON, Terminal, JUnit reports
406
+ - Multiple profiles (PhD thesis, medical journals, generic)
407
+ - CI/CD integration support
408
+ - Comprehensive documentation
409
+
410
+ **No AI required** - Fast, free, works offline
411
+
412
+ ---
413
+
414
+ #### v1.5 - Cloud AI Integration (Target: Q3 2026)
415
+ **Status**: Planned for 8 weeks after v1.0 release
416
+
417
+ **Scope**:
418
+ - ⏳ Phase 5: Cloud AI Integration (Weeks 16-23)
419
+
420
+ **New Features**:
421
+ - Optional `--ai-enhance` flag
422
+ - OpenAI (GPT-4) integration
423
+ - Anthropic (Claude) integration
424
+ - Cost estimation and tracking
425
+ - AI-powered content quality analysis
426
+ - Semantic citation validation
427
+ - Context-aware writing suggestions
428
+
429
+ **Requires**: User-provided API key, internet connection
430
+
431
+ ---
432
+
433
+ #### v2.0 - Local AI Support (Target: Q4 2026)
434
+ **Status**: Planned for 6 weeks after v1.5 release
435
+
436
+ **Scope**:
437
+ - ⏳ Phase 6: Local AI Support (Weeks 24-29)
438
+
439
+ **New Features**:
440
+ - Ollama integration
441
+ - Local LLM support (Llama 3, Mistral, etc.)
442
+ - `--ai-provider local` option
443
+ - Model management CLI (`doc-checker ai models`)
444
+ - Completely offline AI analysis
445
+ - Zero API costs
446
+
447
+ **Requires**: Ollama installed, 8GB+ RAM, 5-10GB disk space
448
+
449
+ ---
450
+
451
+ #### v2.5 - Fine-Tuned Models (Target: Q1 2027)
452
+ **Status**: Planned for 12+ weeks after v2.0 release
453
+
454
+ **Scope**:
455
+ - ⏳ Phase 7: Fine-Tuned Models (Weeks 30-41+)
456
+
457
+ **New Features**:
458
+ - Pre-trained domain-specific models:
459
+ - `medical-v1` - Medical journal manuscripts
460
+ - `phd-thesis-v1` - PhD dissertations
461
+ - `generic-academic-v1` - General academic papers
462
+ - Hugging Face model distribution
463
+ - Custom model fine-tuning scripts
464
+ - Institution-specific model support
465
+ - Fine-tuning documentation and guides
466
+
467
+ **Requires**: Same as v2.0
468
+
469
+ ---
470
+
471
+ #### v3.0+ - Future Enhancements
472
+ - PDF document support
473
+ - Markdown and LaTeX support
474
+ - Multi-language support
475
+ - Collaborative checking
476
+ - Web interface
477
+ - **Profile Governance & Accreditation System** (see [`plans/profile-governance-strategy.md`](plans/profile-governance-strategy.md))
478
+
479
+ ---
480
+
481
+ See [`plans/UPDATED_PROJECT_PLAN_v2.0.md`](plans/UPDATED_PROJECT_PLAN_v2.0.md) for detailed roadmap.
482
+
483
+ ## Contributing
484
+
485
+ Contributions are welcome! Here's how you can help:
486
+
487
+ - **Add profiles** - Create profiles for specific journals or institutions
488
+ - **Improve analyzers** - Enhance existing checks or add new ones
489
+ - **Write documentation** - Improve guides and examples
490
+ - **Report bugs** - Open issues for problems you encounter
491
+ - **Suggest features** - Share ideas for improvements
492
+
493
+ ## Technology Stack
494
+
495
+ - **Python 3.8+** - Core language
496
+ - **Click/Typer** - CLI framework
497
+ - **python-docx** - Word document parsing
498
+ - **LanguageTool** - Grammar checking
499
+ - **Rich** - Terminal output
500
+ - **Jinja2** - Report generation
501
+ - **pytest** - Testing
502
+ - **Future**: PyPDF2/pdfplumber (PDF), python-markdown (Markdown), pylatex (LaTeX)
503
+
504
+ ## License
505
+
506
+ [MIT](LICENSE)
507
+
508
+ ## Support
509
+
510
+ - **Issues**: [GitHub Issues](https://github.com/darmsc/Academic_Document_Checker/issues)
511
+ - **Discussions**: [GitHub Discussions](https://github.com/darmsc/Academic_Document_Checker/discussions)
512
+ - **Documentation**: [Full documentation](https://github.com/darmsc/Academic_Document_Checker/docs)
513
+
514
+ ## Acknowledgements
515
+
516
+ This tool is designed to help academic writers produce high-quality documents. It complements, but does not replace, human review and editorial judgment.
517
+
518
+ ---
519
+
520
+ **Status**: Active Development - Phase 4 | **Current Version**: 0.4.1-beta | **Target v1.0**: Q2 2026 | **Last Updated**: April 2026