You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ]**Improve: LaTeX Math Delimiter Conversion** (`builder.py:136-139`)
141
+
- Handle escaped delimiters (`\# Project Roadmap
142
+
143
+
This document outlines the detailed development plan for the Anki Python Deck Tool. Our vision is to create a flexible, general-purpose tool for creating Anki decks from various sources, with support for multiple note types, media files, and both CLI and GUI interfaces.
144
+
145
+
## Vision Statement
146
+
147
+
Transform the Anki Python Deck Tool into a comprehensive, user-friendly solution for creating and managing Anki decks from structured data sources (primarily YAML), supporting diverse use cases from language learning to technical memorization, with both command-line and graphical interfaces.
148
+
149
+
## Core Principles
150
+
151
+
1.**Flexibility**: Support multiple note types, templates, and data formats
152
+
2.**Ease of Use**: Simple for beginners, powerful for advanced users
153
+
3.**Quality**: Well-tested, type-safe, and properly documented code
154
+
4.**Extensibility**: Plugin architecture for custom processors and validators
155
+
5.**Cross-Platform**: Works seamlessly on Windows, macOS, and Linux
156
+
157
+
## 1. Infrastructure (CI/CD, Packaging)
158
+
159
+
-[x]**Packaging Upgrade**
160
+
-[x] Create `requirements.txt` for consistent environment setup.
161
+
-[x] Update `pyproject.toml` with modern build system configuration.
162
+
-[x] Set up optional extras for dev dependencies.
163
+
-[ ] Evaluate `poetry` or `uv` for advanced dependency management (current setup is sufficient).
164
+
165
+
-[x]**GitHub Actions Workflows**
166
+
-[x] Create `.github/workflows/ci.yml` for Continuous Integration.
167
+
-[x] Job: Run `ruff` linting and formatting check.
168
+
-[x] Job: Run `mypy` static type checking.
169
+
-[x] Job: Run `pytest` suite on Ubuntu-latest, Windows-latest, and macOS-latest.
170
+
-[x] Job: Upload coverage to Codecov.
171
+
-[x] Create `.github/workflows/release.yml` for automated releases.
172
+
-[x] Trigger on tag push (v\*).
173
+
-[x] Build distribution (wheel/sdist).
174
+
-[x] Publish to PyPI.
175
+
-[x] Create `.github/workflows/security.yml` for security scanning.
176
+
-[x] Job: Run `bandit` for security linting.
177
+
-[x] Job: Run `pip-audit` for dependency vulnerability scanning.
178
+
-[x] Create `.github/workflows/build_release.yml` for executable building.
179
+
-[x] Build standalone executables for Windows, macOS, and Linux.
180
+
-[x] Set up Dependabot for automated dependency updates.
181
+
182
+
-[x]**Local Development Experience**
183
+
-[x] Configure `ruff` and `mypy` in `pyproject.toml` with strict rules.
184
+
-[x] Add `.pre-commit-config.yaml` to enforce linting before commit.
185
+
-[x] Add `Makefile` for common tasks (`make test`, `make lint`, `make build-exe`, etc.).
186
+
187
+
## 2. Code Quality & Standards
188
+
189
+
-[x]**Static Type Checking**
190
+
-[x] Configure `mypy` settings in `pyproject.toml`.
191
+
-[x] Add type hints to all public functions.
192
+
-[x] Eliminate all `Any` types in core modules.
193
+
-[x] Add generic type support for Deck definitions.
194
+
195
+
-[x]**Docstrings & Documentation**
196
+
-[x] Add Google-style docstrings to all public APIs.
-[x]**Decouple Parser**: Extract configuration loading into `src/anki_yaml_tool/core/config.py`.
203
+
-[x]**Media Handler**: Create dedicated `src/anki_yaml_tool/core/media.py` for media file operations.
204
+
-[x]**Validator Module**: Create `src/anki_yaml_tool/core/validators.py` for schema validation.
205
+
206
+
, `$`)
207
+
- Handle `# Project Roadmap
208
+
209
+
This document outlines the detailed development plan for the Anki Python Deck Tool. Our vision is to create a flexible, general-purpose tool for creating Anki decks from various sources, with support for multiple note types, media files, and both CLI and GUI interfaces.
210
+
211
+
## Vision Statement
212
+
213
+
Transform the Anki Python Deck Tool into a comprehensive, user-friendly solution for creating and managing Anki decks from structured data sources (primarily YAML), supporting diverse use cases from language learning to technical memorization, with both command-line and graphical interfaces.
214
+
215
+
## Core Principles
216
+
217
+
1.**Flexibility**: Support multiple note types, templates, and data formats
218
+
2.**Ease of Use**: Simple for beginners, powerful for advanced users
219
+
3.**Quality**: Well-tested, type-safe, and properly documented code
220
+
4.**Extensibility**: Plugin architecture for custom processors and validators
221
+
5.**Cross-Platform**: Works seamlessly on Windows, macOS, and Linux
222
+
223
+
## 1. Infrastructure (CI/CD, Packaging)
224
+
225
+
-[x]**Packaging Upgrade**
226
+
-[x] Create `requirements.txt` for consistent environment setup.
227
+
-[x] Update `pyproject.toml` with modern build system configuration.
228
+
-[x] Set up optional extras for dev dependencies.
229
+
-[ ] Evaluate `poetry` or `uv` for advanced dependency management (current setup is sufficient).
230
+
231
+
-[x]**GitHub Actions Workflows**
232
+
-[x] Create `.github/workflows/ci.yml` for Continuous Integration.
233
+
-[x] Job: Run `ruff` linting and formatting check.
234
+
-[x] Job: Run `mypy` static type checking.
235
+
-[x] Job: Run `pytest` suite on Ubuntu-latest, Windows-latest, and macOS-latest.
236
+
-[x] Job: Upload coverage to Codecov.
237
+
-[x] Create `.github/workflows/release.yml` for automated releases.
238
+
-[x] Trigger on tag push (v\*).
239
+
-[x] Build distribution (wheel/sdist).
240
+
-[x] Publish to PyPI.
241
+
-[x] Create `.github/workflows/security.yml` for security scanning.
242
+
-[x] Job: Run `bandit` for security linting.
243
+
-[x] Job: Run `pip-audit` for dependency vulnerability scanning.
244
+
-[x] Create `.github/workflows/build_release.yml` for executable building.
245
+
-[x] Build standalone executables for Windows, macOS, and Linux.
246
+
-[x] Set up Dependabot for automated dependency updates.
247
+
248
+
-[x]**Local Development Experience**
249
+
-[x] Configure `ruff` and `mypy` in `pyproject.toml` with strict rules.
250
+
-[x] Add `.pre-commit-config.yaml` to enforce linting before commit.
251
+
-[x] Add `Makefile` for common tasks (`make test`, `make lint`, `make build-exe`, etc.).
252
+
253
+
## 2. Code Quality & Standards
254
+
255
+
-[x]**Static Type Checking**
256
+
-[x] Configure `mypy` settings in `pyproject.toml`.
257
+
-[x] Add type hints to all public functions.
258
+
-[x] Eliminate all `Any` types in core modules.
259
+
-[x] Add generic type support for Deck definitions.
260
+
261
+
-[x]**Docstrings & Documentation**
262
+
-[x] Add Google-style docstrings to all public APIs.
0 commit comments