Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2122 commits
Select commit Hold shift + click to select a range
6274c85
cli/added "wheels plugin init command"
zainforbjs Oct 22, 2025
4d4f36d
cli/bug removed
zainforbjs Oct 22, 2025
0e2aff5
commit: wheels vs code ext updates
zainforbjs Oct 23, 2025
2a0ac68
cli/wheels generate api-resource
zainforbjs Oct 23, 2025
dcf9b08
Update postgres container setup
zainforbjs Oct 24, 2025
6437823
Add sqlite drier for adobe 2021, 2023 and 2025
zainforbjs Oct 24, 2025
41b5c21
Update postgres container setup
zainforbjs Oct 27, 2025
c204b25
Merge pull request #1777 from wheels-dev/fix/vscode-ext-fixes
zainforbjs Oct 27, 2025
d765480
Merge branch 'develop' into pluing-commands
zainforbjs Oct 27, 2025
2702914
Removed sqlite jdbc installation through Dockerfile
zainforbjs Oct 27, 2025
800d21c
commit: update wheels sendEmail function required params to set true
zainforbjs Oct 27, 2025
ce4800f
update more claude skills
bpamiri Oct 27, 2025
25af6b9
Merge branch 'develop' into pluing-commands
zainforbjs Oct 28, 2025
093342d
cli/api-resource format=json working
zainforbjs Oct 28, 2025
389270a
mount /tools/docker folder to adobe docker image and run only sqlite …
zainforbjs Oct 28, 2025
1b4d759
cli/api-resource format=xml working
zainforbjs Oct 28, 2025
7f5052f
commit: converting template param to not-required param
zainforbjs Oct 29, 2025
fdfc4b4
Merge pull request #1775 from wheels-dev/pluing-commands
zainforbjs Oct 29, 2025
595454d
Merge pull request #1778 from wheels-dev/fix/update-function-params-a…
zainforbjs Oct 29, 2025
5fe3644
Update SUMMARY.md
zainforbjs Oct 29, 2025
acdf268
cli/multiple commands update
zainforbjs Oct 29, 2025
58a791e
Merge pull request #1779 from wheels-dev/pluing-commands
zainforbjs Oct 29, 2025
0ca6af1
cli/multiple commands update
zainforbjs Oct 29, 2025
3fa8324
commit: update docs for diff cli command
zainforbjs Oct 29, 2025
287f8e4
Update test case to handle sqlite datatype
zainforbjs Oct 30, 2025
6b33c95
commit: update docs for wheels framework
zainforbjs Oct 30, 2025
b5f179d
commit: update wheels docs minor mistakes
zainforbjs Oct 30, 2025
b942b70
commit: update wheels docs type errors
zainforbjs Oct 30, 2025
d87d12f
commit: update docs update
zainforbjs Oct 31, 2025
ed74b4e
cli/added new parameters and updated core logic of "generate controll…
zainforbjs Oct 31, 2025
53b5d63
commit: updated docs and removed unwanted emojis and broken links
zainforbjs Oct 31, 2025
4bc26ca
commit: currently removed watch occurrences as not implemented yet
zainforbjs Oct 31, 2025
720b6ba
fixed : fixed issue #1776 for harddelete for mssql issue
zainforbjs Oct 31, 2025
853dcea
cli/Added validations (empty value, valid value)
zainforbjs Oct 31, 2025
40390f0
Merge pull request #1782 from wheels-dev/issue/issue-1776
zainforbjs Nov 3, 2025
2a604a4
Merge branch 'develop' into bugs-fix
zainforbjs Nov 3, 2025
b04aa22
Merge pull request #1781 from wheels-dev/fix/wheels-fixes-with-testing
zainforbjs Nov 3, 2025
2ba46f8
Merge branch 'develop' into bugs-fix
zainforbjs Nov 3, 2025
9874094
Merge pull request #1780 from wheels-dev/bugs-fix
zainforbjs Nov 3, 2025
0331694
cli/updated reconstructArgs() to handle additional cases and improve …
zainforbjs Nov 3, 2025
3c3657e
cli/Removed Duplication and Applied Multilevel inheritance to reuse code
zainforbjs Nov 3, 2025
afbfd36
cli/Added Allowed Value Validation in Analyze and Assets Commands
zainforbjs Nov 3, 2025
2c5d038
cli/correct syntax
zainforbjs Nov 3, 2025
6820779
cli/UNLESS the default value itself is empty
zainforbjs Nov 3, 2025
29b8ed5
Merge pull request #1784 from wheels-dev/bugs-fix
zainforbjs Nov 4, 2025
3b3da68
Update code for sqlite compatible datatypes
zainforbjs Nov 4, 2025
028b621
update: update docs for .env variables to use in application
zainforbjs Nov 4, 2025
640ce93
Merge pull request #1785 from wheels-dev/issue/issue-1783
zainforbjs Nov 4, 2025
5463416
cli/Added validation and Reuse code
zainforbjs Nov 4, 2025
bd4ac20
cli/updated validation in generate commands
zainforbjs Nov 4, 2025
f022856
Update the dbinfospec to handle sqlite
zainforbjs Nov 5, 2025
fb40e23
Update lucee and boxlang
zainforbjs Nov 5, 2025
034e585
Merge pull request #1786 from wheels-dev/Add-Validation
zainforbjs Nov 5, 2025
482789e
update: update guides after optimising docs
zainforbjs Nov 5, 2025
05d8cc4
cli/Updated Validation Logics in Generate Commands
zainforbjs Nov 5, 2025
de7733a
commit: removed unwanted files and update docs
zainforbjs Nov 6, 2025
5651913
cli/Update app-wizard.cfc
zainforbjs Nov 6, 2025
bd602fe
Merge pull request #1788 from wheels-dev/Add-Validation
zainforbjs Nov 6, 2025
795fa53
Merge branch 'develop' into fix/wheels-fixes-with-testing
zainforbjs Nov 6, 2025
cad7beb
commit: update docs and added snippets from cli templates folder
zainforbjs Nov 6, 2025
5edab80
Update $dbinfo
zainforbjs Nov 6, 2025
df3b4cc
commit: update wheels guides
zainforbjs Nov 6, 2025
6eb73f0
cli/Added Validation
zainforbjs Nov 6, 2025
f431864
Merge pull request #1789 from wheels-dev/Add-Validation
zainforbjs Nov 7, 2025
b6c98cd
Merge pull request #1787 from wheels-dev/fix/wheels-fixes-with-testing
zainforbjs Nov 7, 2025
feef4a2
update wheels guides and optimized content
zainforbjs Nov 7, 2025
1641f2d
Merge pull request #1790 from wheels-dev/fix/wheels-fixes-with-testing
zainforbjs Nov 7, 2025
926c8dc
cli/remove bugs
zainforbjs Nov 7, 2025
bd12eeb
Add SQLite update query syntax
zainforbjs Nov 7, 2025
d75c552
Update default values for sqlite
zainforbjs Nov 7, 2025
41ed42d
Update for timestamp
zainforbjs Nov 7, 2025
0ed659b
Merge pull request #1792 from wheels-dev/bug-fixes
zainforbjs Nov 7, 2025
ce39069
Update sql.cfc to handle association queries
zainforbjs Nov 10, 2025
c58c591
Add having clause and removing column alias in order clause for sqlite
zainforbjs Nov 10, 2025
35b8076
update wheels guides with minor fixes
zainforbjs Nov 10, 2025
e08bb39
Skip tests that alter a table as that is not allowed in sqlite
zainforbjs Nov 10, 2025
105dac5
cli/"wheels dbmigrate create column" Renamed and Rearranged parameters
zainforbjs Nov 10, 2025
fdbfe80
cli/update column
zainforbjs Nov 10, 2025
447e6dd
Merge remote-tracking branch 'origin/fix/wheels-guides-fixes' into bu…
zainforbjs Nov 10, 2025
52b3d6c
cli/conflict resolved
zainforbjs Nov 10, 2025
885e0fa
Update $convertToString function to handle time in string format
zainforbjs Nov 10, 2025
3e0246c
Updated Model.cfc to handle TEXT datatype datetime columns for valida…
zainforbjs Nov 10, 2025
f9edd9a
Convert Max rows to limit clause
zainforbjs Nov 10, 2025
2866855
Update reFind to make it ACF compatible
zainforbjs Nov 11, 2025
8e5b60a
Make dbinfospec compatible with adobe
zainforbjs Nov 11, 2025
bd928a9
Skip test and run all jobs
zainforbjs Nov 11, 2025
e1344a3
run test
zainforbjs Nov 11, 2025
a92aec5
Create migration tables in a single query for SQLite
zainforbjs Nov 11, 2025
6713091
cli/"wheels g resource" command deleted
zainforbjs Nov 11, 2025
ca65073
Merge pull request #1794 from wheels-dev/bug-fixes
zainforbjs Nov 11, 2025
69d09d4
Skip foreign key check for sqlite since it doesn't support it like my…
zainforbjs Nov 11, 2025
6409930
SQLite with adobe CF returns multiple records for indexes instead of one
zainforbjs Nov 11, 2025
e604e8e
Stored set validation type to datetime for TEXT datatype only in SQLite
zainforbjs Nov 11, 2025
43a0e8e
update test case for boxlang with sqlite
zainforbjs Nov 12, 2025
50317b1
Fix for oracle datetime in boxlang
zainforbjs Nov 12, 2025
a5ca051
update migration file to fix migration issue
zainforbjs Nov 12, 2025
e1a6ba6
check for oracle.sql.TIMESTAMP inn both boxlang and coldfusion
zainforbjs Nov 12, 2025
a5bb332
sqlite documentation for developer
zainforbjs Nov 12, 2025
fbfb82a
update sqlite documentation for developer
zainforbjs Nov 12, 2025
df58419
Add to summary file
zainforbjs Nov 12, 2025
01ce69b
Update SQLite documentation
zainforbjs Nov 12, 2025
f236895
Skip adobe2018 sqlite job for now
zainforbjs Nov 12, 2025
e622948
Merge pull request #1766 from wheels-dev/Enhancement/sqlite-support
zainforbjs Nov 12, 2025
ed854ae
Merge pull request #1795 from wheels-dev/generate-commands
zainforbjs Nov 13, 2025
77e785c
update example test file name according to testbox 6
zainforbjs Nov 13, 2025
98de55b
Update changelog and guides for sqlite
zainforbjs Nov 13, 2025
c934418
update test cases url to work with testbox 6
zainforbjs Nov 13, 2025
80bed76
Merge pull request #1796 from wheels-dev/update-changelog-for-sqlite
zainforbjs Nov 13, 2025
20aa237
rename remaining test-case file
zainforbjs Nov 13, 2025
c41dbee
Merge pull request #1797 from wheels-dev/fix/minor-fixes-for-testcases
zainforbjs Nov 13, 2025
bb3ea37
update options in wheels installer for both macOS and windows
zainforbjs Nov 13, 2025
0de7a8f
Merge pull request #1798 from wheels-dev/feat/updated-options-in-whee…
zainforbjs Nov 13, 2025
0503c48
cli/sqlite db support added in "env setup" command
zainforbjs Nov 13, 2025
b63e1dd
Update docs for sqlite
zainforbjs Nov 14, 2025
5e5b598
Merge pull request #1800 from wheels-dev/docs-update
zainforbjs Nov 14, 2025
dd7dcc8
Merge branch 'develop' into sqlite-support-in-cli
zainforbjs Nov 14, 2025
9003dc2
cli/SQLite support enabled in "wheels env" and "wheels db" commands.
zainforbjs Nov 14, 2025
1c34287
Bump js-yaml from 4.1.0 to 4.1.1 in /tools/docker/testui
dependabot[bot] Nov 15, 2025
4dfcc45
Merge pull request #1801 from wheels-dev/dependabot/npm_and_yarn/tool…
zainforbjs Nov 17, 2025
751f878
update window installer exe file
zainforbjs Nov 17, 2025
6c7605a
Merge pull request #1802 from wheels-dev/feat/updated-options-in-whee…
zainforbjs Nov 17, 2025
75ab748
Merge branch 'develop' into sqlite-support-in-cli
zainforbjs Nov 17, 2025
cf58c10
cli/hard-corded bundle version removed
zainforbjs Nov 17, 2025
cebfce1
Merge pull request #1799 from wheels-dev/sqlite-support-in-cli
zainforbjs Nov 17, 2025
a336a78
cli/SQLite DB Support Enabled in Docker init command
zainforbjs Nov 17, 2025
13d3af5
cli/guides updates
zainforbjs Nov 17, 2025
29ab74f
cli/guides update "docker init"
zainforbjs Nov 17, 2025
d062e94
update in runner to fix app tests for boxlang
zainforbjs Nov 18, 2025
db438ae
cli/removed bugs and added proper error statements
zainforbjs Nov 18, 2025
c812d99
Update EnvironmentService.cfc
zainforbjs Nov 19, 2025
e04a7ba
Merge pull request #1803 from wheels-dev/sqlite-support-in-cli
zainforbjs Nov 19, 2025
d34c74c
cli/implement `wheels generate helper` command with full validation, …
zainforbjs Nov 19, 2025
c88315d
cli/add full migration generator command with template system and com…
zainforbjs Nov 19, 2025
fc04556
load abort template on onRequestEnd
zainforbjs Nov 19, 2025
df6d350
Make abort life cycle method work without mappings
zainforbjs Nov 20, 2025
18e305c
Update wheels base template
zainforbjs Nov 20, 2025
920d86a
Merge pull request #1805 from wheels-dev/fix/adobe-reload-issue
zainforbjs Nov 20, 2025
80ecd99
Merge branch 'develop' into generate-helper-command
zainforbjs Nov 20, 2025
eff661c
cli/Environment setup, DB type handling, view path issue, migration e…
zainforbjs Nov 20, 2025
72f5e22
Update db-create.md
zainforbjs Nov 20, 2025
7a4f9f4
Merge pull request #1804 from wheels-dev/generate-helper-command
zainforbjs Nov 21, 2025
33cf69b
Update $executeQuery function for better optimization
zainforbjs Nov 25, 2025
67f8711
Add id validation
zainforbjs Nov 25, 2025
3827344
update dbinfospec for latest h2 version
zainforbjs Nov 25, 2025
a5ecece
modify the Test link in the debug window to run the app tests
bpamiri Nov 25, 2025
63004b0
Fix for H2 2.1.214
zainforbjs Nov 26, 2025
aa02c4e
add preserveSingleQuotes function for adobe fix
zainforbjs Nov 26, 2025
318906d
Merge pull request #1807 from wheels-dev/Wheels-Optimization
zainforbjs Nov 26, 2025
2ff12fb
Update init.cfc
zainforbjs Nov 26, 2025
4ddd2a5
cli/output formatting
zainforbjs Nov 27, 2025
7ad68ad
cli/output formatting in config commands
zainforbjs Nov 28, 2025
28f64a0
cli/output formatting for commands "config dump and config diff"
zainforbjs Dec 1, 2025
6b2ec51
Merge pull request #1809 from wheels-dev/cli/plugins-init
zainforbjs Dec 1, 2025
93d21e8
Fir for sqlite migrations
zainforbjs Dec 2, 2025
9ce1dd6
Overwriting wheels methods
zainforbjs Dec 2, 2025
0895f07
Fix for quoted column names
zainforbjs Dec 3, 2025
86ca6ad
Fix update record function for datetime in sqlite
zainforbjs Dec 3, 2025
55803e3
Merge pull request #1810 from wheels-dev/fix/sqlite-migrations
zainforbjs Dec 3, 2025
b5534d5
Merge branch 'develop' into output-format
zainforbjs Dec 5, 2025
bfdbf88
cli/output update in assets commands
zainforbjs Dec 5, 2025
47ea5a9
cli/db commands output format update
zainforbjs Dec 8, 2025
b08ed93
Update sqlite documentation with migration restrictions
zainforbjs Dec 8, 2025
d6f3433
cli/output formatting of dbmigrate commands
zainforbjs Dec 8, 2025
cd9a814
Fix for boxlang 1.8 breaking changes
zainforbjs Dec 9, 2025
61a1300
Merge pull request #1812 from wheels-dev/update-sqlite-documentation
zainforbjs Dec 9, 2025
76018e0
Merge branch 'develop' into output-format
zainforbjs Dec 9, 2025
43c66c0
Merge pull request #1808 from wheels-dev/output-format
zainforbjs Dec 9, 2025
3c7507b
Merge pull request #1811 from wheels-dev/fix/overwriting-wheels-methods
zainforbjs Dec 9, 2025
8244db3
cli/output format of dbmigrate commands (latest,reset,up)
zainforbjs Dec 9, 2025
307dede
Invoke method to call wheels onmissingmethod functionality
zainforbjs Dec 9, 2025
822187d
Merge pull request #1814 from wheels-dev/fix/association-error
zainforbjs Dec 9, 2025
2656f9c
cli/output update of "docker init" command
zainforbjs Dec 9, 2025
488069e
Merge branch 'develop' into output-format
zainforbjs Dec 9, 2025
02c3b9d
cli/output format update of DOCS commands
zainforbjs Dec 9, 2025
3f30838
fix indentation
zainforbjs Dec 10, 2025
9c9709f
Merge pull request #1813 from wheels-dev/output-format
zainforbjs Dec 10, 2025
bb70455
cli/output format of env commands update
zainforbjs Dec 10, 2025
27d7e4f
cli/guides update
zainforbjs Dec 10, 2025
dc28481
cli/output format update in generate commands
zainforbjs Dec 11, 2025
f0fa25e
Add step to patch adobe cf for oracle in tests.yml
zainforbjs Dec 11, 2025
ec8cc36
cli/Docker Commands initial Commit
zainforbjs Dec 11, 2025
6977f99
cli/output format update of plugin and get commands (partially)
zainforbjs Dec 11, 2025
3d6c1d9
Revert "Add step to patch adobe cf for oracle in tests.yml"
zainforbjs Dec 12, 2025
9359065
Add step to patch adobe cf for oracle in tests.yml
zainforbjs Dec 12, 2025
d7054ae
Add step to patch adobe cf for oracle in tests.yml
zainforbjs Dec 12, 2025
dfa6d57
cli/output format update in commands test, plugins and deps
zainforbjs Dec 12, 2025
34b7d21
cli/output format update of destroy and reload commands
zainforbjs Dec 15, 2025
b13f18f
Update tests.yml
zainforbjs Dec 15, 2025
8c8d31f
Update tests.yml
zainforbjs Dec 15, 2025
2c0e2ed
Update tests.yml
zainforbjs Dec 15, 2025
9487196
Update tests.yml
zainforbjs Dec 15, 2025
89d3072
Update tests.yml
zainforbjs Dec 15, 2025
bab2430
Remove unnecessary steps
zainforbjs Dec 16, 2025
c1f622c
Update broken link
zainforbjs Dec 16, 2025
2762e6b
Merge pull request #1816 from wheels-dev/update-links
zainforbjs Dec 16, 2025
49e278a
Fix nested struct mapping with multiple belongsTo associations
zainforbjs Dec 17, 2025
586a2f8
Update Dockerfile
zainforbjs Dec 17, 2025
9a6d537
Merge pull request #1815 from wheels-dev/output-format
zainforbjs Dec 18, 2025
f00063f
Fix typo
zainforbjs Dec 18, 2025
049a655
Update docs-sync.yml
zainforbjs Dec 18, 2025
2cb6ca8
Merge pull request #1818 from wheels-dev/doc-sync-fix
zainforbjs Dec 18, 2025
87c6bbb
Merge pull request #1817 from wheels-dev/fix/nested-associations
zainforbjs Dec 18, 2025
a524c79
Update snapshot.yml
zainforbjs Dec 18, 2025
61c461f
Merge pull request #1819 from wheels-dev/docs-sync-fix
zainforbjs Dec 18, 2025
403c5a3
cli/add multi-database export/backup command
zainforbjs Dec 18, 2025
f03d2b2
Update docs-sync.yml
zainforbjs Dec 18, 2025
5f90aea
Merge pull request #1820 from wheels-dev/fix-docs-sync
zainforbjs Dec 18, 2025
43337b7
Merge branch 'develop' into wheels_db_dump
zainforbjs Dec 19, 2025
6ff9339
Merge pull request #1821 from wheels-dev/wheels_db_dump
zainforbjs Dec 19, 2025
e427273
fix route
zainforbjs Dec 23, 2025
008d9d9
Merge pull request #1822 from wheels-dev/fix/route
zainforbjs Dec 23, 2025
dd9f666
cli/bugs fixes in multiple commands (db dump, env switch)
zainforbjs Dec 23, 2025
12b5cf2
cli/wheels docker logs files not found for error fixed
zainforbjs Dec 23, 2025
a8b8acc
cli/docker commands guides update
zainforbjs Dec 24, 2025
b7a1998
Merge pull request #1823 from wheels-dev/docker-commands
zainforbjs Dec 29, 2025
aadf546
Database structure Refactor
zainforbjs Dec 30, 2025
ca43671
Update file name
zainforbjs Dec 30, 2025
c11669b
Update new database model names
zainforbjs Dec 30, 2025
10aaec5
Update new database model names
zainforbjs Dec 30, 2025
bd7321e
Update parent file path
zainforbjs Dec 30, 2025
bce3c81
Update Folder and file name for sql server
zainforbjs Dec 30, 2025
1aaeb0e
fix syntax error
zainforbjs Dec 30, 2025
b9000b3
cli/Add Oracle dump support with Data Pump fallback handling
zainforbjs Dec 30, 2025
f59b48b
cli/live output of data pump command update
zainforbjs Dec 31, 2025
137051f
Update new database model names
zainforbjs Jan 1, 2026
38ca50a
cli/Fix dump file extension handling for Oracle and MSSQL
zainforbjs Jan 1, 2026
e7a18a2
Fix for Sqlite
zainforbjs Jan 1, 2026
76ae263
Fix for sqlite
zainforbjs Jan 1, 2026
5e59c38
update folder name for sqlite
zainforbjs Jan 1, 2026
857f2cc
Delete core/src/wheels/database/Sqlite directory
zainforbjs Jan 1, 2026
8e6a9d9
Fix Sqlite
zainforbjs Jan 1, 2026
4925519
Merge pull request #1825 from wheels-dev/oracle-db-dump
zainforbjs Jan 5, 2026
c43856f
cli/Add robust SQLite database dump support using native sqlite3 with…
zainforbjs Jan 5, 2026
d699092
cli/docker commands update
zainforbjs Jan 5, 2026
cea010d
cli/duplicate function remove
zainforbjs Jan 5, 2026
c9848a4
Update Convention
zainforbjs Jan 6, 2026
a3dbcd7
Merge pull request #1824 from wheels-dev/database-structure-refactor
zainforbjs Jan 6, 2026
c2c5d0a
Merge pull request #1827 from wheels-dev/docker-commands-update
zainforbjs Jan 7, 2026
c01a248
Merge pull request #1826 from wheels-dev/sqlite-db-dump
zainforbjs Jan 7, 2026
c3d5a0b
Update sqlite doc
zainforbjs Jan 7, 2026
81435e3
Add overriding section in wheels docs
zainforbjs Jan 7, 2026
dc85413
Merge pull request #1828 from wheels-dev/update-docs
zainforbjs Jan 7, 2026
66b1bad
cli/bug fixes
zainforbjs Jan 8, 2026
3cb3219
Inline debug CSS instead of injecting into HTML head
zainforbjs Jan 8, 2026
927b189
Merge pull request #1829 from wheels-dev/fix/cfhtmlhead-issue
zainforbjs Jan 8, 2026
4bd723e
cli/output file and jdbc connection bug fix for mysql database
zainforbjs Jan 9, 2026
273c628
Merge branch 'develop' into bug-fixes
zainforbjs Jan 9, 2026
8347dcc
Merge pull request #1830 from wheels-dev/bug-fixes
zainforbjs Jan 9, 2026
526d259
Prepare version 3.0.0 stable release
bpamiri Jan 10, 2026
abaaebc
Merge origin/main into develop
bpamiri Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
179 changes: 179 additions & 0 deletions .ai/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# Wheels Documentation Index

