appydave-tools 0.37.0 → 0.38.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/docs/code-quality/README.md +177 -0
- data/docs/code-quality/implementation-plan.md +712 -0
- data/docs/code-quality/report-2025-01-21.md +342 -0
- data/lib/appydave/tools/dam/errors.rb +31 -0
- data/lib/appydave/tools/dam/file_helper.rb +43 -0
- data/lib/appydave/tools/dam/git_helper.rb +89 -0
- data/lib/appydave/tools/dam/project_listing.rb +4 -25
- data/lib/appydave/tools/dam/repo_push.rb +2 -7
- data/lib/appydave/tools/dam/repo_status.rb +7 -24
- data/lib/appydave/tools/dam/s3_operations.rb +1 -5
- data/lib/appydave/tools/dam/status.rb +6 -19
- data/lib/appydave/tools/dam/sync_from_ssd.rb +1 -7
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +3 -0
- data/package.json +1 -1
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ca0b626390693cf429dec2da61dca877811720aed92dd110849a826bbe53f3fe
|
|
4
|
+
data.tar.gz: fba4176a5c363b7578409d63a6119f495138d637c9e03f309830317fb351ba2a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7fac67c172b7153c59aee5d9a0d845c9bac1cc77040068472e125a850295435f625626addd49becded1b52e81db53d6d206269610c807e5a318a71e3647a0b08
|
|
7
|
+
data.tar.gz: 936903137cf045758a3d131a3254e6ff44eca468455b546e5c98b55eb516242a7d861139e20cc75331e41cee256a3ff34a233c9ba2d6d67833ac8f1a245d570a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# [0.37.0](https://github.com/appydave/appydave-tools/compare/v0.36.0...v0.37.0) (2025-11-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* resolve regex capture group issue in project resolver and improve S3 display ([9e49668](https://github.com/appydave/appydave-tools/commit/9e4966842ba117da4b794ee0698c1c96960763c3))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* fix config loading 7x and brand resolution with v- prefix ([94d3ea0](https://github.com/appydave/appydave-tools/commit/94d3ea0d4137167e977979f896c531d3af0a19f9))
|
|
12
|
+
* improve DAM CLI usability - brand validation and S3 sync status ([822636a](https://github.com/appydave/appydave-tools/commit/822636a517951085ef8505006b0315dfb0545572))
|
|
13
|
+
|
|
1
14
|
# [0.36.0](https://github.com/appydave/appydave-tools/compare/v0.35.0...v0.36.0) (2025-11-21)
|
|
2
15
|
|
|
3
16
|
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Code Quality Reports
|
|
2
|
+
|
|
3
|
+
This directory contains code quality retrospective analyses and improvement plans.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### Latest Report
|
|
8
|
+
📊 **[report-2025-01-21.md](./report-2025-01-21.md)** - Analysis of last 7 days (Jan 14-21)
|
|
9
|
+
|
|
10
|
+
🛠️ **[implementation-plan.md](./implementation-plan.md)** - Step-by-step implementation guide
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## How to Use These Documents
|
|
15
|
+
|
|
16
|
+
### For Quick Review
|
|
17
|
+
1. Read the **Summary** section in the latest report
|
|
18
|
+
2. Review **Critical Issues** (🔴) first
|
|
19
|
+
3. Check **Prioritized Action Items** for what to do next
|
|
20
|
+
|
|
21
|
+
### For Implementation
|
|
22
|
+
1. Open **implementation-plan.md**
|
|
23
|
+
2. Start with **Phase 1: Quick Wins** (lowest risk)
|
|
24
|
+
3. Follow the step-by-step instructions for each task
|
|
25
|
+
4. Use the code examples provided
|
|
26
|
+
|
|
27
|
+
### For Understanding Issues
|
|
28
|
+
- Each issue includes:
|
|
29
|
+
- File locations with line numbers
|
|
30
|
+
- Code examples (before/after)
|
|
31
|
+
- Impact analysis
|
|
32
|
+
- Estimated effort
|
|
33
|
+
- Recommendations
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Current Status
|
|
38
|
+
|
|
39
|
+
### Critical Issues (3)
|
|
40
|
+
1. ⏳ **Git Operations Duplication** - 90 lines across 3 files
|
|
41
|
+
2. ⏳ **Configuration Loading Pattern** - 20+ redundant calls (partially fixed)
|
|
42
|
+
3. ⏳ **Brand Resolution Logic** - Scattered across 5+ files, causing bugs
|
|
43
|
+
|
|
44
|
+
### Moderate Issues (3)
|
|
45
|
+
1. ⏳ **Test Pattern Inconsistency** - Mix of mocking vs real filesystem
|
|
46
|
+
2. ⏳ **Error Handling Inconsistency** - 3 different patterns
|
|
47
|
+
3. ⏳ **Directory Utils Duplication** - 40 lines duplicated
|
|
48
|
+
|
|
49
|
+
### Implementation Priority
|
|
50
|
+
1. **High Priority** - GitHelper extraction, BrandResolver creation
|
|
51
|
+
2. **Medium Priority** - Exception hierarchy, test refactoring
|
|
52
|
+
3. **Low Priority** - Documentation, minor cleanups
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Running Your Own Analysis
|
|
57
|
+
|
|
58
|
+
Use the code quality retrospective tool to analyze recent changes:
|
|
59
|
+
|
|
60
|
+
### Instructions
|
|
61
|
+
See: `/docs/ai-instructions/code-quality-retrospective.md`
|
|
62
|
+
|
|
63
|
+
### Example Command
|
|
64
|
+
```
|
|
65
|
+
"Analyze the last 7 days of git history. Focus on DAM and configuration
|
|
66
|
+
changes. Look for duplication, inconsistent patterns, and missing abstractions."
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### What Gets Analyzed
|
|
70
|
+
- Code duplication (similar methods, repeated logic)
|
|
71
|
+
- Pattern consistency (testing, error handling, naming)
|
|
72
|
+
- Architectural concerns (large methods, tight coupling)
|
|
73
|
+
- Testing anti-patterns (over-mocking, hidden bugs)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Implementation Timeline
|
|
78
|
+
|
|
79
|
+
### Week 1 - Quick Wins (2 days)
|
|
80
|
+
- Extract FileUtils module (1 hour)
|
|
81
|
+
- Define exception hierarchy (2 hours)
|
|
82
|
+
|
|
83
|
+
### Week 2 - Architectural (3 days)
|
|
84
|
+
- Extract GitHelper module (3 hours)
|
|
85
|
+
- Create BrandResolver class (6-8 hours)
|
|
86
|
+
|
|
87
|
+
### Week 3 - Tests & Docs (2 days)
|
|
88
|
+
- Refactor test patterns (4 hours)
|
|
89
|
+
- Add documentation (1 hour)
|
|
90
|
+
|
|
91
|
+
**Total Estimated Effort:** 18-24 hours across 2 weeks
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Contributing to Code Quality
|
|
96
|
+
|
|
97
|
+
### Before Coding
|
|
98
|
+
- [ ] Read latest code quality report
|
|
99
|
+
- [ ] Check for existing patterns before creating new ones
|
|
100
|
+
- [ ] Look for existing utilities before implementing
|
|
101
|
+
|
|
102
|
+
### During Development
|
|
103
|
+
- [ ] Follow established patterns (see report "Positive Patterns" section)
|
|
104
|
+
- [ ] Use shared test contexts instead of mocking
|
|
105
|
+
- [ ] Add defensive nil checks to public methods
|
|
106
|
+
|
|
107
|
+
### After Coding
|
|
108
|
+
- [ ] Run tests: `bundle exec rspec`
|
|
109
|
+
- [ ] Check for duplication: Did I copy/paste code?
|
|
110
|
+
- [ ] Use semantic commits: `kfeat` / `kfix` / `kchore`
|
|
111
|
+
|
|
112
|
+
### Weekly (Optional)
|
|
113
|
+
- [ ] Run code quality analysis on your changes
|
|
114
|
+
- [ ] Address any new issues introduced
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Report History
|
|
119
|
+
|
|
120
|
+
| Date | Commits | Focus Area | Key Findings |
|
|
121
|
+
|------|---------|------------|--------------|
|
|
122
|
+
| 2025-01-21 | 30 | DAM/Config | Git duplication, Brand resolution issues, Config loading |
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Protected Patterns ✅
|
|
127
|
+
|
|
128
|
+
**Do NOT flag these as problems:**
|
|
129
|
+
- Debug logging with DAM_DEBUG env var
|
|
130
|
+
- Defensive nil checking in public methods
|
|
131
|
+
- Configuration loading trace logs
|
|
132
|
+
- Error context enrichment
|
|
133
|
+
|
|
134
|
+
These are **intentional** defensive programming patterns for production debugging.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Getting Help
|
|
139
|
+
|
|
140
|
+
### Questions About Reports
|
|
141
|
+
- Check the **Analysis Methodology** section for commands used
|
|
142
|
+
- Review **Files Analyzed** to understand scope
|
|
143
|
+
- Look at **Code Examples** for context
|
|
144
|
+
|
|
145
|
+
### Questions About Implementation
|
|
146
|
+
- Read the full task description in implementation-plan.md
|
|
147
|
+
- Check **Success Criteria** to know when you're done
|
|
148
|
+
- Review **Risk Management** for mitigation strategies
|
|
149
|
+
|
|
150
|
+
### Need Clarification?
|
|
151
|
+
- Open the report markdown files in your editor
|
|
152
|
+
- Use file:line references to jump to code
|
|
153
|
+
- Run the grep commands from "Analysis Methodology"
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Next Steps
|
|
158
|
+
|
|
159
|
+
### Immediate (This Week)
|
|
160
|
+
1. Review [report-2025-01-21.md](./report-2025-01-21.md) - Critical Issues section
|
|
161
|
+
2. Open [implementation-plan.md](./implementation-plan.md) - Phase 1
|
|
162
|
+
3. Start with Task 1.1 (FileUtils extraction - 1 hour)
|
|
163
|
+
|
|
164
|
+
### Short Term (This Month)
|
|
165
|
+
- Complete Phase 1 & 2 (quick wins + architecture)
|
|
166
|
+
- Run tests after each change
|
|
167
|
+
- Commit with semantic messages
|
|
168
|
+
|
|
169
|
+
### Long Term (Ongoing)
|
|
170
|
+
- Run code quality analysis monthly
|
|
171
|
+
- Keep reports in this directory with date stamps
|
|
172
|
+
- Update implementation-plan.md as issues are resolved
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
**Last Updated:** 2025-01-21
|
|
177
|
+
**Next Review:** 2025-01-28 (weekly)
|