Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
7081907
Fix test fixtures
noelsaw1 Jan 5, 2026
7e26d41
Add Debugging and Fix Script
noelsaw1 Jan 5, 2026
41308b7
Move docs into Completed Folder
noelsaw1 Jan 5, 2026
bd8a9ff
Merge pull request #31 from Hypercart-Dev-Tools/fix/refactor-stabilit…
noelsaw1 Jan 5, 2026
2175319
Update PROJECT-STABILITY.md
noelsaw1 Jan 5, 2026
be03ca7
Phase 1
noelsaw1 Jan 6, 2026
27b03ee
Update Backlog to Cherry Pick missing features
noelsaw1 Jan 6, 2026
add226f
Update AI Instructions
noelsaw1 Jan 6, 2026
452f08c
Add profiling measurements
noelsaw1 Jan 6, 2026
772833f
Clone Detection Optimization
noelsaw1 Jan 6, 2026
2c0f21d
Added real-time progress indicators for better UX
noelsaw1 Jan 6, 2026
0ab7002
Add Smart N+1 Detection with Meta Caching Awareness*
noelsaw1 Jan 6, 2026
944e4cf
Merge pull request #33 from Hypercart-Dev-Tools/fix/refactor-stabilit…
noelsaw1 Jan 6, 2026
1a9b40b
feat: Add Python HTML report generator (v1.0.87)
noelsaw1 Jan 6, 2026
ab11f57
fix: Clean JSON output - remove error messages (v1.0.88)
noelsaw1 Jan 6, 2026
d359749
fix bash script bug on line 1713 that prepends an error message to t…
noelsaw1 Jan 6, 2026
f3126e9
Merge pull request #34 from Hypercart-Dev-Tools/feature/switch-html-g…
noelsaw1 Jan 6, 2026
0f02a47
feat: Extract Node.js/Headless WordPress patterns and fixtures
noelsaw1 Jan 6, 2026
817b5c8
feat: Add JavaScript/TypeScript pattern support to scanner
noelsaw1 Jan 6, 2026
56756ce
feat: Add direct pattern detection for JavaScript/Node.js/Headless Wo…
noelsaw1 Jan 6, 2026
93d6d32
chore: Bump version to 1.0.89 and update CHANGELOG
noelsaw1 Jan 6, 2026
64e97ca
Final commit
noelsaw1 Jan 6, 2026
0285add
docs: Add comments to test fixtures and configure secret scanning
noelsaw1 Jan 6, 2026
9fab1c3
Add Woo test patterns
noelsaw1 Jan 6, 2026
edd37fc
Add Woo Patterns
noelsaw1 Jan 6, 2026
ddf5296
Merge pull request #35 from Hypercart-Dev-Tools/rules/add-woo-thankyo…
noelsaw1 Jan 6, 2026
9290e79
Add DISCLOSURE-POLICY and organize docs
noelsaw1 Jan 6, 2026
2f717e9
Add and Update Disclosure Policy and references
noelsaw1 Jan 6, 2026
7c601a4
Add Automated System Review
noelsaw1 Jan 6, 2026
38ea83a
Update contact info
noelsaw1 Jan 7, 2026
6c03e05
Create PATTERN-MEMORY.md
noelsaw1 Jan 7, 2026
26ccdcf
1st pass
noelsaw1 Jan 7, 2026
26de596
Add Fixtures
noelsaw1 Jan 7, 2026
d2be545
Pattern Library and Mitigations
noelsaw1 Jan 7, 2026
e68a82a
Merge pull request #38 from Hypercart-Dev-Tools/feature/add-pattern-l…
noelsaw1 Jan 7, 2026
e28079b
Context Aware Detection Enhancements
noelsaw1 Jan 7, 2026
5a58155
Add Centralized Helper compute function/method scope boundaries
noelsaw1 Jan 7, 2026
ccf010f
New “clamp context
noelsaw1 Jan 7, 2026
766720d
Clean up Backlog
noelsaw1 Jan 7, 2026
e8130cc
Merge pull request #39 from Hypercart-Dev-Tools/rules/enhance-context
noelsaw1 Jan 7, 2026
da82d20
Fix GitHub Test Fixtures
noelsaw1 Jan 7, 2026
308d18e
Merge pull request #40 from Hypercart-Dev-Tools/rules/enhance-context
noelsaw1 Jan 7, 2026
09bcc35
Remove test scripts
noelsaw1 Jan 7, 2026
4c6f5de
Merge pull request #41 from Hypercart-Dev-Tools/rules/enhance-context
noelsaw1 Jan 7, 2026
089cf90
Update _AI_INSTRUCTIONS.md
noelsaw1 Jan 7, 2026
0ff0cbf
Add docs for Semi-Automated Scanning and Reporting
noelsaw1 Jan 7, 2026
9069cf2
Initial version for testing
noelsaw1 Jan 7, 2026
cfb67b2
Reduce length of AI Instructions Text file
noelsaw1 Jan 7, 2026
39ac610
Fix scanner corruption
noelsaw1 Jan 8, 2026
d0c9396
Fix Python script to count issues
noelsaw1 Jan 8, 2026
ddce140
Add end to end system instructions
noelsaw1 Jan 8, 2026
020bd89
Merge pull request #44 from Hypercart-Dev-Tools/feature/ai-triage-2nd…
noelsaw1 Jan 8, 2026
417d9dc
Add explicit logging (print counts + output path)
noelsaw1 Jan 8, 2026
9a553c8
Add post-write verification (re-open JSON and assert ai_triage exists)
noelsaw1 Jan 8, 2026
85acd6e
Add regression test/smoke test
noelsaw1 Jan 8, 2026
f145f9e
Send triage logs to stderr, not stdout.
noelsaw1 Jan 8, 2026
af7e105
Update Changelo
noelsaw1 Jan 8, 2026
ff04ecb
Merge pull request #45 from Hypercart-Dev-Tools/fix/phase-2-triage-in…
noelsaw1 Jan 8, 2026
e59f5ac
Add "x" clear button on search
noelsaw1 Jan 8, 2026
cb2dda0
Add Coupons to Main Scanner
noelsaw1 Jan 8, 2026
6de9f74
Merge pull request #46 from Hypercart-Dev-Tools/rules/add-thankyou-co…
noelsaw1 Jan 8, 2026
207473c
feat: Add heuristic pattern for HTML-escaping in JSON response URL fi…
noelsaw1 Jan 9, 2026
e313e9d
Merge pull request #47 from Hypercart-Dev-Tools/rules/add-double-escape
noelsaw1 Jan 9, 2026
7cba796
1st pass
noelsaw1 Jan 9, 2026
09634bf
Update Golden Rules docs
noelsaw1 Jan 9, 2026
61f19ea
Update Docs
noelsaw1 Jan 9, 2026
c047567
Update Golden Rules doc
noelsaw1 Jan 9, 2026
452ee75
Update IDEA-GOLDEN-RULES.md
noelsaw1 Jan 9, 2026
3eecb2b
Update version numbers
noelsaw1 Jan 10, 2026
20244cf
Clean up docs
noelsaw1 Jan 10, 2026
3bea5f3
Update README.md
noelsaw1 Jan 10, 2026
9261b73
Merge pull request #48 from Hypercart-Dev-Tools/feature/golden-rules
noelsaw1 Jan 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ If you're unsure whether to create a new workflow or modify `ci.yml`, ask yourse
3. **Is this for other repos to consume?** → Create reusable workflow with `workflow_call`
4. **Is this completely unrelated to CI?** → Maybe OK, but document why

