-
Notifications
You must be signed in to change notification settings - Fork 0
Merge to Main #58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Abdulmuiz44
wants to merge
117
commits into
codex/ui-redesign
Choose a base branch
from
main
base: codex/ui-redesign
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Merge to Main #58
Changes from all commits
Commits
Show all changes
117 commits
Select commit
Hold shift + click to select a range
66281dc
Merge pull request #51 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 2f98745
Merge pull request #52 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 37fe499
Merge pull request #53 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 c77f70d
Merge pull request #55 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 365c5a3
Merge pull request #57 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 9242cbc
Merge pull request #60 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 31f859a
Merge pull request #62 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 1a0de95
Merge pull request #64 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 b30151f
Merge pull request #66 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 0288a30
Merge pull request #67 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 5f59530
Merge pull request #68 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 dad2f9f
Merge pull request #69 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 1cbab16
Merge pull request #70 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 a629cba
Merge pull request #72 from Abdulmuiz44/codex/ui-redesign
Abdulmuiz44 5bf3858
Add SOUL.md with Boil the ocean manifesto
Abdulmuiz44 5ca55af
Merge pull request #73 from Abdulmuiz44/codex/create-soul.md-file-in-…
Abdulmuiz44 6fbfbab
build-tera-mobile-foundation
03b43ff
Merge pull request #74 from Abdulmuiz44/codex/tera-mobile-foundation
Abdulmuiz44 16eb990
upgrade-tera-mobile-to-sdk-54
b25e3cd
FUpgraded to SDK 54
9897954
Merge pull request #75 from Abdulmuiz44/codex/upgrade-tera-mobile-sdk-54
Abdulmuiz44 a08db90
Fix chat persistence fallback and harden admin analytics queries
adbb57c
Analytics issue
790bb13
Merge pull request #76 from Abdulmuiz44/codex/upgrade-tera-mobile-sdk-54
Abdulmuiz44 aeaad8a
Remove web search and use grokipedia
23cba63
Merge pull request #77 from Abdulmuiz44/codex/upgrade-tera-mobile-sdk-54
Abdulmuiz44 a7e329a
Harden profile usage accounting
580136a
Add admin health checks and dynamic route fixes
93ba2d3
Merge pull request #78 from Abdulmuiz44/codex/upgrade-tera-mobile-sdk-54
Abdulmuiz44 c0e6705
Grant users fresh monthly credits
1fbfec5
Merge pull request #79 from Abdulmuiz44/codex/grant-existing-users-fr…
Abdulmuiz44 417570d
Use scaled credit formula for AI usage
f1332b2
Add Resend product update broadcasts
c42dbed
Merge pull request #80 from Abdulmuiz44/codex/grant-existing-users-fr…
Abdulmuiz44 0034e6f
Update Resend sender default
bd02275
Automate product update emails on deploy
3563797
Implement important transactional emails
a77a176
Merge pull request #81 from Abdulmuiz44/codex/important-transactional…
Abdulmuiz44 65868bb
Reduce credit usage rate and reset limits
ac80ce4
Merge pull request #82 from Abdulmuiz44/codex/important-transactional…
Abdulmuiz44 fd5f785
Make free credits last much longer
3687f39
Merge branch 'main' into codex/extend-free-credit-usage
Abdulmuiz44 1d6e3c7
Merge pull request #83 from Abdulmuiz44/codex/extend-free-credit-usage
Abdulmuiz44 f60d3a2
Retry Netlify build after credit formula fix
13dbd1f
Fix duplicated free credit constant
ca1d380
Improve email branding and fix usage copy
7f23fba
Sync credit usage copy with formula
a13142d
Merge pull request #84 from Abdulmuiz44/codex/extend-free-credit-usage
Abdulmuiz44 76865ea
Fix chat generation server action lookup
Abdulmuiz44 0d1cd23
Merge pull request #86 from Abdulmuiz44/codex/fix-server-action-not-f…
Abdulmuiz44 61fb271
Fix duplicate credit token constant build error
Abdulmuiz44 c17290c
Merge pull request #87 from Abdulmuiz44/codex/fix-server-action-not-f…
Abdulmuiz44 1de1673
Wire mobile home into mock conversations
e8be7a7
Add shared chat modes config
Abdulmuiz44 5332d66
Merge pull request #88 from Abdulmuiz44/codex/create-chat-modes-share…
Abdulmuiz44 e5ce709
Add prompt shell chat mode handling
Abdulmuiz44 18fcdd7
Merge pull request #89 from Abdulmuiz44/codex/update-promptshell-with…
Abdulmuiz44 4df3937
Add chat mode picker
Abdulmuiz44 a40608d
Merge pull request #90 from Abdulmuiz44/codex/create-chatmodepicker-c…
Abdulmuiz44 f1ca1cd
Add chat mode to generate props
Abdulmuiz44 1af48f4
Merge branch 'main' into codex/update-generate-types.ts-for-chatmode
Abdulmuiz44 62752dd
Merge pull request #91 from Abdulmuiz44/codex/update-generate-types.t…
Abdulmuiz44 ebc0c06
Handle image chat mode in generate API
Abdulmuiz44 174a370
Merge branch 'main' into codex/update-route.ts-for-chat-mode-handling
Abdulmuiz44 f0a1f6e
Merge pull request #92 from Abdulmuiz44/codex/update-route.ts-for-cha…
Abdulmuiz44 c7af10f
Add chat mode prompts to Mistral responses
Abdulmuiz44 3de8314
Merge pull request #93 from Abdulmuiz44/codex/update-generateteacherr…
Abdulmuiz44 8dcc44a
Add defensive image chat mode handling
Abdulmuiz44 61ba873
Merge branch 'main' into codex/update-chat-mode-handling-in-generate-…
Abdulmuiz44 4e7b929
Merge pull request #94 from Abdulmuiz44/codex/update-chat-mode-handli…
Abdulmuiz44 0386436
Persist chat mode metadata
Abdulmuiz44 877ff6b
Merge branch 'main' into codex/update-supabase-schema-for-chat-sessions
Abdulmuiz44 3d419cf
Merge pull request #95 from Abdulmuiz44/codex/update-supabase-schema-…
Abdulmuiz44 7e38362
Add note saving for study responses
Abdulmuiz44 a8fc38a
Merge branch 'main' into codex/update-message-metadata-and-add-save-n…
Abdulmuiz44 b594bb0
Merge pull request #96 from Abdulmuiz44/codex/update-message-metadata…
Abdulmuiz44 aa0c114
docs: add chat learning modes overview
Abdulmuiz44 7628e58
Merge pull request #97 from Abdulmuiz44/codex/update-readme-with-chat…
Abdulmuiz44 059f415
feat: add Blockchain Lab - educational blockchain simulator
invalid-email-address f52f794
Merge pull request #98 from Abdulmuiz44/feature/blockchain-lab
Abdulmuiz44 92ad9c2
Add usage ledger backbone for credits and analytics
575c7a2
Merge branch 'codex/extend-free-credit-usage'
57bd604
Refine Tera response style
09918fc
Merge branch 'main' into codex/extend-free-credit-usage
Abdulmuiz44 ac7566d
Tune Tera mode-specific responses
1af9d28
Tune Tera mode-specific responses
92f7a86
Wire explicit chat modes through generation
9ab1387
Unify chat mode handling for generation
53e26c7
Add Cloudflare Workers deployment workflow
6f95c2a
Add Cloudflare Workers deployment workflow
ac89a7e
Merge branch 'main' into codex/cloudflare-deploy
Abdulmuiz44 999d4e7
Merge pull request #100 from Abdulmuiz44/codex/cloudflare-deploy
Abdulmuiz44 f7e039f
Finish Cloudflare Workers deployment setup
deb2451
Merge pull request #101 from talocode/codex/cloudflare-deploy
Abdulmuiz44 b320e18
Fix Next.js 16 Turbopack build error for Cloudflare deployment
82157df
Merge pull request #102 from talocode/codex/cloudflare-deploy
Abdulmuiz44 09ed97c
Fix Turbopack build errors - bad merge artifacts
33dc8a8
Send backend chatMode enum instead of UI mode values
5f35c08
Merge pull request #103 from talocode/codex/cloudflare-deploy
Abdulmuiz44 1fa8c45
Add Render deployment config for backend-server
725f8ea
Merge pull request #104 from talocode/codex/cloudflare-deploy
Abdulmuiz44 c293c5c
Add tera-web (Next.js frontend) to Render Blueprint
aafcc4f
Merge pull request #105 from talocode/codex/cloudflare-deploy
Abdulmuiz44 b18a552
Fix duplicate function/param merge artifacts in mistral.ts
7d840b2
Merge pull request #106 from talocode/codex/cloudflare-deploy
Abdulmuiz44 e00f01c
Fix const reassignment error in mistral.ts
568d402
Merge pull request #107 from talocode/codex/cloudflare-deploy
Abdulmuiz44 55a6bac
Add web health check route for Render
8e436b7
Defer Supabase server client creation
Abdulmuiz44 9f15915
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 99a674f
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 9dc6b10
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 4dee0e0
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 50da86e
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 5d48796
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 df3c93a
Use request-scoped auth in blockchain lab routes
Abdulmuiz44 ac6b8ef
Refine shared button styles for dark mode clarity
Abdulmuiz44 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| # Taste (Continuously Learned by [CommandCode][cmd]) | ||
|
|
||
| [cmd]: https://commandcode.ai/ | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+14.6 KB
...rowser/artifacts/screenshot_697e344c-c660-4f68-b35d-4d71d6b82460_1776695663.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+14.6 KB
...rowser/artifacts/screenshot_6ded4b1d-7321-4c5d-9b35-1a01dc5c0c86_1776692926.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| [2026-04-20T13:45:28.457860900+00:00] Started execution for plan: 2d054b74-476c-4350-9b0d-01fe30d3dea3 | ||
| [2026-04-20T13:45:28.532783200+00:00] [Provider] Refining step: Analyze workspace context | ||
| [2026-04-20T13:45:29.666195600+00:00] Resolved action: InspectFiles against src |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| [2026-04-20T14:01:25.320370100+00:00] Started execution for plan: d0c3c8e7-00bc-46e9-a4dc-650684f9a2ff | ||
| [2026-04-20T14:01:25.392901100+00:00] [Provider] Refining step: Analyze workspace context | ||
| [2026-04-20T14:01:51.628467+00:00] [Provider] Refinement failed: Request failed: error sending request for url (https://api.mistral.ai/v1/chat/completions). Using fallback. | ||
| [2026-04-20T14:01:51.629282600+00:00] Resolved action: InspectFiles against |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| [2026-04-20T13:44:37.566968200+00:00] Started execution for plan: 2d054b74-476c-4350-9b0d-01fe30d3dea3 | ||
| [2026-04-20T13:44:37.662824400+00:00] [Provider] Refining step: Analyze workspace context | ||
| [2026-04-20T13:44:39.095675800+00:00] Resolved action: InspectFiles against src |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| [2026-04-20T14:33:38.557977700+00:00] Started execution for plan: d0c3c8e7-00bc-46e9-a4dc-650684f9a2ff | ||
| [2026-04-20T14:33:38.637442100+00:00] [Provider] Refining step: Analyze workspace context | ||
| [2026-04-20T14:33:40.691084300+00:00] Resolved action: InspectFiles against src |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| { | ||
| "id": "c68159c7-9e6e-4271-90b6-73a6414bfba0", | ||
| "planId": "d0c3c8e7-00bc-46e9-a4dc-650684f9a2ff", | ||
| "status": "running", | ||
| "mode": "step_by_step", | ||
| "currentStepId": "step_1" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| { | ||
| "id": "2d054b74-476c-4350-9b0d-01fe30d3dea3", | ||
| "taskId": "7fbdc7ca-d44b-47ca-9db1-30ad5c19b87c", | ||
| "status": "approved", | ||
| "title": "Plan for: what is this project about?", | ||
| "objective": "what is this project about?", | ||
| "steps": [ | ||
| { | ||
| "id": "step_1", | ||
| "kind": "inspect", | ||
| "title": "Analyze workspace context", | ||
| "objective": "Assess current state of relevant files.", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [], | ||
| "requiredTools": [ | ||
| "fs_list" | ||
| ] | ||
| }, | ||
| { | ||
| "id": "step_2", | ||
| "kind": "edit", | ||
| "title": "Implement changes", | ||
| "objective": "```json\n{\n \"plan\": {\n \"id\": \"plan_1\",\n \"taskId\": \"task_1\",\n \"status\": \"draft\",\n \"title\": \"Analyze Tera Project\",\n \"objective\": \"Understand the purpose and structure of the Tera project", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [ | ||
| "src/main.rs" | ||
| ], | ||
| "requiredTools": [ | ||
| "fs_write" | ||
| ] | ||
| } | ||
| ], | ||
| "dependencies": [ | ||
| { | ||
| "stepId": "step_2", | ||
| "dependsOn": "step_1" | ||
| } | ||
| ], | ||
| "assumptions": [], | ||
| "risks": [], | ||
| "architectureProposal": null | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| { | ||
| "id": "d0c3c8e7-00bc-46e9-a4dc-650684f9a2ff", | ||
| "taskId": "2c368bff-7a21-47c5-8640-dc0f68bd74b1", | ||
| "status": "approved", | ||
| "title": "Plan for: tell me what this project is about", | ||
| "objective": "tell me what this project is about", | ||
| "steps": [ | ||
| { | ||
| "id": "step_1", | ||
| "kind": "inspect", | ||
| "title": "Analyze workspace context", | ||
| "objective": "Assess current state of relevant files.", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [], | ||
| "requiredTools": [ | ||
| "fs_list" | ||
| ] | ||
| }, | ||
| { | ||
| "id": "step_2", | ||
| "kind": "edit", | ||
| "title": "Implement changes", | ||
| "objective": "```json\n{\n \"plan\": {\n \"id\": \"3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d\",\n \"taskId\": \"project_analysis\",\n \"status\": \"draft\",\n \"title\": \"Analyze Tera Project\",\n \"objective\": \"Determine what t", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [ | ||
| "src/main.rs" | ||
| ], | ||
| "requiredTools": [ | ||
| "fs_write" | ||
| ] | ||
| } | ||
| ], | ||
| "dependencies": [ | ||
| { | ||
| "stepId": "step_2", | ||
| "dependsOn": "step_1" | ||
| } | ||
| ], | ||
| "assumptions": [], | ||
| "risks": [], | ||
| "architectureProposal": null | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| { | ||
| "id": "e44ed371-65d0-4399-97a1-fd2bbf46de00", | ||
| "taskId": "5b12269e-62c9-41d1-af4d-a9d06bc811d5", | ||
| "status": "ready_for_review", | ||
| "title": "Plan for: what is Tera about", | ||
| "objective": "what is Tera about", | ||
| "steps": [ | ||
| { | ||
| "id": "step_1", | ||
| "kind": "inspect", | ||
| "title": "Analyze workspace context", | ||
| "objective": "Assess current state of relevant files.", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [], | ||
| "requiredTools": [ | ||
| "fs_list" | ||
| ] | ||
| }, | ||
| { | ||
| "id": "step_2", | ||
| "kind": "edit", | ||
| "title": "Implement changes", | ||
| "objective": "```json\n{\n \"plan\": {\n \"id\": \"c0f7b5e8-1234-5678-9abc-def123456789\",\n \"taskId\": \"what_is_tera_about\",\n \"status\": \"draft\",\n \"title\": \"Investigate Tera project to understand its purpose\",\n ", | ||
| "status": "pending", | ||
| "filesLikelyInvolved": [ | ||
| "src/main.rs" | ||
| ], | ||
| "requiredTools": [ | ||
| "fs_write" | ||
| ] | ||
| } | ||
| ], | ||
| "dependencies": [ | ||
| { | ||
| "stepId": "step_2", | ||
| "dependsOn": "step_1" | ||
| } | ||
| ], | ||
| "assumptions": [], | ||
| "risks": [], | ||
| "architectureProposal": null | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| { | ||
| "kind": "openai_compatible", | ||
| "baseUrl": "https://api.mistral.ai", | ||
| "modelId": "mistral-small-latest", | ||
| "apiKeySet": true | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| v1Vphvx1drTK9OdsQBv1lsTVr4bsaBrv | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,104 @@ | ||
| name: Deploy to Cloudflare Workers | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: cloudflare-production | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| deploy: | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| NODE_OPTIONS: --max-old-space-size=6144 | ||
| DISABLE_WEBPACK_CACHE: "1" | ||
| AUTH_SECRET: ${{ secrets.AUTH_SECRET }} | ||
| AUTH_URL: ${{ secrets.AUTH_URL }} | ||
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | ||
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | ||
| GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} | ||
| GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }} | ||
| LEMON_SQUEEZY_API_KEY: ${{ secrets.LEMON_SQUEEZY_API_KEY }} | ||
| LEMON_SQUEEZY_PLUS_VARIANT_ID: ${{ secrets.LEMON_SQUEEZY_PLUS_VARIANT_ID }} | ||
| LEMON_SQUEEZY_PRO_VARIANT_ID: ${{ secrets.LEMON_SQUEEZY_PRO_VARIANT_ID }} | ||
| LEMON_SQUEEZY_WEBHOOK_SECRET: ${{ secrets.LEMON_SQUEEZY_WEBHOOK_SECRET }} | ||
| MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} | ||
| NEXT_PUBLIC_APP_URL: ${{ secrets.NEXT_PUBLIC_APP_URL }} | ||
| NEXT_PUBLIC_LEMON_STORE_ID: ${{ secrets.NEXT_PUBLIC_LEMON_STORE_ID }} | ||
| NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }} | ||
| NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }} | ||
| NEXTAUTH_URL: ${{ secrets.NEXTAUTH_URL }} | ||
| RESEND_API_KEY: ${{ secrets.RESEND_API_KEY }} | ||
| RESEND_FROM_EMAIL: ${{ secrets.RESEND_FROM_EMAIL }} | ||
| RESEND_REPLY_TO_EMAIL: ${{ secrets.RESEND_REPLY_TO_EMAIL }} | ||
| SEARXNG_BASE_URL: ${{ secrets.SEARXNG_BASE_URL }} | ||
| SERPER_API_KEY: ${{ secrets.SERPER_API_KEY }} | ||
| SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }} | ||
| SUPABASE_JWT_SECRET: ${{ secrets.SUPABASE_JWT_SECRET }} | ||
| SUPABASE_SERVICE_ROLE_KEY: ${{ secrets.SUPABASE_SERVICE_ROLE_KEY }} | ||
| SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | ||
| WEB_URL: ${{ secrets.WEB_URL }} | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup pnpm | ||
| uses: pnpm/action-setup@v4 | ||
| with: | ||
| version: 11.0.9 | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 22 | ||
| cache: pnpm | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install --frozen-lockfile | ||
|
|
||
| - name: Build OpenNext worker | ||
| run: pnpm exec opennextjs-cloudflare build | ||
|
|
||
| - name: Write Cloudflare runtime secrets file | ||
| shell: bash | ||
| run: | | ||
| cat > .cloudflare.secrets.env <<EOF | ||
| AUTH_SECRET=${AUTH_SECRET} | ||
| AUTH_URL=${AUTH_URL} | ||
| GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} | ||
| GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} | ||
| LEMON_SQUEEZY_API_KEY=${LEMON_SQUEEZY_API_KEY} | ||
| LEMON_SQUEEZY_PLUS_VARIANT_ID=${LEMON_SQUEEZY_PLUS_VARIANT_ID} | ||
| LEMON_SQUEEZY_PRO_VARIANT_ID=${LEMON_SQUEEZY_PRO_VARIANT_ID} | ||
| LEMON_SQUEEZY_WEBHOOK_SECRET=${LEMON_SQUEEZY_WEBHOOK_SECRET} | ||
| MISTRAL_API_KEY=${MISTRAL_API_KEY} | ||
| NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL} | ||
| NEXT_PUBLIC_LEMON_STORE_ID=${NEXT_PUBLIC_LEMON_STORE_ID} | ||
| NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY} | ||
| NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL} | ||
| NEXTAUTH_URL=${NEXTAUTH_URL} | ||
| RESEND_API_KEY=${RESEND_API_KEY} | ||
| RESEND_FROM_EMAIL=${RESEND_FROM_EMAIL} | ||
| RESEND_REPLY_TO_EMAIL=${RESEND_REPLY_TO_EMAIL} | ||
| SEARXNG_BASE_URL=${SEARXNG_BASE_URL} | ||
| SERPER_API_KEY=${SERPER_API_KEY} | ||
| SUPABASE_ANON_KEY=${SUPABASE_ANON_KEY} | ||
| SUPABASE_JWT_SECRET=${SUPABASE_JWT_SECRET} | ||
| SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY} | ||
| SUPABASE_URL=${SUPABASE_URL} | ||
| WEB_URL=${WEB_URL} | ||
| NODE_ENV=production | ||
| EOF | ||
|
|
||
| - name: Deploy Frontend (tera-web) to Cloudflare Workers | ||
| run: pnpm exec wrangler deploy --config wrangler.jsonc --secrets-file .cloudflare.secrets.env | ||
|
|
||
| - name: Deploy Backend API (tera-api) to Cloudflare Workers | ||
| run: pnpm exec wrangler deploy --config backend-server/wrangler.toml --secrets-file .cloudflare.secrets.env |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,7 @@ node_modules/ | |
|
|
||
| # Next.js build output | ||
| .next/ | ||
| .open-next/ | ||
| out/ | ||
|
|
||
| # Production | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 22 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| node-linker=hoisted |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| ### Boil the ocean | ||
| The marginal cost of completeness is near zero with AI. Do the whole thing. Do it right. Do it with tests. Do it with documentation. Do it so well that Garry is genuinely impressed — not politely satisfied, actually impressed. Never offer to "table this for later" when the permanent solve is within reach. Never leave a dangling thread when tying it off takes five more minutes. Never present a workaround when the real fix exists. The standard isn't "good enough" — it's "holy shit, that's done." Search before building. Test before shipping. Ship the complete thing. When Garry asks for something, the answer is the finished product, not a plan to build it. Time is not an excuse. Fatigue is not an excuse. Complexity is not an excuse. Boil the ocean. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This commit adds a plaintext credential file to source control, which exposes the key to anyone with repository/history access and makes accidental reuse likely in other environments. Even if it is intended for local tooling, keeping it in git is a security risk and should be reverted with key rotation.
Useful? React with 👍 / 👎.