docs: Consolidate documentation into single doc/ folder

- Move docs/ contents to doc/ with proper numbering:
  - CONTACT-FORM-QUICKSTART.md → 17-CONTACT-FORM.md
  - SECURITY-AUDIT-REPORT.md → 18-SECURITY-AUDIT.md
  - SECURITY.md → 19-SECURITY-IMPLEMENTATION.md
- Delete duplicate/redundant files from docs/:
  - CMD-K-COMMAND-BAR.md (duplicate of 16-CMD-K-API.md)
  - CONTACT_FORM_IMPLEMENTATION.md (overlaps with quickstart)
  - SECURITY-IMPLEMENTATION-SUMMARY.md (summary of audit)
- Update doc/README.md with new document references
- Update test counts to 39 test files across all READMEs
- Update all "Last Updated" dates to 2025-12-01
- Add new API endpoints documentation (text, cmd-k, contact, toggles)
- Update PROJECT-MEMORY.md with new features and correct paths
This commit is contained in:
juanatsap
2025-12-01 13:30:48 +00:00
parent 9a848e8c53
commit 949c9a0351
12 changed files with 298 additions and 1344 deletions
+78 -12
View File
@@ -32,22 +32,21 @@ const showLogos = ...
---
### 2. Hyperscript Parser Limit (REMOVED IN LATEST VERSION ✅)
### 2. Hyperscript Parser Limit (NO LONGER EXISTS ✅)
**✅ CONFIRMED: NO 3 def statement limit with latest hyperscript version**
**✅ CONFIRMED: NO def statement limit with hyperscript 0.9.14+**
**Test Results (2025-11-17):** Test 9 (`tests/mjs/9-hyperscript-def-limit.test.mjs`) confirmed:
- ✅ 1 def statement works
- ✅ 2 def statements work
- ✅ 3 def statements work
- ✅ 4 def statements work (beyond historical limit)
- ✅ 5 def statements work (well beyond limit)
- ✅ 5+ def statements work (no limit)
**Historical Context:**
- Hyperscript 0.9.12 had a hard 3 def limit
- Hyperscript 0.9.14+ removed this limitation
- Functions were moved to JavaScript as workaround
- **NOW MIGRATED BACK** to hyperscript with JavaScript wrappers (2025-11-17)
**Historical Context (for reference only):**
- Hyperscript 0.9.12 had a hard 3 def limit (fixed in 0.9.14)
- Current version has NO def statement limit
- Functions can be freely organized across multiple files
**Current Architecture (2025-11-17):**
- Core logic in hyperscript (`static/hyperscript/*.hs`)
@@ -581,9 +580,9 @@ document.addEventListener('keydown', (e) => {
---
**Last Updated:** 2025-11-17
**Project Status:** Production - Migrating to hyperscript architecture
**Test Coverage:** 10 systematic tests, 100% core features + def limit verification
**Last Updated:** 2025-12-01
**Project Status:** Production - Full feature set including CMD+K command palette and contact form
**Test Coverage:** 39 test files, 100% core features + CMD+K, contact form, PDF generation
**Critical Memory Files:** This file + `~/.claude/cv-icons-migration.md`
---
@@ -677,7 +676,74 @@ When adding new test files:
3. Update test count at bottom of TEST-SUMMARY.md
4. Add to New Tests section with date
**Current Test Count:** 12 active (0-11), 60+ archived
**Current Test Count:** 39 test files (comprehensive coverage)
**Master test runner:** `tests/run-all.mjs` (auto-discovers numbered tests)
---
### 6. Contact Form (2025-12-01)
**Secure contact form with comprehensive security middleware chain:**
**Security Features:**
- **BrowserOnly middleware** - Blocks curl/Postman/bots (requires HX-Request header)
- **Rate limiting** - 5 submissions per hour per IP
- **CSRF protection** - Token validation against session
**Files:**
- `internal/handlers/cv_contact.go` - Contact form handler
- `internal/middleware/browser_only.go` - Browser validation middleware
- `internal/middleware/contact_rate_limit.go` - Rate limiting
- `templates/partials/modals/contact-modal.html` - Contact form UI
**Documentation:**
- `doc/17-CONTACT-FORM.md` - Quick start guide
- `doc/18-SECURITY-AUDIT.md` - Security audit including contact form
- `doc/19-SECURITY-IMPLEMENTATION.md` - Security controls documentation
**Tests:** `tests/mjs/73-contact-form.test.mjs`
---
### 7. Plain Text CV (2025-12-01)
**CLI-friendly plain text output for curl, wget, lynx, w3m:**
**Features:**
- Auto-detected via User-Agent header
- 80-character line width
- Unicode/emoji support with proper centering
- Useful for AI assistants reading CV content
**Files:**
- `internal/handlers/cv_text.go` - Plain text handler
- `templates/cv-text.txt` - Plain text template
**Usage:**
```bash
curl http://localhost:1999/text
curl http://localhost:1999/text?lang=es
```
---
### 8. CMD+K Command Palette (2025-12-01)
**ninja-keys integration for quick navigation:**
**Features:**
- Dynamic entries from CV data (experiences, projects, courses)
- Scroll-to-section functionality
- Language-aware responses
- 1-hour cache headers
**Files:**
- `internal/handlers/cv_cmdk.go` - CMD+K API handler
- `static/js/ninja-keys-init.js` - Frontend initialization
- `doc/16-CMD-K-API.md` - API documentation
**Tests:**
- `tests/mjs/71-cmd-k-api-scroll.test.mjs`
- `tests/mjs/72-cmd-k-button.test.mjs`