wry 0.5.1.dev4__tar.gz → 0.5.1.dev5__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 (138) hide show
  1. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.cursorrules +6 -1
  2. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/CHANGELOG.md +8 -0
  3. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/CONTRIBUTING.md +10 -1
  4. {wry-0.5.1.dev4/wry.egg-info → wry-0.5.1.dev5}/PKG-INFO +45 -1
  5. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/README.md +44 -0
  6. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/RELEASE_PROCESS.md +8 -1
  7. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/_version.py +3 -3
  8. {wry-0.5.1.dev4 → wry-0.5.1.dev5/wry.egg-info}/PKG-INFO +45 -1
  9. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.github/workflows/ci-cd.yml +0 -0
  10. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.gitignore +0 -0
  11. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.markdownlint.json +0 -0
  12. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/.pre-commit-config.yaml +0 -0
  13. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/AI_KNOWLEDGE_BASE.md +0 -0
  14. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/LICENSE +0 -0
  15. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/TODO.md +0 -0
  16. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/check.sh +0 -0
  17. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/autowrymodel_comprehensive.py +0 -0
  18. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/config.json +0 -0
  19. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/multimodel_comprehensive.py +0 -0
  20. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/sample_config.json +0 -0
  21. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/examples/wrymodel_comprehensive.py +0 -0
  22. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/pyproject.toml +0 -0
  23. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/README.md +0 -0
  24. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/extract_release_notes.py +0 -0
  25. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_all_versions.sh +0 -0
  26. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_ci_locally.sh +0 -0
  27. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/test_with_act.sh +0 -0
  28. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/scripts/update-dependencies.sh +0 -0
  29. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/setup.cfg +0 -0
  30. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/README.md +0 -0
  31. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/__init__.py +0 -0
  32. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/__init__.py +0 -0
  33. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_auto_model.py +0 -0
  34. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_inheritance.py +0 -0
  35. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_multi_model.py +0 -0
  36. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/features/test_source_precedence.py +0 -0
  37. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/__init__.py +0 -0
  38. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_edge_cases.py +0 -0
  39. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_integration.py +0 -0
  40. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_click_integration_extended.py +0 -0
  41. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/integration/test_context_handling.py +0 -0
  42. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/__init__.py +0 -0
  43. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/__init__.py +0 -0
  44. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_annotation_inference.py +0 -0
  45. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_edge_cases.py +0 -0
  46. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_field_processing.py +0 -0
  47. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_auto_model_list_fields.py +0 -0
  48. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_comma_separated_lists.py +0 -0
  49. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_field_annotation_handling.py +0 -0
  50. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_field_annotations.py +0 -0
  51. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/auto_model/test_type_inference.py +0 -0
  52. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/README_TESTING_STRATEGY.md +0 -0
  53. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/__init__.py +0 -0
  54. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_argument_types.py +0 -0
  55. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_bool_flag_handling.py +0 -0
  56. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_config_building.py +0 -0
  57. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_constraint_formatting.py +0 -0
  58. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_decorator_edge_cases.py +0 -0
  59. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_interval_constraints.py +0 -0
  60. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_lambda_parsing.py +0 -0
  61. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_length_constraints.py +0 -0
  62. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_parameter_generation.py +0 -0
  63. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_click_predicate_handling.py +0 -0
  64. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_closure_extraction_errors.py +0 -0
  65. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_closure_handling.py +0 -0
  66. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_constraint_behavior.py +0 -0
  67. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_constraint_edge_cases.py +0 -0
  68. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_env_vars_option.py +0 -0
  69. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_explicit_argument_help_injection.py +0 -0
  70. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_field_alias_with_click_options.py +0 -0
  71. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_format_constraint_text.py +0 -0
  72. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_json_config_loading.py +0 -0
  73. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_lambda_behavior.py +0 -0
  74. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_lambda_error_handling.py +0 -0
  75. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_predicate_source_errors.py +0 -0
  76. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_strict_mode_errors.py +0 -0
  77. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/click/test_type_handling.py +0 -0
  78. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/__init__.py +0 -0
  79. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_accessors.py +0 -0
  80. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_advanced_features.py +0 -0
  81. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_core.py +0 -0
  82. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_edge_cases.py +0 -0
  83. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_env_utils.py +0 -0
  84. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_constraint_extraction.py +0 -0
  85. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_utils.py +0 -0
  86. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_field_utils_edge_cases.py +0 -0
  87. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_sources.py +0 -0
  88. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/core/test_type_checking_blocks.py +0 -0
  89. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/__init__.py +0 -0
  90. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_accessor_caching.py +0 -0
  91. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_extract_edge_cases.py +0 -0
  92. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_extract_subset_edge_cases.py +0 -0
  93. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_click_context_handling.py +0 -0
  94. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_data_extraction.py +0 -0
  95. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_default_handling.py +0 -0
  96. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_edge_cases.py +0 -0
  97. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_environment_integration.py +0 -0
  98. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_extract_subset_edge_cases.py +0 -0
  99. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_extraction_methods.py +0 -0
  100. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_field_errors.py +0 -0
  101. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_model_object_extraction.py +0 -0
  102. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_non_dict_object_extraction.py +0 -0
  103. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/model/test_object_attribute_extraction.py +0 -0
  104. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/__init__.py +0 -0
  105. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/test_multi_model.py +0 -0
  106. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/multi_model/test_type_checking.py +0 -0
  107. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_argument_help_injection.py +0 -0
  108. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_auto_model_field_processing.py +0 -0
  109. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_comprehensive_imports.py +0 -0
  110. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_exclude_enum.py +0 -0
  111. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_generate_click_classmethod.py +0 -0
  112. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_help_system.py +0 -0
  113. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init.py +0 -0
  114. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init_edge_cases.py +0 -0
  115. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_init_version_edge_cases.py +0 -0
  116. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_model_extraction_methods.py +0 -0
  117. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_multiple_option_bug.py +0 -0
  118. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_type_checking_imports.py +0 -0
  119. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_variadic_argument_bug.py +0 -0
  120. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_version_fallback.py +0 -0
  121. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/tests/unit/test_version_parsing.py +0 -0
  122. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/__init__.py +0 -0
  123. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/auto_model.py +0 -0
  124. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/click_integration.py +0 -0
  125. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/comma_separated.py +0 -0
  126. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/__init__.py +0 -0
  127. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/accessors.py +0 -0
  128. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/env_utils.py +0 -0
  129. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/field_utils.py +0 -0
  130. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/model.py +0 -0
  131. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/core/sources.py +0 -0
  132. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/help_system.py +0 -0
  133. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/multi_model.py +0 -0
  134. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry/py.typed +0 -0
  135. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/SOURCES.txt +0 -0
  136. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/dependency_links.txt +0 -0
  137. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/requires.txt +0 -0
  138. {wry-0.5.1.dev4 → wry-0.5.1.dev5}/wry.egg-info/top_level.txt +0 -0