🚨 **COMPREHENSIVE DOCUMENTATION INDEX** 🚨

This file provides the complete index of Wheels documentation for AI assistants. All technical content has been organized into the structured `.ai` folder for maximum efficiency and accuracy.

⛔ **CRITICAL: ALWAYS READ RELEVANT DOCUMENTATION BEFORE WRITING CODE** ⛔

## 🚨 MANDATORY Pre-Implementation Workflow

### 🛑 STEP 1: Critical Error Prevention (ALWAYS FIRST)
1. **`.ai/wheels/troubleshooting/common-errors.md`** - PREVENT FATAL ERRORS
2. **`.ai/wheels/patterns/validation-templates.md`** - VALIDATION CHECKLISTS

### 📋 STEP 2: Task-Specific Documentation Loading

#### 🏗️ For Model Development
**MANDATORY Reading Order:**
1. `.ai/wheels/models/data-handling.md` - Critical query vs array patterns
2. `.ai/wheels/models/architecture.md` - Model fundamentals and structure
3. `.ai/wheels/models/associations.md` - Relationship patterns (CRITICAL)
4. `.ai/wheels/models/validations.md` - Validation methods and patterns
5. `.ai/wheels/models/best-practices.md` - Model development guidelines

#### 🎮 For Controller Development
**MANDATORY Reading Order:**
1. `.ai/wheels/controllers/architecture.md` - Controller fundamentals and CRUD
2. `.ai/wheels/controllers/rendering.md` - View rendering and responses
3. `.ai/wheels/controllers/filters.md` - Authentication and authorization
4. `.ai/wheels/controllers/model-interactions.md` - Controller-model patterns
5. `.ai/wheels/controllers/best-practices.md` - Controller development guidelines