For WP Code Check's responsible disclosure and report publication policy, see `../../DISCLOSURE-POLICY.md`.

## History

- **2025-12-31**: Consolidated 3 workflows into 1
Expand Down
20 changes: 20 additions & 0 deletions .gitleaks.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Gitleaks configuration for WP Code Check
# Excludes test fixtures containing fake secrets

title = "WP Code Check - Gitleaks Configuration"

# Exclude test files and fixtures from secret scanning
[allowlist]
description = "Allowlist for test fixtures with fake secrets"
paths = [
'''dist/tests/.*''',
'''dist/tests/fixtures/.*''',
'''tests/.*''',
]

# Exclude specific patterns that are known to be test data
regexes = [
'''sk_live_1234567890abcdef1234567890abcdef''', # Fake Stripe key in test-js-pattern.js
'''ghp_1234567890abcdefghijklmnopqrstuvwxyz''', # Fake GitHub token in test-js-pattern.js
]

44 changes: 44 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,50 @@ This project includes a **Project Templates** feature (alpha) that allows users

---

### JSON to HTML Report Conversion

This project includes a **standalone JSON-to-HTML converter** (`dist/bin/json-to-html.py`) that converts scan logs to beautiful HTML reports. This tool is designed for reliability and should be used when the main scanner's HTML generation stalls or fails.

