Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
338 commits
Select commit Hold shift + click to select a range
81a0c74
Clickable begin reading card (#2344)
osamasayed Mar 12, 2025
ee29187
Lesson plans container (#2345)
osamasayed Mar 12, 2025
a945de7
Update Answers UI (#2346)
osamasayed Mar 12, 2025
5da1ff3
Fix html tags in translations issue (#2348)
osamasayed Mar 12, 2025
f08b581
Fix: HTML tags rendering as text in UI #2332 (#2334)
Muhsin-42 Mar 12, 2025
0552294
QF-1974 - P2 (#2349)
AhmedCodeGuy Mar 12, 2025
34b7607
add generate copy link and copy to clipboard safari support (#2351)
AhmedCodeGuy Mar 14, 2025
eeec8af
Move donner box below end of scrolling controls (#2352)
osamasayed Mar 16, 2025
0e65989
Update Q&A urls (#2347)
osamasayed Mar 16, 2025
1592c10
Update answer metadata (#2353)
osamasayed Mar 16, 2025
38265c1
Homepage learning plans horizontal scoll (#2354)
osamasayed Mar 16, 2025
8159afc
Make QF link clickable (#2357)
osamasayed Mar 16, 2025
7297a73
generate your video button (#2356)
AhmedCodeGuy Mar 18, 2025
f8515a3
remove the copy menu item and add a copy button on the top level menu…
AhmedCodeGuy Mar 18, 2025
22d1ffd
video generator QF-2121 QF-2123 (#2359)
AhmedCodeGuy Mar 19, 2025
0909138
update community section (#2360)
AhmedCodeGuy Mar 19, 2025
5fc5a6e
fix generate button - chrome on ios (#2364)
AhmedCodeGuy Mar 19, 2025
be5423c
Reenable donation popup (#2365)
osamasayed Mar 19, 2025
94940c6
Update Calendar Page (#2361)
osamasayed Mar 19, 2025
85e46b9
change the copy button place in reading mode (#2366)
AhmedCodeGuy Mar 20, 2025
03c64c8
2088 calendar updates (#2367)
osamasayed Mar 20, 2025
f46a859
Update fundraising text (#2368)
osamasayed Mar 20, 2025
7e1d1ce
updated page title and meta desc, previously they were generic (#2363)
isadreddin Mar 20, 2025
0a405d3
QF 2121 change copy button place (#2370)
AhmedCodeGuy Mar 20, 2025
98414b1
QF 2121 change copy button place (#2371)
AhmedCodeGuy Mar 20, 2025
ba2b13c
QF 2121 change copy button place (#2372)
AhmedCodeGuy Mar 20, 2025
61c2334
QF 2121 change copy button place (#2373)
AhmedCodeGuy Mar 20, 2025
c6122bc
QF 2121 change copy button place (#2374)
AhmedCodeGuy Mar 20, 2025
32e275c
show toast message on verse copy (#2375)
AhmedCodeGuy Mar 20, 2025
082dc1d
Merge branch 'master' into testing
osamasayed Mar 21, 2025
15f7358
QF-2121 remove extra button (#2378)
AhmedCodeGuy Mar 25, 2025
20be41a
Release/0.0.11 (#2380)
osamasayed Mar 25, 2025
5dc575a
Merge branch 'master' into testing
osamasayed Mar 25, 2025
6e857e2
Release/0.0.12 (#2382)
osamasayed Mar 29, 2025
78c8506
Merge branch 'master' into testing
osamasayed Mar 29, 2025
9e6e9c9
updated logic which generated the copy text to include too many newli…
isadreddin Apr 13, 2025
d659cbf
Add userId to logger (#2388)
osamasayed Apr 14, 2025
b9e9378
Make ayah references in footnotes urls (#2385)
isadreddin Apr 14, 2025
72a217f
Fix week number (#2387)
osamasayed Apr 17, 2025
60880f1
Create Cursor rules (#2393)
osamasayed May 1, 2025
42c6dcd
Improve Arabic SEO (#2395)
osamasayed May 9, 2025
00d9352
remove vercel mentions (#2398)
mustafa0x May 9, 2025
544f0f7
server.js: use http (#2397)
mustafa0x May 9, 2025
55e171c
pkg.json: move deps used in prod from devDeps to deps (#2400)
mustafa0x May 9, 2025
8e7c3fa
pkg.json: move husky from devDeps to deps (#2401)
mustafa0x May 9, 2025
e790cbc
Merge branch 'master' into testing
osamasayed May 11, 2025
bfc99c3
_app: add BUILD_INFO (#2402)
mustafa0x May 13, 2025
94c8642
dockerignore: add .git (#2404)
mustafa0x May 13, 2025
7df23b7
Remove purge cache GH action
osamasayed May 18, 2025
7f8b81b
Merge branch 'master' into testing
osamasayed May 18, 2025
ac1a366
Merge branch 'master' into testing
osamasayed May 18, 2025
f83d44c
Merge branch 'master' into testing
osamasayed May 19, 2025
77f7d51
Merge branch 'master' into testing
osamasayed May 19, 2025
057cbf4
Add Sentry (#2411)
osamasayed May 19, 2025
48e6d12
enable replaysOnErrorSampleRate
osamasayed May 19, 2025
142b675
Merge branch 'master' into testing
osamasayed May 19, 2025
c13efed
Fix Cannot convert undefined or null to object
osamasayed May 19, 2025
5ed2827
Fix usePageQuestions must be used within a VersesProvider
osamasayed May 19, 2025
e42b866
Merge branch 'master' into testing
osamasayed May 20, 2025
c65d3b7
Merge branch 'master' into testing
osamasayed May 21, 2025
ef86997
Update meta description of answers page (#2403)
osamasayed May 21, 2025
67de035
Merge branch 'master' into testing
osamasayed May 21, 2025
8489573
Merge branch 'master' into testing
osamasayed May 21, 2025
f1dce7b
Qf 2305 mismatch of last read (#2410)
osamasayed May 23, 2025
b76d202
Fix preferences APIs error handling (#2413)
osamasayed May 24, 2025
e222311
Protects next.js proxy from unauthorized usage (#2273)
mohsinayoob May 25, 2025
9131c3a
chore: add project-wide development guidelines and rules for IDEs (#2…
AhmedCodeGuy May 26, 2025
52fa341
QF-2598-Dhul-Hijja-homepage-updates (#2418)
AhmedCodeGuy May 29, 2025
22d4063
Qf 2598 dhul hijja homepage updates (#2421)
AhmedCodeGuy May 31, 2025
7973cda
Merge branch 'master' into testing
osamasayed May 31, 2025
530d9c0
show donation popup Dhul Hijja 1446 (#2422)
AhmedCodeGuy Jun 3, 2025
f4b1180
Merge branch 'master' into testing
osamasayed Jun 3, 2025
bbf5800
fix scss import order
osamasayed Jun 3, 2025
a9a4510
Close donation popup on outside or buttons click
osamasayed Jun 3, 2025
cecf95a
refactor: simplify donate popup UI and update hadith reference (#2427)
AhmedCodeGuy Jun 3, 2025
f8106b0
update donate popup
osamasayed Jun 4, 2025
0870b6a
__BUILD_INFO__: add version (#2426)
mustafa0x Jun 4, 2025
0d5469a
Add Sentry replayIntegration
osamasayed Jun 5, 2025
f9fb786
Update search dropdown background in dark mode (#2425)
osamasayed Jun 5, 2025
e4af554
Revert Dhul Hijjah donation campaign (#2431)
osamasayed Jun 6, 2025
8f15d1c
Merge branch 'master' into testing
osamasayed Jun 6, 2025
a53f7bb
sentry: re-enable defaultIntegrations (#2432)
mustafa0x Jun 7, 2025
649b42b
Merge branch 'master' into testing
osamasayed Jun 7, 2025
879bd9d
disable DonatePopup
osamasayed Jun 7, 2025
9fdbb5a
Merge branch 'master' into testing
osamasayed Jun 7, 2025
6d5d5b6
Merge branch 'master' into testing
osamasayed Jun 7, 2025
c647fbe
Merge branch 'master' into testing
osamasayed Jun 7, 2025
5875be4
Fix undefined is not an object (evaluating 'e.verseKey') (#2433)
osamasayed Jun 9, 2025
4460124
Remove navbar announcement (#2434)
osamasayed Jun 10, 2025
e5a8812
Merge branch 'master' into testing
osamasayed Jun 10, 2025
63420dd
Qf 2603 show more results (#2435)
osamasayed Jun 10, 2025
3d412a5
Fix word pronunciation on every mouse click (#2417)
osamasayed Jun 10, 2025
c8a9b90
Change the lesson note in the lesson list (#2415)
osamasayed Jun 10, 2025
be10f7a
Remove question themes (#2416)
osamasayed Jun 10, 2025
5ffc84c
QF-2547 handle quran_range
osamasayed Jun 17, 2025
7f69551
QF-2547 handle quran_range
osamasayed Jun 17, 2025
379365c
Merge branch 'master' into testing
osamasayed Jun 17, 2025
bca3f65
Fix homepage Daily ayah section (#2437)
osamasayed Jun 18, 2025
0d18caf
Fix homepage Daily ayah section (#2437)
osamasayed Jun 18, 2025
4363ff0
Update search dropdown background in dark mode (#2425)
osamasayed Jun 5, 2025
27777d9
QF-2610 fix search bar color issue
osamasayed Jun 19, 2025
5f871fe
QF-2610 fix search bar color issue
osamasayed Jun 19, 2025
d06a5a9
QF-2017 QDC unified registration cleanup (#2408)
AhmedCodeGuy Jun 22, 2025
e7b37a7
QF-2017 QDC unified registration cleanup (#2408)
AhmedCodeGuy Jun 22, 2025
db123cc
Merge branch 'production'
osamasayed Jun 23, 2025
00968ad
Merge branch 'master' into testing
osamasayed Jun 23, 2025
65c3ee1
Redirect to the same Ayah from search (#2442)
osamasayed Jun 24, 2025
47e0b17
Redirect to the same Ayah from search (#2442)
osamasayed Jun 24, 2025
51b7cd0
Fix clear button getting clicked when enter is clicked (#2443)
osamasayed Jun 24, 2025
5a18b25
Fix clear button getting clicked when enter is clicked (#2443)
osamasayed Jun 24, 2025
ada1247
QF-2514: Navigation redesign (#2436)
AhmedCodeGuy Jun 24, 2025
8f0b433
Merge branch 'production'
osamasayed Jun 24, 2025
f01b514
Merge branch 'master' into testing
osamasayed Jun 24, 2025
3123919
dropdown search does not appear agin when clicking esc (#2444)
osamasayed Jun 24, 2025
ea44031
dropdown search does not appear agin when clicking esc (#2444)
osamasayed Jun 24, 2025
764453d
Merge branch 'master' into testing
osamasayed Jun 24, 2025
d077816
Merge branch 'production'
osamasayed Jun 25, 2025
606495e
Merge branch 'master' into testing
osamasayed Jun 25, 2025
1d76153
update quran_range search result's icon (#2445)
osamasayed Jun 25, 2025
db61c97
update quran_range search result's icon (#2445)
osamasayed Jun 25, 2025
d3e4d6d
Merge branch 'production'
osamasayed Jun 25, 2025
d45d3da
Merge branch 'master' into testing
osamasayed Jun 25, 2025
42345df
unified registration fixes (#2441)
AhmedCodeGuy Jun 30, 2025
4d7d715
unified registration fixes (#2441)
AhmedCodeGuy Jun 30, 2025
bbcc261
Merge branch 'master' into testing
osamasayed Jul 1, 2025
c02df76
feat: add take notes page with UI and navigation updates (#2447)
AhmedCodeGuy Jul 2, 2025
6319d2e
feat: add take notes page with UI and navigation updates (#2447)
AhmedCodeGuy Jul 2, 2025
eb6037a
sync locales
osamasayed Jul 2, 2025
46c7f08
Merge branch 'master' into testing
osamasayed Jul 2, 2025
791b992
Merge branch 'production'
osamasayed Jul 2, 2025
3e6d5b7
Merge branch 'master' into testing
osamasayed Jul 2, 2025
085550e
Fix stretched learning plans images (#2448)
osamasayed Jul 3, 2025
caf115d
Fix stretched learning plans images (#2448)
osamasayed Jul 3, 2025
74cf8fc
Merge branch 'master' into testing
osamasayed Jul 3, 2025
8ca4fc2
Merge branch 'production'
osamasayed Jul 3, 2025
10fe35c
Merge branch 'master' into testing
osamasayed Jul 3, 2025
f54eda2
surah bar fixes (#2450)
AhmedCodeGuy Jul 6, 2025
f2e21b0
QF-2514: Navigation redesign (#2436)
AhmedCodeGuy Jun 24, 2025
9403103
surah bar fixes (#2450)
AhmedCodeGuy Jul 6, 2025
a498077
QF-2521-ayah-redesign (#2446)
AhmedCodeGuy Jul 7, 2025
3be8aa8
refactor: remove showBookmark prop and always display bookmark action…
AhmedCodeGuy Jul 10, 2025
23f61eb
QF-2583 ch: v4 mushaf tajweed updates (#2455)
rrrokhtar Jul 10, 2025
89a7684
fix: initialize bookmarkedPages as empty object in state migration (#…
AhmedCodeGuy Jul 10, 2025
fa16d5f
Merge branch 'master' into testing
osamasayed Jul 11, 2025
97a27f8
Revert "QF-2583 ch: v4 mushaf tajweed updates (#2455)"
osamasayed Jul 11, 2025
bae1eac
fix: update share URL path by removing surah prefix (#2459)
AhmedCodeGuy Jul 13, 2025
ca7ff54
QF 2876 fix page bookmarks when language is arabic (#2458)
AhmedCodeGuy Jul 13, 2025
611dd7d
feat: add static props to fetch chapter data on login page (#2461)
AhmedCodeGuy Jul 13, 2025
15f7986
feat: add static props with chapters data to about, developers and su…
AhmedCodeGuy Jul 14, 2025
3eff7dc
feat: add scroll hook with context menu offset for translation view (…
AhmedCodeGuy Jul 14, 2025
3bb4347
fix: update share URL path by removing surah prefix (#2459)
AhmedCodeGuy Jul 13, 2025
ea175ac
QF 2876 fix page bookmarks when language is arabic (#2458)
AhmedCodeGuy Jul 13, 2025
a37257b
refactor: improve memory usage of quran reader (#2453)
AhmedCodeGuy Jul 15, 2025
91922d4
QF-2905 fonts: V4 Update 15-07-25 PAGES 22, 247, 278 (#2466)
rrrokhtar Jul 16, 2025
e1342ad
feat: add static props to fetch chapter data on login page (#2461)
AhmedCodeGuy Jul 13, 2025
4ca41f7
feat: add static props with chapters data to about, developers and su…
AhmedCodeGuy Jul 14, 2025
7e5cf02
feat: add scroll hook with context menu offset for translation view (…
AhmedCodeGuy Jul 14, 2025
2899c00
feat: add page number lookup when navigating to chapters (#2452)
AhmedCodeGuy Jul 17, 2025
4059ec8
refactor: update icons styling and colors to match new design system …
AhmedCodeGuy Jul 17, 2025
ac4ac9a
refactor: implement z-index variants for modals to handle layering an…
AhmedCodeGuy Jul 17, 2025
d38d910
feat: add page number lookup when navigating to chapters (#2452)
AhmedCodeGuy Jul 17, 2025
af2a990
QF-2583 ch: v4 mushaf tajweed updates (#2455)
rrrokhtar Jul 10, 2025
63117b0
QF-2905 fonts: V4 Update 15-07-25 PAGES 22, 247, 278 (#2466)
rrrokhtar Jul 16, 2025
184970b
QF-2972 fonts: update 18-07-2025 Page 203 (#2471)
rrrokhtar Jul 19, 2025
81bd36b
Merge branch 'master' into testing
osamasayed Jul 20, 2025
f2e1c83
fix: update share URL path by removing surah prefix (#2459)
AhmedCodeGuy Jul 13, 2025
39a53d0
QF 2876 fix page bookmarks when language is arabic (#2458)
AhmedCodeGuy Jul 13, 2025
caa9331
feat: add static props to fetch chapter data on login page (#2461)
AhmedCodeGuy Jul 13, 2025
d39fcab
feat: add static props with chapters data to about, developers and su…
AhmedCodeGuy Jul 14, 2025
bfacab2
feat: add scroll hook with context menu offset for translation view (…
AhmedCodeGuy Jul 14, 2025
06a2c3c
QF-2905 fonts: V4 Update 15-07-25 PAGES 22, 247, 278 (#2466)
rrrokhtar Jul 16, 2025
b54b5aa
feat: add page number lookup when navigating to chapters (#2452)
AhmedCodeGuy Jul 17, 2025
4e8f7d8
refactor: update icons styling and colors to match new design system …
AhmedCodeGuy Jul 17, 2025
f511179
refactor: implement z-index variants for modals to handle layering an…
AhmedCodeGuy Jul 17, 2025
d590252
Merge branch 'master' into testing
osamasayed Jul 20, 2025
6e80740
QF-2972 fonts: update 18-07-2025 Page 203 (#2471)
rrrokhtar Jul 19, 2025
c3e162e
Don't translate translation text
osamasayed Jul 27, 2025
b00717c
Merge branch 'master' into testing
osamasayed Jul 27, 2025
ce8f009
Update Quranic Calendar's week number calculation (#2451)
osamasayed Aug 1, 2025
b547125
Update Quranic Calendar's week number calculation (#2451)
osamasayed Aug 1, 2025
0c5115c
QF-3051: UX UI Polishing for Quran Reader (#2477)
AhmedCodeGuy Aug 7, 2025
58ff182
sentry: don't capture session replays in prod (#2473)
mustafa0x Aug 11, 2025
fe192f7
sentry: don't capture session replays in prod (#2473)
mustafa0x Aug 11, 2025
8445932
fixed homepage's font scale (#2479)
osamasayed Aug 11, 2025
b4d6f98
fixed homepage's font scale (#2479)
osamasayed Aug 11, 2025
fd49924
docs: add CLAUDE.md with development guidelines and architecture over…
AhmedCodeGuy Aug 25, 2025
e5701b7
docs: add opecode guidelines
AhmedCodeGuy Aug 29, 2025
48d8324
Update daily ayah (#2486)
osamasayed Sep 1, 2025
94a783f
feat: implement auth system with context and automatic redirects (#2485)
AhmedCodeGuy Sep 2, 2025
9ad45a0
feat: implement auth system with context and automatic redirects (#2485)
AhmedCodeGuy Sep 2, 2025
cba41af
Update daily ayah (#2486)
osamasayed Sep 1, 2025
a75b410
Dockerfile: update (#2488)
mustafa0x Sep 3, 2025
ee22d01
Dockerfile: update (#2488)
mustafa0x Sep 3, 2025
acfbda4
Fix redirection issue
osamasayed Sep 4, 2025
fddc4b9
Only redirect when isProfileCompelete=true
osamasayed Sep 4, 2025
981eb9c
Fix redirection issue
osamasayed Sep 4, 2025
f1920ab
Only redirect when isProfileCompelete=true
osamasayed Sep 4, 2025
d2e0fa2
readme: minor cleanup (#2492)
mustafa0x Sep 8, 2025
c05fe1e
update redirection logic
osamasayed Sep 4, 2025
8ba3650
Update QR integration
osamasayed Sep 9, 2025
96f8ed7
update redirection logic
osamasayed Sep 4, 2025
d26fb2a
Update QR integration
osamasayed Sep 9, 2025
0950f37
Dockerfile: update (#2491)
vwh Sep 10, 2025
7ca7ab3
Dockerfile: update (#2491)
vwh Sep 10, 2025
b78f866
Update QR integration (#2490)
osamasayed Sep 10, 2025
a440ae5
Update developers page (#2494)
osamasayed Sep 14, 2025
ed03e13
Update developers page (#2494)
osamasayed Sep 14, 2025
9e2949c
QF-3350 (#2497)
osamasayed Sep 22, 2025
0b3e5dc
Merge branch 'master' into testing
rrrokhtar Sep 22, 2025
b59d4ad
[QF-3309]: SSO Login and logout support for QR (#2495)
mohsinayoob Sep 28, 2025
9a0ee47
QF-3435: Fix ayah reference formatting for RTL locales (#2504)
yousefdergham Sep 30, 2025
5636d79
Revert back requiring auth for profile page
osamasayed Oct 2, 2025
7019996
course.{MainDetails,LessonView}: add shouldUseMilkdown check (#2507)
mustafa0x Oct 3, 2025
75e28da
Qf 3439 (#2505)
yousefdergham Oct 5, 2025
e33514b
QF-3465: i18n(learn): add full stop to 'duration-daily' across all lo…
yousefdergham Oct 5, 2025
8ceac06
Fix linting issue (#2509)
osamasayed Oct 5, 2025
b9bf6cd
Update localization strings and improve Learning Plan Banner styles (…
yousefdergham Oct 6, 2025
282dae3
Update localization strings and improve Learning Plan Banner styles (…
yousefdergham Oct 6, 2025
80b5eb8
agents.md: minor fix (#2499)
mustafa0x Oct 7, 2025
30712e5
Fix room's url (#2516)
osamasayed Oct 7, 2025
028730b
Fix: Small spelling fix in footer of qdc (QF-3173) (#2514)
zonetecde Oct 7, 2025
897729e
Merge branch 'master' into testing
osamasayed Oct 7, 2025
3dede19
Staging prod sync (#2518)
osamasayed Oct 8, 2025
6760cb3
Merge branch 'master' into testing
osamasayed Oct 8, 2025
f41ad50
Merge branch 'pre-live'
osamasayed Oct 8, 2025
8d36e6e
Merge branch 'master' into testing
osamasayed Oct 8, 2025
26f5f3a
QF-3501 - Fix "Tafsirs" button triggering Surah selection (#2522)
zonetecde Oct 9, 2025
4e80e68
QF-3354 ref: AuthorInfo component with image error handling and updat…
rrrokhtar Oct 9, 2025
e1f2ed9
QF-3354 ref: AuthorInfo component with image error handling and updat…
rrrokhtar Oct 9, 2025
efca425
Fix: Quran in a Year auto scrolling (#2523)
zonetecde Oct 9, 2025
d865fa4
QF-3501 - Fix "Tafsirs" button triggering Surah selection (#2522)
zonetecde Oct 9, 2025
eba7b4c
Fix: Quran in a Year auto scrolling (#2523)
zonetecde Oct 9, 2025
e9c597c
Merge branch 'production'
osamasayed Oct 10, 2025
a318e61
Merge branch 'master' into testing
osamasayed Oct 10, 2025
1952b36
QF-2651 : Text does not wrap on saved notes (#2527)
zonetecde Oct 12, 2025
320b38d
Merge branch 'pre-live'
osamasayed Oct 12, 2025
5c7676b
Merge branch 'master' into testing
osamasayed Oct 12, 2025
5718198
Fix room's url (#2516)
osamasayed Oct 7, 2025
38d6832
Merge branch 'pre-live'
osamasayed Oct 12, 2025
1f40fef
Merge branch 'master' into testing
osamasayed Oct 12, 2025
4ba552a
Merge branch 'pre-live'
osamasayed Oct 12, 2025
b941828
Merge branch 'master' into testing
osamasayed Oct 12, 2025
1aaadf9
Merge branch 'pre-live'
osamasayed Oct 12, 2025
c633aa1
Merge branch 'master' into testing
osamasayed Oct 12, 2025
216af88
Qf 3200 explore topics section scrollable horizontally (#2528)
yousefdergham Oct 15, 2025
670d2a0
QF-2096 - Fix reciter menu too large (#2525)
zonetecde Oct 15, 2025
ede1dc4
QF-2998 - Fixed line height of Answer text (#2532)
zonetecde Oct 16, 2025
f232489
Adding right padding to the title text of a modal to prevent the titl…
zonetecde Oct 17, 2025
ce8bb6f
Revert "Adding right padding to the title text of a modal to prevent …
zonetecde Oct 17, 2025
82ab819
fix: memoize selectUserState selector
jonybekov Oct 18, 2025
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
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .cursor/rules/bug-handling-with-todo-comments.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Specifies the usage of TODO comments to outline problems or bugs encountered in existing code, regardless of file type.
globs: **/*.*
---
- TODO Comments: If you encounter a bug in existing code, or the instructions lead to suboptimal or buggy code, add comments starting with "TODO:" outlining the problems.
56 changes: 56 additions & 0 deletions .cursor/rules/clean-code.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
description: Guidelines for writing clean, maintainable, and human-readable code. Apply these rules when writing or reviewing code to ensure consistency and quality.
globs:
alwaysApply: false
---
# Clean Code Guidelines

## Constants Over Magic Numbers
- Replace hard-coded values with named constants
- Use descriptive constant names that explain the value's purpose
- Keep constants at the top of the file or in a dedicated constants file

## Meaningful Names
- Variables, functions, and classes should reveal their purpose
- Names should explain why something exists and how it's used
- Avoid abbreviations unless they're universally understood

## Smart Comments
- Don't comment on what the code does - make the code self-documenting
- Use comments to explain why something is done a certain way
- Document APIs, complex algorithms, and non-obvious side effects

## Single Responsibility
- Each function should do exactly one thing
- Functions should be small and focused
- If a function needs a comment to explain what it does, it should be split

## DRY (Don't Repeat Yourself)
- Extract repeated code into reusable functions
- Share common logic through proper abstraction
- Maintain single sources of truth

## Clean Structure
- Keep related code together
- Organize code in a logical hierarchy
- Use consistent file and folder naming conventions

## Encapsulation
- Hide implementation details
- Expose clear interfaces
- Move nested conditionals into well-named functions

## Code Quality Maintenance
- Refactor continuously
- Fix technical debt early
- Leave code cleaner than you found it

## Testing
- Write tests before fixing bugs
- Keep tests readable and maintainable
- Test edge cases and error conditions

## Version Control
- Write clear commit messages
- Make small, focused commits
- Use meaningful branch names
45 changes: 45 additions & 0 deletions .cursor/rules/codequality.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
description: Code Quality Guidelines
globs:
alwaysApply: false
---
# Code Quality Guidelines

## Verify Information
Always verify information before presenting it. Do not make assumptions or speculate without clear evidence.

## File-by-File Changes
Make changes file by file and give me a chance to spot mistakes.

## No Apologies
Never use apologies.

## No Understanding Feedback
Avoid giving feedback about understanding in comments or documentation.

## No Whitespace Suggestions
Don't suggest whitespace changes.

## No Inventions
Don't invent changes other than what's explicitly requested.

## No Unnecessary Confirmations
Don't ask for confirmation of information already provided in the context.

## Preserve Existing Code
Don't remove unrelated code or functionalities. Pay attention to preserving existing structures.

## Single Chunk Edits
Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file.

## No Implementation Checks
Don't ask the user to verify implementations that are visible in the provided context.

## No Unnecessary Updates
Don't suggest updates or changes to files when there are no actual modifications needed.

## Provide Real File Links
Always provide links to the real files, not x.md.

## No Current Implementation
Don't show or discuss the current implementation unless specifically requested.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Applies coding guidelines related to using early returns and conditional classes in all files.
globs: **/*.*
---
- Utilize Early Returns: Use early returns to avoid nested conditions and improve readability.
- Conditional Classes: Prefer conditional classes over ternary operators for class attributes.
8 changes: 8 additions & 0 deletions .cursor/rules/comment-usage.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
description: This rule dictates how comments should be used within the codebase to enhance understanding and avoid clutter.
globs: **/*.*
---
- Use comments sparingly, and when you do, make them meaningful.
- Don't comment on obvious things. Excessive or unclear comments can clutter the codebase and become outdated.
- Use comments to convey the "why" behind specific actions or explain unusual behavior and potential pitfalls.
- Provide meaningful information about the function's behavior and explain unusual behavior and potential pitfalls.
7 changes: 7 additions & 0 deletions .cursor/rules/follow-up-questions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

---
description: When you have questions or need clarification, I'll ask follow-up questions to ensure I understand your requirements before providing a solution. This helps me deliver more accurate and useful code that meets your specific needs.
globs:
alwaysApply: true
---
Do not make any changes, until you have 95% confidence that you know what to build ask me follow up questions until you have that confidence.
7 changes: 7 additions & 0 deletions .cursor/rules/function-length-and-responsibility.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: This rule enforces the single responsibility principle, ensuring functions are short and focused.
globs: **/*.*
---
- Write short functions that only do one thing.
- Follow the single responsibility principle (SRP), which means that a function should have one purpose and perform it effectively.
- If a function becomes too long or complex, consider breaking it into smaller, more manageable functions.
5 changes: 5 additions & 0 deletions .cursor/rules/function-ordering-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Defines the function ordering conventions, where functions that compose other functions appear earlier in the file, regardless of the file type.
globs: **/*.*
---
- Order functions with those that are composing other functions appearing earlier in the file. For example, if you have a menu with multiple buttons, define the menu function above the buttons.
6 changes: 6 additions & 0 deletions .cursor/rules/general-code-commenting.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Ensures helpful comments are added to the code and that old, relevant comments are preserved.
globs: **/*.*
---
- Always add helpful comments to the code explaining what you are doing.
- Never delete old comments, unless they are no longer relevant because the code has been rewritten or deleted.
7 changes: 7 additions & 0 deletions .cursor/rules/general-coding-principles.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Applies general coding principles like simplicity, readability, performance, maintainability, testability, and reusability to all files.
globs: **/*.*
---
- Focus on simplicity, readability, performance, maintainability, testability, and reusability.
- Remember less code is better.
- Lines of code = Debt.
7 changes: 7 additions & 0 deletions .cursor/rules/minimal-code-changes-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Enforces the principle of making minimal code changes to avoid introducing bugs or technical debt in any file.
globs: **/*.*
---
- Only modify sections of the code related to the task at hand.
- Avoid modifying unrelated pieces of code.
- Accomplish goals with minimal code changes.
7 changes: 7 additions & 0 deletions .cursor/rules/naming-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: This rule focuses on using meaningful and descriptive names for variables, functions, and classes throughout the project.
globs: **/*.*
---
- Choose names for variables, functions, and classes that reflect their purpose and behavior.
- A name should tell you why it exists, what it does, and how it is used. If a name requires a comment, then the name does not reveal its intent.
- Use specific names that provide a clearer understanding of what the variables represent and how they are used.
7 changes: 7 additions & 0 deletions .cursor/rules/next-js-app-router-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Applies Next.js App Router specific guidelines to components and pages within the 'app' directory.
globs: app/**/*.tsx
alwaysApply: false
---
- You are an expert in Next.js Pages Router.
- Follow Next.js documentation for best practices in data fetching, rendering, and routing.
7 changes: 7 additions & 0 deletions .cursor/rules/next-js-configuration-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: Rules specifically for the Next.js configuration file.
globs: /next.config.js
alwaysApply: false
---
- Ensure the Next.js configuration is optimized for performance.
- Review and update the configuration regularly based on project needs.
12 changes: 12 additions & 0 deletions .cursor/rules/next-js-conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: Key Next.js conventions for state changes, web vitals, and client-side code usage.
globs: **/*.{ts,js,jsx,tsx}
alwaysApply: false
---
- Rely on Next.js Pages Router for state changes.
- Prioritize Web Vitals (LCP, CLS, FID).
- Minimize 'use client' usage:
- Prefer server components and Next.js SSR features.
- Use 'use client' only for Web API access in small components.
- Avoid using 'use client' for data fetching or state management.
- Refer to Next.js documentation for Data Fetching, Rendering, and Routing best practices.
14 changes: 14 additions & 0 deletions .cursor/rules/next-js-folder-structure.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
description: This rule defines the recommended folder structure for Next.js projects.
globs: app/**/*.*
alwaysApply: false
---
- Adhere to the following folder structure:

src/
components/
lib/
pages/
hooks/
utils/
public/
6 changes: 6 additions & 0 deletions .cursor/rules/performance-optimization-rules.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Guidelines for optimizing performance by minimizing client-side operations and using server-side rendering.
globs: **/*.{js,jsx,ts,tsx}
---
- Optimize Web Vitals (LCP, CLS, FID).
- Use dynamic loading for non-critical components using @src/components/dls/Spinner/Spinner.tsx
5 changes: 5 additions & 0 deletions .cursor/rules/persona---senior-full-stack-developer.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
description: Defines the persona as a senior full-stack developer with extensive knowledge applicable to all files.
globs: **/*.*
---
- You are a senior full-stack developer. One of those rare 10x developers that has incredible knowledge.
6 changes: 6 additions & 0 deletions .cursor/rules/react-functional-components.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
description: Enforces the use of functional components with hooks in React components.
globs: src/components/**/*.tsx
---
- Always use React functional components with hooks.
- Use React.FC for functional components with props.
76 changes: 76 additions & 0 deletions .cursor/rules/react.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
description: React best practices and patterns for modern web applications
globs: **/*.tsx, **/*.jsx, components/**/*
alwaysApply: false
---

# React Best Practices

## Component Structure
- Use functional components over class components
- Keep components small and focused
- Extract reusable logic into custom hooks
- Use composition over inheritance
- Implement proper prop types with TypeScript
- Split large components into smaller, focused ones

## Hooks
- Follow the Rules of Hooks
- Use custom hooks for reusable logic
- Keep hooks focused and simple
- Use appropriate dependency arrays in useEffect
- Implement cleanup in useEffect when needed
- Avoid nested hooks

## State Management
- Use useState for local component state.
- Implement Redux Toolkit for efficient Redux development for medium-complex state logic.
- Implement slice pattern for organizing Redux code.
- Avoid prop drilling through proper state management.
- Use xstate for complex state logic.

## Performance
- Implement proper memoization (useMemo, useCallback)
- Use React.memo for expensive components
- Avoid unnecessary re-renders
- Implement proper lazy loading
- Use proper key props in lists
- Profile and optimize render performance

## Forms
- Re-use @src/components/FormBuilder/FormBuilder.tsx to build forms.
- Implement proper form validation.
- Handle form submission states properly.
- Show appropriate loading and error states.
- Implement proper accessibility for forms.

## Error Handling
- Handle async errors properly
- Show user-friendly error messages
- Implement proper fallback UI
- Log errors appropriately
- Handle edge cases gracefully

## Testing
- Write unit tests for components
- Implement integration tests for complex flows
- Use React Testing Library
- Test user interactions
- Test error scenarios
- Implement proper mock data

## Accessibility
- Use semantic HTML elements
- Implement proper ARIA attributes
- Ensure keyboard navigation
- Test with screen readers
- Handle focus management
- Provide proper alt text for images

## Code Organization
- Group related components together
- Use proper file naming conventions
- Implement proper directory structure
- Keep styles close to components
- Use proper imports/exports
- Document complex component logic
12 changes: 12 additions & 0 deletions .cursor/rules/redux-folder-structure.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
description: Enforces specific folder structure conventions within the Redux store directory.
globs: src/redux/**/*
---
- Follow this folder structure:
src/
redux/
actions/
slices/
RootState.ts
store.ts
migrations.ts
9 changes: 9 additions & 0 deletions .cursor/rules/redux-toolkit-best-practices.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
description: Applies Redux Toolkit best practices for efficient Redux development.
globs: src/redux/**/*.ts
---
- Use Redux Toolkit for efficient Redux development.
- Implement slice pattern for organizing Redux code.
- Use selectors for accessing state in components.
- Use Redux hooks (useSelector, useDispatch) in components.
- Follow Redux style guide for naming conventions
Loading