@@ -29,7 +29,12 @@ Before making any commit, AI assistants MUST:
29
29
  - Fix linter errors (ruff, mypy)
30
30
  - Format code properly (ruff format)
31
31
 
32
- 5. **Follow Conventional Commits**:
32
+ 5. **Update TODO.md** (if applicable):
33
+ - Mark completed tasks as done
34
+ - Remove completed items or move to archive section
35
+ - Update progress on ongoing work
36
+
37
+ 6. **Follow Conventional Commits**:
33
38
  - Use format: `type: description`
34
39
  - Types: feat, fix, docs, refactor, test, chore, build
35
40
 
@@ -32,6 +32,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
32
32
  - RELEASE_PROCESS.md: Documented that commits add to [Unreleased] during development
33
33
  - RELEASE_PROCESS.md: Explained that release commit converts [Unreleased] to [X.Y.Z]
34
34
 
35
+ - **TODO.md integration** 📋
36
+ - .cursorrules: Added TODO.md update as step 5 in pre-commit requirements
37
+ - CONTRIBUTING.md: Added TODO.md checklist item (mark completed, update progress)
38
+ - RELEASE_PROCESS.md: Check TODO.md before release, update after release
39
+ - README.md: Added comprehensive "Documentation Index" section
40
+ - README.md: Listed TODO.md in "For Contributors" section
41
+ - README.md: Added "Quick Start Navigation" for users/contributors/AI assistants
42
+
35
43
  ### Tests
36
44
 
37
45
  - **Additional comma-separated test** (494 total tests)
@@ -485,7 +485,15 @@ mypy wry/
485
485
 
486
486
  **Note**: Git commits automatically run pre-commit hooks (ruff, mypy, pytest). All must pass.
487
487
 
488
- ### 5. wry-Specific Checks
488
+ ### 5. Update TODO.md (if applicable)
489
+
490
+ - [ ] **TODO.md**: Update if working on tracked tasks
491
+ - Mark completed tasks as done (✅)
492
+ - Remove completed items or move to archive
493
+ - Update progress notes on ongoing work
494
+ - Add new tasks if discovered during development
495
+
496
+ ### 6. wry-Specific Checks
489
497
 
490
498
  - [ ] **Source tracking works**: If touching config/model code, verify source tracking
491
499
  - [ ] **Precedence correct**: CLI > JSON > ENV > DEFAULT (verify if changing)
@@ -648,5 +656,6 @@ For information about creating releases, see **`RELEASE_PROCESS.md`**.
648
656
  - Check `AI_KNOWLEDGE_BASE.md` for complete technical reference
649
657
  - Check `README.md` for user documentation