**When to use:**
- The main scan completes but HTML report generation hangs or times out
- You need to regenerate an HTML report from an existing JSON log
- The user explicitly asks to convert a JSON log to HTML

**Usage:**
```bash
python3 dist/bin/json-to-html.py <input.json> <output.html>
```

**Example:**
```bash
# Convert a specific JSON log to HTML
python3 dist/bin/json-to-html.py dist/logs/2026-01-05-032317-UTC.json dist/reports/my-report.html

# Find the latest JSON log and convert it
latest_json=$(ls -t dist/logs/*.json | head -1)
python3 dist/bin/json-to-html.py "$latest_json" dist/reports/latest-report.html
```

**Features:**
- ✅ **Fast & Reliable** - Python-based, no bash subprocess issues
- ✅ **Standalone** - Works independently of the main scanner
- ✅ **Auto-opens** - Automatically opens the report in your browser (macOS/Linux)
- ✅ **No Dependencies** - Uses only Python 3 standard library
- ✅ **Detailed Output** - Shows progress and file size

**Troubleshooting:**
- If the script fails, check that Python 3 is installed: `python3 --version`
- If the template is missing, ensure `dist/bin/templates/report-template.html` exists
- If JSON is invalid, validate it with: `jq empty <file.json>`

**Integration:**
The main scanner (`check-performance.sh`) automatically calls this converter when using `--format json`. If you encounter issues with HTML generation during a scan, you can:
1. Let the scan complete (JSON will be saved)
2. Manually run the converter on the saved JSON log
3. Report the issue so the integration can be improved

---

## 🔐 Security

- [ ] **Sanitize all inputs** using WordPress functions (`sanitize_text_field()`, `sanitize_email()`, `absint()`, etc.)
Expand Down
756 changes: 756 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,39 @@ Expected output:
- **Errors**: 6+ (depending on active checks)
- **Warnings**: 4+

### End-to-End Template Testing

Use the keyword **"Run template [name] end to end"** to execute a complete scan and AI triage workflow with minimal human intervention.

**What this does:**
1. Loads the template configuration from `TEMPLATES/[name].txt`
2. Executes the full performance scan (`check-performance.sh`)
3. Generates JSON log with all findings
4. Runs AI-assisted triage on the findings
5. Converts JSON to HTML report with triage data embedded
6. Opens the final report in your browser

**Example:**
```bash
# User request: "Run template gravityforms end to end"
# AI will execute:
./dist/bin/run gravityforms --format json
python3 dist/bin/ai-triage.py dist/logs/[latest].json
python3 dist/bin/json-to-html.py dist/logs/[latest].json dist/reports/[output].html
```

**Benefits:**
- ✅ Complete workflow in one command
- ✅ AI triage automatically classifies findings
- ✅ HTML report includes triage classifications and confidence levels
- ✅ No manual JSON/HTML conversion needed
- ✅ Ideal for testing new checks or validating fixes

**Template Requirements:**
- Template file must exist in `TEMPLATES/[name].txt`
- Must contain `PROJECT_PATH` pointing to a valid WordPress plugin/theme directory
- Optional: `FORMAT=json` to enable JSON output (required for triage)

---

## 📋 Commit Message Guidelines
Expand Down
Loading
Loading