#### 📄 For View Development
**MANDATORY Reading Order:**
1. `.ai/wheels/views/data-handling.md` - CRITICAL query vs array patterns
2. `.ai/wheels/views/architecture.md` - View structure and conventions
3. `.ai/wheels/views/forms.md` - Form helpers and limitations (CRITICAL)
4. `.ai/wheels/views/layouts.md` - Layout patterns and inheritance
5. `.ai/wheels/views/best-practices.md` - View implementation checklist

#### ⚙️ For Configuration Work
**MANDATORY Reading Order:**
1. `.ai/wheels/configuration/routing.md` - CRITICAL routing anti-patterns
2. `.ai/wheels/configuration/environments.md` - Environment settings
3. `.ai/wheels/configuration/framework-settings.md` - Global settings
4. `.ai/wheels/configuration/best-practices.md` - Configuration guidelines

### 🔍 STEP 3: Anti-Pattern Validation (BEFORE WRITING CODE)
- [ ] ❌ **NO** mixed argument styles in Wheels functions
- [ ] ❌ **NO** ArrayLen() usage on model associations (use .recordCount)
- [ ] ❌ **NO** Rails-style nested resource routing
- [ ] ❌ **NO** emailField() or passwordField() helpers (don't exist)
- [ ] ✅ **YES** consistent arguments: ALL named OR ALL positional
- [ ] ✅ **YES** use .recordCount: `user.posts().recordCount`
- [ ] ✅ **YES** separate resource declarations
- [ ] ✅ **YES** textField() with type attribute

## 📚 Complete Documentation Structure

### Core Framework Components

#### Models Documentation (`.ai/wheels/models/`)
- `architecture.md` - Model structure and fundamentals
- `data-handling.md` - Critical query vs array patterns
- `associations.md` - Relationship patterns (CRITICAL)
- `validations.md` - Validation rules and methods
- `callbacks.md` - Lifecycle hooks and events
- `methods-reference.md` - Complete method documentation
- `advanced-patterns.md` - Complex model examples
- `user-authentication.md` - Authentication model patterns
- `testing.md` - Model testing strategies
- `performance.md` - Query optimization
- `best-practices.md` - Development guidelines
- `advanced-features.md` - Timestamps and dirty tracking

#### Controllers Documentation (`.ai/wheels/controllers/`)
- `architecture.md` - Controller structure and CRUD patterns
- `rendering.md` - View rendering, redirects, flash messages
- `filters.md` - Authentication, authorization, data loading
- `model-interactions.md` - Controller-model patterns, validation
- `api.md` - JSON/XML APIs, authentication, versioning
- `security.md` - CSRF, parameter verification, sanitization
- `testing.md` - Controller testing patterns and helpers

#### Views Documentation (`.ai/wheels/views/`)
- `data-handling.md` - Critical query vs array patterns
- `architecture.md` - View structure and file organization
- `layouts.md` - Layout patterns and inheritance
- `partials.md` - Partial usage and patterns
- `forms.md` - Form helpers and Wheels limitations
- `helpers.md` - View helpers and custom helpers
- `advanced-patterns.md` - AJAX, performance, caching
- `testing.md` - View testing patterns
- `best-practices.md` - Implementation checklist and patterns

#### Configuration Documentation (`.ai/wheels/configuration/`)
- `routing.md` - CRITICAL routing anti-patterns and patterns
- `environments.md` - Environment settings and switching
- `application.md` - Application.cfc settings (app.cfm)
- `framework-settings.md` - Global framework settings (settings.cfm)
- `overview.md` - File structure, loading order, general overview
- `best-practices.md` - Configuration best practices and patterns
- `troubleshooting.md` - Common issues and debugging
- `security.md` - Security considerations and hardening

## 🚨 Critical Anti-Pattern Prevention

### Most Common Wheels Errors
1. **Mixed Arguments**: `hasMany("comments", dependent="delete")` ❌
2. **Query vs Array Confusion**: `ArrayLen(posts)` on query objects ❌
3. **Rails-style Routing**: Nested resource functions ❌
4. **Non-existent Helpers**: `emailField()`, `passwordField()` ❌

### Correct Patterns
1. **Consistent Arguments**: `hasMany(name="comments", dependent="delete")` ✅
2. **Query Methods**: `posts.recordCount` ✅
3. **Separate Resources**: `.resources("posts").resources("comments")` ✅
4. **Wheels Helpers**: `textField(type="email")` ✅

## 🛠️ AI Assistant Implementation Guidelines

### 🛑 MANDATORY Pre-Code Actions (NO EXCEPTIONS)
1. **ALWAYS** read `.ai/wheels/troubleshooting/common-errors.md` FIRST
2. **ALWAYS** read component-specific .ai documentation
3. **VALIDATE** against anti-patterns before writing any code
4. **REFERENCE** code examples from .ai documentation as templates
5. **CHECK** implementation against validation templates continuously

### Quality Assurance Process
1. **Documentation First**: Always consult .ai documentation before coding
2. **Pattern Consistency**: Follow established patterns from .ai documentation
3. **Security Awareness**: Apply security practices from .ai documentation
4. **Convention Adherence**: Follow Wheels naming and structure conventions
5. **Validation**: Test implementations against documented standards

## 🚀 Quick Reference Dispatchers

### Component Quick Access
- **Models**: `app/models/CLAUDE.md` → `.ai/wheels/models/`
- **Controllers**: `app/controllers/CLAUDE.md` → `.ai/wheels/controllers/`
- **Views**: `app/views/CLAUDE.md` → `.ai/wheels/views/`
- **Configuration**: Root `CLAUDE.md` → `.ai/wheels/configuration/`

### Critical Reading Priority
1. **Error Prevention**: `.ai/wheels/troubleshooting/common-errors.md`
2. **Data Handling**: Component-specific `data-handling.md` files
3. **Best Practices**: Component-specific `best-practices.md` files
4. **Architecture**: Component-specific `architecture.md` files

## ✅ Post-Implementation Validation

### MANDATORY Validation Commands
```bash
# 1. Syntax validation
wheels server start --validate

# 2. Test validation
wheels test run

# 3. Manual anti-pattern check
# Check implementation against .ai documentation patterns
```

### If Validation Fails
1. Consult `.ai/wheels/troubleshooting/common-errors.md`
2. Review appropriate component documentation in `.ai/wheels/`
3. Fix errors following documented patterns
4. Re-run validation until all checks pass

## 🎯 Success Criteria

**Your implementation is successful when:**
- [ ] All relevant .ai documentation has been read
- [ ] No anti-patterns are present in the code
- [ ] Patterns match those documented in .ai folder
- [ ] Validation commands pass successfully
- [ ] Code follows Wheels conventions and best practices

🚨 **REMEMBER: The .ai folder contains the definitive, comprehensive documentation. ALWAYS use it as your primary reference!**
162 changes: 162 additions & 0 deletions .ai/CONTRIBUTION_SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# .ai Folder Contribution Summary

## Overview

This `.ai` folder contains comprehensive Wheels framework documentation extracted from real-world development sessions. The patterns, best practices, and solutions documented here are production-tested and ready for contribution to the Wheels project.

## Generic Patterns Integrated (Ready for Wheels Project)

### 🔴 Critical Patterns (High Impact for All Developers)

#### 1. **Layout cfoutput Block Coverage** → [views/layouts.md](wheels/views/layouts.md)
- **Issue**: Most common beginner error - CFML expressions not rendering
- **Solution**: Single `<cfoutput>` block wrapping entire HTML layout
- **Impact**: Affects 90%+ of new Wheels developers
- **Location**: Enhanced in `common-errors.md` and `views/layouts.md`

#### 2. **Form Helper Duplicate Labels** → [views/forms.md](wheels/views/forms.md)
- **Issue**: Form helpers automatically generate labels, causing duplicates
- **Solution**: Use `label=false` parameter when using custom HTML labels
- **Impact**: Very common UX issue that confuses developers
- **Location**: Documented in `views/forms.md` and `common-errors.md`

#### 3. **Query vs Object Association Access** → [views/query-association-patterns.md](wheels/views/query-association-patterns.md) & [models/associations.md](wheels/models/associations.md)
- **Issue**: Confusion between query objects and model instances in loops
- **Solution**: Store association results in variables before looping
- **Impact**: Fundamental misunderstanding causing frequent errors
- **Location**: Comprehensive guide in `query-association-patterns.md`

#### 4. **Consistent Argument Style Requirement** → [common-errors.md](wheels/troubleshooting/common-errors.md)
- **Issue**: Mixed positional/named arguments cause cryptic errors
- **Solution**: Always use all-named or all-positional arguments
- **Impact**: Frequent error that's not obvious to fix
- **Location**: Examples throughout all documentation files

### 🗄️ Database & Migration Patterns

#### 5. **Database-Agnostic Date Handling** → [database/migrations/date-function-issues.md](wheels/database/migrations/date-function-issues.md)
- **Pattern**: Use CFML DateAdd/DateFormat instead of database-specific SQL
- **Benefit**: Works across H2, MySQL, PostgreSQL, SQL Server
- **Impact**: Portable migrations for all environments
- **Location**: Comprehensive guide with examples

#### 6. **Migration Direct SQL Best Practice** → [database/migrations/best-practices.md](wheels/database/migrations/best-practices.md)
- **Pattern**: Direct SQL more reliable than parameter binding for data seeding
- **Benefit**: Consistent migration execution across environments
- **Impact**: Reduces migration failures
- **Location**: New comprehensive best practices guide

#### 7. **Working with Existing Schemas** → [database/migrations/best-practices.md](wheels/database/migrations/best-practices.md)
- **Pattern**: Check for existing tables before creating migrations
- **Solution**: Use `changeTable()` for additions to existing schema
- **Impact**: Prevents "table already exists" errors
- **Location**: New section in best-practices.md

### 🧪 Testing Strategies

#### 8. **Content Verification Over Status Codes** → [views/testing.md](wheels/views/testing.md)
- **Issue**: HTTP 200 doesn't mean content rendered correctly
- **Solution**: Verify actual content with grep/pattern matching
- **Impact**: Catches rendering errors that status codes miss
- **Location**: New critical section in testing.md

#### 9. **Incremental Testing Approach** → [views/testing.md](wheels/views/testing.md)
- **Pattern**: Test after each component (model → controller → view)
- **Benefit**: Isolates issues quickly, prevents compound errors
- **Impact**: Faster debugging and validation
- **Location**: Command-line testing strategy in testing.md

### 🎨 Modern Frontend Integration

#### 10. **CDN-Based Frontend Stack** → [integration/modern-frontend-stack.md](wheels/integration/modern-frontend-stack.md)
- **Pattern**: Tailwind CSS + Alpine.js + HTMX via CDN
- **Benefit**: No build process, works seamlessly with CFML
- **Impact**: Modern UI without complexity
- **Location**: Complete integration guide with production examples

### 🛣️ Routing & Configuration

#### 11. **Route Configuration Order** → [configuration/routing.md](wheels/configuration/routing.md)
- **Pattern**: Resources → Custom → Root → Wildcard
- **Impact**: Prevents route matching conflicts
- **Location**: Routing guide with examples

## Files Modified/Created

### Enhanced Existing Files:
- ✅ `wheels/troubleshooting/common-errors.md` - Added layout cfoutput errors
- ✅ `wheels/views/layouts.md` - Enhanced with cfoutput block rules
- ✅ `wheels/views/forms.md` - Already had duplicate label warnings
- ✅ `wheels/views/query-association-patterns.md` - Already comprehensive
- ✅ `wheels/models/associations.md` - Already had query return documentation
- ✅ `wheels/database/migrations/date-function-issues.md` - Added database-agnostic section
- ✅ `wheels/views/testing.md` - Added content verification section
- ✅ `wheels/configuration/routing.md` - Already had ordering guidance
- ✅ `wheels/integration/modern-frontend-stack.md` - Added key findings summary

### New Files Created:
- ✨ `wheels/database/migrations/best-practices.md` - Comprehensive migration guide including existing schema handling

### Session Files Removed:
- ❌ `wheels/troubleshooting/session-learnings-2024-09-17.md` - Patterns integrated
- ❌ `wheels/troubleshooting/session-learnings-2025-10-01.md` - Patterns integrated

## Value Proposition for Wheels Project

### Documentation Improvements:
1. **Common Mistakes Guide** - Layout cfoutput, duplicate labels, query vs object
2. **Migration Best Practices** - Data seeding, database-agnostic SQL, existing schemas
3. **Modern Frontend Integration** - Tailwind/Alpine.js/HTMX patterns
4. **Testing Strategies** - Content verification over status codes

### Framework Enhancement Opportunities:
1. ⚠️ **Warning System** - Detect mixed positional/named arguments at runtime
2. ⚠️ **Generator Improvements** - Better handling of existing database schemas
3. ⚠️ **Form Helper Defaults** - Clearer documentation of label generation behavior

### Example Code/Scaffolding:
1. 📦 **Modern Blog Starter Template** - Demonstrating all patterns
2. 📦 **Layout Templates** - Proper cfoutput block structure
3. 📦 **Migration Examples** - Database-agnostic patterns

## Usage

This documentation is **project-agnostic** and represents patterns discovered through multiple Wheels implementations. Each pattern:

- ✅ Has been tested in real applications
- ✅ Solves documented pain points
- ✅ Includes clear examples and anti-patterns
- ✅ Benefits the entire Wheels community

## Contribution Path

### For Wheels Core Team:

**Immediate Documentation Additions:**
1. Add to official Wheels documentation site
2. Create "Common Mistakes" guide
3. Enhance migration documentation with best practices
4. Add modern frontend integration examples

**Framework Enhancements (Optional):**
1. Add warning for mixed argument styles
2. Improve generator schema detection
3. Enhance form helper documentation

### For Wheels Community:

**Share as Community Resources:**
1. Wheels GitHub Discussions
2. Wheels Slack/Discord channels
3. Blog posts and tutorials
4. Conference presentations

## License & Attribution

These patterns are contributed to the Wheels project under the same license as Wheels (Apache 2.0). They represent collective knowledge from production implementations and are freely available for the community.

---

**Generated**: 2025-10-02
**Source**: Multiple production Wheels applications
**Status**: Ready for contribution to Wheels project
Loading
Loading