650
658
  - Check `RELEASE_PROCESS.md` for release workflow
659
+ - Check `TODO.md` for current tasks and planned features
651
660
  - Check `tests/features/test_source_precedence.py` for source tracking examples
652
661
  - Open an issue for questions or clarifications
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wry
3
- Version: 0.5.1.dev4
3
+ Version: 0.5.1.dev5
4
4
  Summary: Why Repeat Yourself? - Define your CLI once with Pydantic models
5
5
  Author-email: Tyler House <26489166+tahouse@users.noreply.github.com>
6
6
  License: MIT
@@ -1066,6 +1066,50 @@ mypy wry
1066
1066
  - Start a discussion for general questions
1067
1067
  - Check existing issues/PRs before creating new ones
1068
1068
 
1069
+ ## Documentation Index
1070
+
1071
+ wry has comprehensive documentation for different audiences:
1072
+
1073
+ ### For Users
1074
+ - 📘 **`README.md`** (this file) - Getting started, features, usage examples
1075
+ - 📁 **`examples/`** - Working code examples
1076
+ - `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
1077
+ - `examples/wrymodel_comprehensive.py` - WryModel with source tracking
1078
+ - `examples/multimodel_comprehensive.py` - Multi-model usage
1079
+
1080
+ ### For Contributors
1081
+ - 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
1082
+ - 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
1083
+ - 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
1084
+ - 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
1085
+
1086
+ ### Technical Reference
1087
+ - 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
1088
+ - 📝 **`CHANGELOG.md`** - Version history and all changes
1089
+ - 🧪 **`tests/README.md`** - Test organization and structure
1090
+ - 🔧 **`scripts/README.md`** - Development scripts and tools
1091
+
1092
+ ### Quick Start Navigation
1093
+
1094
+ **I'm a user, I want to...**
1095
+ - Get started → README.md "Quick Start" section
1096
+ - See examples → `examples/` directory
1097
+ - Understand features → README.md "Features" section
1098
+ - Track config sources → README.md "Value Source Tracking" section
1099
+
1100
+ **I'm a contributor, I want to...**
1101
+ - Set up development → CONTRIBUTING.md "Development Setup" section
1102
+ - Add a feature → CONTRIBUTING.md "Adding New Features" section
1103
+ - Run tests → CONTRIBUTING.md "Testing" section
1104
+ - Create a release → RELEASE_PROCESS.md
1105
+ - Check current tasks → TODO.md
1106
+
1107
+ **I'm an AI assistant, I want to...**
1108
+ - Quick reference → `.cursorrules`
1109
+ - Technical details → `AI_KNOWLEDGE_BASE.md`
1110
+ - Code patterns → `CONTRIBUTING.md`
1111
+ - Test examples → `tests/features/test_source_precedence.py`
1112
+
1069
1113
  ## License
1070
1114
 
1071
1115
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -1022,6 +1022,50 @@ mypy wry
1022
1022
  - Start a discussion for general questions
1023
1023
  - Check existing issues/PRs before creating new ones
1024
1024
 
1025
+ ## Documentation Index
1026
+
1027
+ wry has comprehensive documentation for different audiences:
1028
+
1029
+ ### For Users
1030
+ - 📘 **`README.md`** (this file) - Getting started, features, usage examples
1031
+ - 📁 **`examples/`** - Working code examples
1032
+ - `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
1033
+ - `examples/wrymodel_comprehensive.py` - WryModel with source tracking
1034
+ - `examples/multimodel_comprehensive.py` - Multi-model usage
1035
+
1036
+ ### For Contributors
1037
+ - 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
1038
+ - 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
1039
+ - 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
1040
+ - 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
1041
+
1042
+ ### Technical Reference
1043
+ - 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
1044
+ - 📝 **`CHANGELOG.md`** - Version history and all changes
1045
+ - 🧪 **`tests/README.md`** - Test organization and structure
1046
+ - 🔧 **`scripts/README.md`** - Development scripts and tools
1047
+
1048
+ ### Quick Start Navigation
1049
+
1050
+ **I'm a user, I want to...**
1051
+ - Get started → README.md "Quick Start" section
1052
+ - See examples → `examples/` directory
1053
+ - Understand features → README.md "Features" section
1054
+ - Track config sources → README.md "Value Source Tracking" section
1055
+
1056
+ **I'm a contributor, I want to...**
1057
+ - Set up development → CONTRIBUTING.md "Development Setup" section
1058
+ - Add a feature → CONTRIBUTING.md "Adding New Features" section
1059
+ - Run tests → CONTRIBUTING.md "Testing" section
1060
+ - Create a release → RELEASE_PROCESS.md
1061
+ - Check current tasks → TODO.md
1062
+
1063
+ **I'm an AI assistant, I want to...**
1064
+ - Quick reference → `.cursorrules`
1065
+ - Technical details → `AI_KNOWLEDGE_BASE.md`
1066
+ - Code patterns → `CONTRIBUTING.md`
1067
+ - Test examples → `tests/features/test_source_precedence.py`
1068
+
1025
1069
  ## License
