Skip to content

Commit 170f8fc

Browse files
authored
Merge pull request #113 from Hypercart-Dev-Tools/development
Development to Main
2 parents 3a8c54a + 8b81580 commit 170f8fc

7 files changed

Lines changed: 1268 additions & 11 deletions

CHANGELOG.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,113 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
---
11+
12+
## [2.2.5] - 2026-02-07
13+
14+
### Added
15+
16+
#### .wpcignore Support - Exclude Directories from Scans
17+
18+
- **Added .wpcignore file support** (similar to .gitignore) to exclude directories and files from scans
19+
- Automatically loads exclusions from `.wpcignore` in scan path, current directory, or repository root
20+
- Supports directory patterns (e.g., `tools/`, `.git/`, `node_modules/`)
21+
- Supports file patterns with wildcards (e.g., `*.min.js`, `*.log`)
22+
- Comments (lines starting with `#`) and empty lines are ignored
23+
- **Impact:** Prevents scanning embedded dependencies, version control files, and build artifacts
24+
- **Use case:** Prevents recursive scanning when AI-DDTK scans itself (WPCC embedded at `tools/wp-code-check/`)
25+
26+
- **Created .wpcignore template** at `dist/templates/.wpcignore.template`
27+
- Sensible defaults: `tools/`, `.git/`, `node_modules/`, `vendor/`, `dist/logs/`, `dist/reports/`
28+
- Minified files: `*.min.js`, `*.min.css`, `*bundle*.js`
29+
- Organized by category with comments explaining each exclusion
30+
- Ready to copy to project root and customize
31+
32+
- **Created .wpcignore for AI-DDTK** at `/Users/noelsaw/Documents/GH Repos/AI-DDTK/.wpcignore`
33+
- Excludes `tools/` directory to prevent WPCC from scanning its own embedded copy
34+
- Prevents timeout/stalling issues when scanning AI-DDTK repository
35+
36+
#### Progress Indicators for Magic String Detector
37+
38+
- **Added progress indicators to Magic String Detector aggregation loops**
39+
- Shows "Processing match X of Y..." every 10 seconds during string extraction (lines 2582-2619)
40+
- Shows "Analyzing string X of Y..." every 10 seconds during string aggregation (lines 2631-2687)
41+
- Follows same pattern as clone detection progress indicators (added in v1.0.85)
42+
- **Impact:** Users can see progress during long scans, reducing perceived wait time
43+
- **Fixes:** Stalling/timeout issues reported when scanning large codebases (10K+ files)
44+
45+
#### --skip-magic-strings Flag - Last Resort for Timeout Issues
46+
47+
- **Added `--skip-magic-strings` command-line flag** to completely skip Magic String Detector phase
48+
- **Alias:** `--disable-magic-strings` (both flags work identically)
49+
- **Use case:** Last resort option when scans timeout during Magic String Detector aggregation
50+
- **Behavior:** Shows warning message "⚠ Skipped (--skip-magic-strings flag enabled)" and bypasses entire phase
51+
- **Pattern:** Follows same approach as existing `--skip-clone-detection` flag
52+
- **Impact:** Allows scans to complete even when Magic String Detector would timeout
53+
- **Trade-off:** Skips detection of duplicate option names, transient keys, and capability strings
54+
- **Examples:**
55+
- `wpcc --paths . --skip-magic-strings --format json`
56+
- `wpcc --paths . --disable-magic-strings --format json` (alias)
57+
58+
### Changed
59+
60+
- **Improved exclusion handling in clone detection and file caching**
61+
- Clone detection now uses dynamic `GREP_EXCLUSIONS` from `EXCLUDE_DIRS` (includes .wpcignore entries)
62+
- File caching now applies .wpcignore exclusions instead of hardcoded `vendor/` and `node_modules/`
63+
- Added `build_grep_exclusions()` helper function to convert `EXCLUDE_DIRS` to grep -v commands
64+
- **Impact:** Consistent exclusion behavior across all scan phases
65+
66+
### Technical Details
67+
68+
- **Files Modified:**
69+
- `dist/bin/check-performance.sh`:
70+
- Added `SKIP_MAGIC_STRINGS=false` variable (line 150)
71+
- Added `--skip-magic-strings` and `--disable-magic-strings` to help text (lines 471-472)
72+
- Added argument parsing for both flags (line 834: `--skip-magic-strings|--disable-magic-strings`)
73+
- Added skip logic for Magic String Detector (lines 6201-6218, closing fi at line 6272)
74+
- Added `load_wpcignore()` function (lines 900-941)
75+
- Added `build_grep_exclusions()` helper (lines 960-970)
76+
- Updated `process_aggregated_pattern()` with progress indicators (lines 2579-2687)
77+
- Updated `process_clone_detection()` to use dynamic exclusions (lines 2815-2834)
78+
- Updated file caching to use dynamic exclusions (lines 3337-3347)
79+
- `dist/templates/.wpcignore.template` - Created
80+
- `/Users/noelsaw/Documents/GH Repos/AI-DDTK/.wpcignore` - Created
81+
82+
- **Version:** Bumped to 2.2.5
83+
84+
### Documentation
85+
86+
- **TODO:** Update README.md with .wpcignore documentation
87+
- **TODO:** Update SHELL-QUICKSTART.md with .wpcignore usage
88+
- **TODO:** Update dist/TEMPLATES/_AI_INSTRUCTIONS.md with .wpcignore troubleshooting
89+
90+
---
91+
92+
### Changed
93+
94+
#### Documentation: AI-DDTK Integration
95+
96+
- **Added AI-DDTK as installation option** in README.md with comprehensive value proposition
97+
- New "Option 2: Via AI-DDTK" section in Quick Start → Installation
98+
- Detailed comparison table showing all tools included with AI-DDTK
99+
- Key benefits: centralized toolkit, AI-optimized workflows, global access, automatic updates
100+
- Clear guidance on when to choose AI-DDTK vs standalone installation
101+
- **Added "Related Projects" section** explaining AI-DDTK's git subtree relationship with WPCC
102+
- Documents how AI-DDTK embeds WPCC at `tools/wp-code-check/`
103+
- Explains update mechanism (`./install.sh update-wpcc`)
104+
- Clarifies that both options provide identical WPCC features
105+
- **Created strategic analysis document** at `PROJECT/1-INBOX/STRATEGIC-ANALYSIS-WPCC-VS-AI-DDTK.md`
106+
- Analyzed whether Claude Code Integration features should be ported to AI-DDTK
107+
- Conclusion: Keep all features in WPCC (MCP, AI Triage, GitHub Issues)
108+
- Rationale: AI-DDTK embeds WPCC via git subtree; porting would create circular dependency
109+
- Documents actual AI-DDTK architecture (v1.0.5) vs initial assumptions
110+
111+
**Context:** AI-DDTK (AI Driven Development ToolKit) is a centralized toolkit that includes WP Code Check plus additional WordPress development tools (local-wp, WP AJAX Test, Playwright, PHPStan recipes, AI agent guidelines). It provides a global `wpcc` command and is optimized for AI-driven workflows with Claude Code, Cursor, Augment, etc.
112+
113+
---
114+
8115
## [2.2.4] - 2026-02-07
9116

10117
### Fixed
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# AI-DDTK Documentation Update
2+
3+
**Created:** 2026-02-07
4+
**Status:** Complete
5+
**Type:** Documentation Enhancement
6+
7+
---
8+
9+
## 🎯 Summary
10+
11+
Updated WP Code Check documentation to inform users about AI-DDTK as an alternative installation option with detailed value propositions.
12+
13+
---
14+
15+
## 📝 Changes Made
16+
17+
### 1. README.md - Installation Section
18+
19+
**Location:** Lines 85-195
20+
21+
**Added:**
22+
- **Option 1: Standalone Installation** - Renamed existing installation instructions
23+
- **Option 2: Via AI-DDTK** - New comprehensive section with:
24+
- What is AI-DDTK explanation
25+
- Installation instructions
26+
- Complete tools table (9 tools/features)
27+
- Key benefits list (6 benefits)
28+
- How it works explanation (git subtree)
29+
- Example workflow
30+
- Decision guide (when to choose each option)
31+
32+
**Value Propositions Highlighted:**
33+
- ✅ Centralized toolkit (one installation, multiple tools)
34+
- ✅ AI-optimized (built for Claude Code, Cursor, Augment, etc.)
35+
- ✅ Global access (`wpcc` command from any directory)
36+
- ✅ Automatic updates (`./install.sh update-wpcc`)
37+
- ✅ Workflow automation (pre-built patterns)
38+
- ✅ Zero conflicts (isolated tools)
39+
40+
---
41+
42+
### 2. README.md - Related Projects Section
43+
44+
**Location:** Lines 690-743 (new section before "About")
45+
46+
**Added:**
47+
- AI-DDTK repository link and description
48+
- Git subtree relationship explanation
49+
- How it works (technical details)
50+
- When to use AI-DDTK vs standalone (decision guide)
51+
- Clarification that both options provide identical WPCC features
52+
53+
---
54+
55+
### 3. CHANGELOG.md
56+
57+
**Location:** Lines 8-35 (new Unreleased section)
58+
59+
**Added:**
60+
- Documentation: AI-DDTK Integration section
61+
- Summary of README changes
62+
- Reference to strategic analysis document
63+
- Context about AI-DDTK's purpose and architecture
64+
65+
---
66+
67+
### 4. Strategic Analysis Document
68+
69+
**File:** `PROJECT/1-INBOX/STRATEGIC-ANALYSIS-WPCC-VS-AI-DDTK.md`
70+
71+
**Content:**
72+
- Analysis of whether to port Claude Code Integration features to AI-DDTK
73+
- Actual AI-DDTK architecture (v1.0.5) vs initial assumptions
74+
- Git subtree integration explanation
75+
- Architecture diagrams
76+
- Recommendation: Keep all features in WPCC
77+
- Action items for documentation updates
78+
79+
---
80+
81+
## 🎯 Key Messages to Users
82+
83+
### For New Users
84+
85+
**"You have two ways to install WP Code Check:"**
86+
87+
1. **Standalone** - Just the scanner, minimal installation
88+
2. **AI-DDTK** - Scanner + toolkit with 8 additional tools, optimized for AI workflows
89+
90+
**Both give you the same WP Code Check features** - the difference is in how you access them.
91+
92+
---
93+
94+
### For AI-Driven Teams
95+
96+
**"AI-DDTK is built for you:"**
97+
98+
- Global `wpcc` command (no path memorization)
99+
- AI Agent Guidelines (AGENTS.md v2.4.0) with Phase 1-4 workflows
100+
- Additional tools: local-wp, WP AJAX Test, Playwright, PHPStan recipes
101+
- One-command updates for all tools
102+
- Fix-Iterate Loop pattern for autonomous debugging
103+
104+
---
105+
106+
### For CI/CD Users
107+
108+
**"Standalone is probably better for you:"**
109+
110+
- Minimal installation footprint
111+
- Direct control over repository
112+
- No extra tools you don't need
113+
- Standard git clone workflow
114+
115+
---
116+
117+
## 📊 Documentation Quality
118+
119+
**Strengths:**
120+
- ✅ Clear decision guidance (when to choose each option)
121+
- ✅ Comprehensive value propositions (9 tools listed)
122+
- ✅ Technical accuracy (git subtree explained)
123+
- ✅ User-focused benefits (not just features)
124+
- ✅ Multiple entry points (Quick Start, Related Projects)
125+
126+
**Coverage:**
127+
- ✅ Installation instructions for both options
128+
- ✅ Feature comparison table
129+
- ✅ Example workflows
130+
- ✅ Decision trees
131+
- ✅ Links to AI-DDTK repository
132+
133+
---
134+
135+
## ✅ Completion Checklist
136+
137+
- [x] Added AI-DDTK installation option to README.md
138+
- [x] Created comprehensive value proposition with tools table
139+
- [x] Added decision guidance (when to choose each option)
140+
- [x] Created "Related Projects" section
141+
- [x] Explained git subtree relationship
142+
- [x] Updated CHANGELOG.md
143+
- [x] Created strategic analysis document
144+
- [x] Verified all links and references
145+
146+
---
147+
148+
## 🔗 Related Files
149+
150+
- `README.md` - Main documentation (updated)
151+
- `CHANGELOG.md` - Version history (updated)
152+
- `PROJECT/1-INBOX/STRATEGIC-ANALYSIS-WPCC-VS-AI-DDTK.md` - Strategic analysis
153+
- `PROJECT/1-INBOX/CLAUDE-CODE-INTEGRATION-REVIEW.md` - Feature audit
154+
155+
---
156+
157+
## 📈 Impact
158+
159+
**For Users:**
160+
- Better informed installation decisions
161+
- Awareness of AI-DDTK as an option
162+
- Clear understanding of benefits for each approach
163+
164+
**For AI-DDTK:**
165+
- Increased visibility
166+
- Clear value proposition
167+
- Proper attribution and relationship documentation
168+
169+
**For WPCC:**
170+
- Maintains standalone viability
171+
- Documents ecosystem relationships
172+
- Provides multiple installation paths
173+

0 commit comments

Comments
 (0)