1026
1070
 
1027
1071
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -26,6 +26,7 @@ Follow these steps IN ORDER:
26
26
 
27
27
  1. **Verify all changes are in [Unreleased]**
28
28
  - Check that CHANGELOG.md `[Unreleased]` section has all changes since last release
29
+ - Check TODO.md - all planned release items should be completed
29
30
  - Ensure all tests pass (`pytest`)
30
31
  - Fix any linting issues
31
32
 
@@ -68,7 +69,13 @@ Follow these steps IN ORDER:
68
69
 
69
70
  ### After the Release
70
71
 
71
- Continue development by adding changes to the (now empty) `[Unreleased]` section.
72
+ Continue development by:
73
+ 1. Adding new changes to the (now empty) `[Unreleased]` section in CHANGELOG.md
74
+ 2. Updating TODO.md:
75
+ - Archive or remove completed items from the released version
76
+ - Add new tasks or features planned for next release
77
+ - Update roadmap and priorities
78
+ 3. Update version numbers in AI_KNOWLEDGE_BASE.md if not already done
72
79
 
73
80
  ## Example
74
81
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.5.1.dev4'
32
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev4')
31
+ __version__ = version = '0.5.1.dev5'
32
+ __version_tuple__ = version_tuple = (0, 5, 1, 'dev5')
33
33
 
34
- __commit_id__ = commit_id = 'g338dafeb9'
34
+ __commit_id__ = commit_id = 'g1a3d554bc'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wry
3
- Version: 0.5.1.dev4
3
+ Version: 0.5.1.dev5
4
4
  Summary: Why Repeat Yourself? - Define your CLI once with Pydantic models
5
5
  Author-email: Tyler House <26489166+tahouse@users.noreply.github.com>
6
6
  License: MIT
@@ -1066,6 +1066,50 @@ mypy wry
1066
1066
  - Start a discussion for general questions
1067
1067
  - Check existing issues/PRs before creating new ones
1068
1068
 
1069
+ ## Documentation Index
1070
+
1071
+ wry has comprehensive documentation for different audiences:
1072
+
1073
+ ### For Users
1074
+ - 📘 **`README.md`** (this file) - Getting started, features, usage examples
1075
+ - 📁 **`examples/`** - Working code examples
1076
+ - `examples/autowrymodel_comprehensive.py` - Complete AutoWryModel features
1077
+ - `examples/wrymodel_comprehensive.py` - WryModel with source tracking
1078
+ - `examples/multimodel_comprehensive.py` - Multi-model usage
1079
+
1080
+ ### For Contributors
1081
+ - 📖 **`CONTRIBUTING.md`** - Complete contributor guide with code patterns and checklists
1082
+ - 🤖 **`.cursorrules`** - AI assistant quick reference (references CONTRIBUTING.md)
1083
+ - 🚀 **`RELEASE_PROCESS.md`** - How to create releases and manage versions
1084
+ - 📋 **`TODO.md`** - Current tasks, planned features, and work in progress
1085
+
1086
+ ### Technical Reference
1087
+ - 📚 **`AI_KNOWLEDGE_BASE.md`** - Complete technical reference for AI/LLMs (also useful for humans)
1088
+ - 📝 **`CHANGELOG.md`** - Version history and all changes
1089
+ - 🧪 **`tests/README.md`** - Test organization and structure
1090
+ - 🔧 **`scripts/README.md`** - Development scripts and tools
1091
+
1092
+ ### Quick Start Navigation
1093
+
1094
+ **I'm a user, I want to...**
1095
+ - Get started → README.md "Quick Start" section
1096
+ - See examples → `examples/` directory
1097
+ - Understand features → README.md "Features" section
1098
+ - Track config sources → README.md "Value Source Tracking" section
1099
+
1100
+ **I'm a contributor, I want to...**
1101
+ - Set up development → CONTRIBUTING.md "Development Setup" section
1102
+ - Add a feature → CONTRIBUTING.md "Adding New Features" section
1103
+ - Run tests → CONTRIBUTING.md "Testing" section
1104
+ - Create a release → RELEASE_PROCESS.md
1105
+ - Check current tasks → TODO.md
1106
+
1107
+ **I'm an AI assistant, I want to...**
1108
+ - Quick reference → `.cursorrules`
1109
+ - Technical details → `AI_KNOWLEDGE_BASE.md`
1110
+ - Code patterns → `CONTRIBUTING.md`
1111
+ - Test examples → `tests/features/test_source_precedence.py`
1112
+
1069
1113
  ## License
1070
1114
 
1071
1115
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes