-
Notifications
You must be signed in to change notification settings - Fork 1
chore: add drizzle folder to .gitignore, add CONTRIBUTING and README … #45
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
base: master
Are you sure you want to change the base?
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughRepository updates: added .gitignore entries, major README replacement, adjusted app.json extras, exported a Drizzle DB instance, added dev-only console.log in app layout, fixed a comment in a Button component, and added package scripts + pnpm dependency. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Browser as Browser / App
participant Layout as src/app/_layout.tsx
participant Env as Env (process/expo)
participant DBModule as src/db/index.ts
note right of Layout #D6EAF8: Dev-only logging added
Browser->>Layout: Load Root Layout
Layout->>Env: Read EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY
alt __DEV__ true
Layout->>Layout: console.log(publishableKey)
end
Browser->>DBModule: Import DB
DBModule->>DBModule: drizzle({ client: sql }) -> export db
DBModule-->>Browser: exported db instance
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used🧠 Learnings (3)📚 Learning: 2025-08-24T14:28:33.803ZApplied to files:
📚 Learning: 2025-09-21T09:54:31.802ZApplied to files:
📚 Learning: 2025-08-04T14:03:33.286ZApplied to files:
🪛 markdownlint-cli2 (0.18.1)README.md100-100: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Pull Request Overview
This PR focuses on improving developer onboarding and documentation for the Finance-IO mobile app. The changes include comprehensive README and CONTRIBUTING documentation, minor code formatting improvements, and configuration updates to support the development workflow.
- Complete rewrite of README.md with detailed setup instructions, troubleshooting, and project structure
- Addition of comprehensive CONTRIBUTING.md file with development guidelines and environment setup
- Minor code formatting and comment corrections across several files
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Complete rewrite with comprehensive project documentation, setup instructions, and troubleshooting |
| CONTRIBUTING.md | New comprehensive contributing guide with development setup, coding standards, and workflow |
| src/db/index.ts | Added blank line for code formatting |
| src/components/ui/button.tsx | Fixed grammar in comment (didnt → didn't) |
| src/components/TRPCProvider.tsx | Typo in comment (simulator → simulatorn) |
| src/app/_layout.tsx | Added console.log for debugging Clerk key |
| app.json | Updated project configuration with new owner and project ID |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/db/index.ts (1)
7-7: Likely wrong drizzle init for neon-http.For drizzle-orm/neon-http the common signature is drizzle(sql), not drizzle({ client: sql }). Using the object form can fail at runtime.
Apply:
-export const db = drizzle({ client: sql }); +export const db = drizzle(sql);
🧹 Nitpick comments (7)
src/components/TRPCProvider.tsx (2)
27-27: Nit: fix comment typo.“iOS simulatorn” → “iOS simulator”.
- ? "http://localhost:8081" // iOS simulatorn + ? "http://localhost:8081" // iOS simulator
34-45: Place superjson transformer at client level (httpBatchLink ignores it).Move transformer to trpc.createClient; remove from httpBatchLink options to ensure proper (de)serialization.
- return trpc.createClient({ - links: [ - httpBatchLink({ - url: `${baseUrl}/api/trpc`, - transformer: superjson, + return trpc.createClient({ + transformer: superjson, + links: [ + httpBatchLink({ + url: `${baseUrl}/api/trpc`, async headers() { const token = await getToken(); return token ? { Authorization: `Bearer ${token}` } : {}; }, }), ], });README.md (2)
12-12: Nit: iOS capitalization.-- **Multi-platform support:** Use Finance-IO on Android, IOS, and web. +- **Multi-platform support:** Use Finance-IO on Android, iOS, and web.
99-99: Add language to fenced block (markdownlint MD040).-``` +```textsrc/app/_layout.tsx (1)
42-42: Avoid logging keys in release builds; gate under DEV.-console.log("Clerk publishable key: ", publishableKey); +if (__DEV__) console.log("Clerk publishable key:", publishableKey);CONTRIBUTING.md (2)
108-109: Fix broken paragraph/numbering.“locally.3.” indicates a missing newline; make “3. Environment Variables” a new step.
- > **Note:** The `drizzle/` directory is gitignored. Each team member should run `pnpm db:generate` to create their own database migration files locally.3. **Environment Variables** + > **Note:** The `drizzle/` directory is gitignored. Each team member should run `pnpm db:generate` to create their own database migration files locally. + +3. **Environment Variables**
143-145: Fix missing newline before “Available Scripts”.- - The connection string will look like: `postgresql://username:password@hostname/database?sslmode=require`### Available Scripts + - The connection string will look like: `postgresql://username:password@hostname/database?sslmode=require` + +### Available Scripts
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
.gitignore(1 hunks)CONTRIBUTING.md(1 hunks)README.md(1 hunks)app.json(2 hunks)src/app/_layout.tsx(1 hunks)src/components/TRPCProvider.tsx(1 hunks)src/components/ui/button.tsx(1 hunks)src/db/index.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
src/**/*.tsx
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
src/**/*.tsx: Use instead of from react-native in UI components
All styling should use TailwindCSS classes via NativeWind (avoid inline StyleSheet definitions)
Files:
src/components/TRPCProvider.tsxsrc/components/ui/button.tsxsrc/app/_layout.tsx
src/**/*.{ts,tsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Follow TypeScript strict mode requirements across the codebase
Files:
src/components/TRPCProvider.tsxsrc/db/index.tssrc/components/ui/button.tsxsrc/app/_layout.tsx
src/{server,db}/**/*.ts
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Database operations must use Drizzle ORM queries (no raw SQL/ad-hoc clients)
Files:
src/db/index.ts
src/app/**/*.tsx
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Use Expo Router file-based routing; screens and routes live under src/app/
Files:
src/app/_layout.tsx
src/app/_layout.tsx
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Keep the root layout and providers in src/app/_layout.tsx
Files:
src/app/_layout.tsx
🧠 Learnings (2)
📚 Learning: 2025-08-24T14:28:33.804Z
Learnt from: CR
PR: The-Creative-Programming-Group/finance-io#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-24T14:28:33.804Z
Learning: Applies to src/{server,db}/**/*.ts : Database operations must use Drizzle ORM queries (no raw SQL/ad-hoc clients)
Applied to files:
src/db/index.ts.gitignore
📚 Learning: 2025-08-24T14:28:33.804Z
Learnt from: CR
PR: The-Creative-Programming-Group/finance-io#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-24T14:28:33.804Z
Learning: Applies to .env.local : Create and maintain .env.local with required variables (EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY, DATABASE_URL, EXPO_PUBLIC_API_URL)
Applied to files:
src/app/_layout.tsx
🧬 Code graph analysis (1)
src/db/index.ts (1)
src/index.ts (1)
main(4-16)
🪛 GitHub Actions: Expo EAS Build
CONTRIBUTING.md
[warning] 1-1: Prettier formatting issues found in CONTRIBUTING.md. Run 'npx prettier --write' to fix.
app.json
[warning] 1-1: Prettier formatting issues found in app.json. Run 'npx prettier --write' to fix.
README.md
[warning] 1-1: Prettier formatting issues found in README.md. Run 'npx prettier --write' to fix.
🪛 markdownlint-cli2 (0.17.2)
README.md
99-99: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (5)
src/components/ui/button.tsx (1)
73-73: Comment typo fix — LGTM.src/db/index.ts (1)
1-8: Initialization signature correct. Usage ofdrizzle({ client: sql })aligns with official Neon + Drizzle examples for v0.43.x; no other object-styledrizzlecalls found (neon.tech, neon.com).gitignore (1)
47-51: IDE/project files ignore — LGTM.app.json (1)
1-74: Prettier formatting: Runnpx prettier --write app.json(after installing dependencies) to fix app.json formatting and satisfy CI.CONTRIBUTING.md (1)
1-312: Run project formatter via pnpm
Install dev dependencies (includingprettier-plugin-tailwindcss) and reformat the docs:pnpm install pnpm format
| # database migrations (team members should generate their own) | ||
| drizzle/ | ||
|
|
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.
🛠️ Refactor suggestion
Consider committing Drizzle migrations for reproducible deploys.
Ignoring the entire drizzle/ directory makes schema history ephemeral and can break CI/CD. Prefer committing SQL migrations (and the journal) while ignoring generated extras.
-# database migrations (team members should generate their own)
-drizzle/
+# Drizzle migrations (commit SQL + journal; ignore other artifacts)
+drizzle/*
+!drizzle/*.sql
+!drizzle/meta/
+drizzle/meta/*
+!drizzle/meta/_journal.jsonWould you like me to adjust CONTRIBUTING.md accordingly?
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # database migrations (team members should generate their own) | |
| drizzle/ | |
| # Drizzle migrations (commit SQL + journal; ignore other artifacts) | |
| drizzle/* | |
| !drizzle/*.sql | |
| !drizzle/meta/ | |
| drizzle/meta/* | |
| !drizzle/meta/_journal.json |
🤖 Prompt for AI Agents
In .gitignore around lines 39 to 41, the entire "drizzle/" directory is ignored
which prevents committing SQL migrations and the migration journal required for
reproducible deploys; remove or modify this rule so that checked-in migration
files and the journal (e.g., SQL migration files and the migrations/journal
file) are tracked while still ignoring only generated artifacts (update the
ignore pattern to exclude generated files but allow committed migrations),
commit the existing migration SQL and journal to the repo, and add a short note
to CONTRIBUTING.md describing the workflow for creating, committing, and testing
Drizzle migrations.
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.
Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!
README.md
Outdated
| <!-- Banner Image --> | ||
|
|
||
| This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). | ||
| # Finance-IO |
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.
💡 Verification agent
❓ Verification inconclusive
Fix formatting warnings.
Prettier flagged README.md; run formatter to keep CI green.
🏁 Script executed:
#!/bin/bash
set -euo pipefail
npx prettier --write README.md
npx markdownlint-cli2 --config .markdownlint.jsonc README.md || trueLength of output: 186
Install missing Prettier plugin
Prettier is erroring on the missing prettier-plugin-tailwindcss. Add it to devDependencies (e.g. pnpm add -D prettier-plugin-tailwindcss) or remove its reference from your Prettier config, then run the formatter (e.g. pnpm format:write or npx prettier --write README.md) to keep CI green.
🧰 Tools
🪛 GitHub Actions: Expo EAS Build
[warning] 1-1: Prettier formatting issues found in README.md. Run 'npx prettier --write' to fix.
🤖 Prompt for AI Agents
In README.md around lines 1 to 3, Prettier is failing due to a missing
prettier-plugin-tailwindcss; either add the plugin to devDependencies (e.g.,
pnpm add -D prettier-plugin-tailwindcss or npm/yarn equivalent) or remove its
reference from your Prettier config, then run the formatter (pnpm format:write
or npx prettier --write README.md) to update formatting and keep CI green.
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.
I dont think that is true. I think the plugin is already installed but proof me wrong.
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.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check if prettier-plugin-tailwindcss is in package.json dependencies
echo "=== Checking package.json for prettier-plugin-tailwindcss ==="
if [ -f "package.json" ]; then
cat package.json | jq -r '.dependencies, .devDependencies' | grep -i tailwind || echo "No tailwind-related dependencies found in package.json"
else
echo "package.json not found"
fi
echo ""
echo "=== Checking for Prettier configuration files ==="
# Check for Prettier config files
for config in .prettierrc .prettierrc.json .prettierrc.js .prettierrc.yml .prettierrc.yaml prettier.config.js prettier.config.mjs; do
if [ -f "$config" ]; then
echo "Found Prettier config: $config"
cat "$config"
echo ""
fi
done
# Check package.json for prettier config
if [ -f "package.json" ]; then
echo "=== Checking package.json for prettier config ==="
cat package.json | jq -r '.prettier // empty' 2>/dev/null || echo "No prettier config in package.json"
fi
echo ""
echo "=== Attempting to run Prettier on README.md ==="
# Try to run prettier to see the actual error
npx prettier --check README.md 2>&1 || echo "Prettier check completed with above output"
Length of output: 684
@FleetAdmiralJakob You're absolutely right, and I apologize for the incorrect assessment. The evidence shows that:
✅ prettier-plugin-tailwindcss is installed in devDependencies (version 0.6.11)
✅ .prettierrc correctly references the plugin
The actual issue is different: when running npx prettier directly, it uses a global Prettier version (3.6.2) that can't find the locally installed plugin in node_modules.
The solution is to use the project's package manager scripts instead:
pnpm format:write(if that script exists)- or
pnpm prettier --write README.md - or
yarn/npm run format(depending on your setup)
This will use the locally installed Prettier that can properly access the tailwindcss plugin. Thank you for challenging my initial analysis - you were correct that the plugin was already installed.
✏️ Learnings added
Learnt from: FleetAdmiralJakob
PR: The-Creative-Programming-Group/finance-io#45
File: README.md:1-0
Timestamp: 2025-09-21T09:54:31.778Z
Learning: When prettier-plugin-tailwindcss errors occur, check if the issue is using npx prettier (global) vs locally installed prettier via package manager scripts, even when the plugin is properly installed in devDependencies.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
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.
Actionable comments posted: 0
♻️ Duplicate comments (1)
README.md (1)
1-3: Fix Prettier/markdown formatting CI warning (plugin missing).Same as the earlier review: install
prettier-plugin-tailwindcssor remove its reference, then run the formatter.Commands:
- pnpm: pnpm add -D prettier prettier-plugin-tailwindcss && pnpm format:write
- npm: npm i -D prettier prettier-plugin-tailwindcss && npx prettier --write README.md
🧹 Nitpick comments (6)
README.md (3)
11-11: Typo fixes: “iOS” and “Tailwind CSS”.
- iOS is capitalized “iOS”, not “IOS”.
- Prefer “Tailwind CSS” spelling.
Apply:
- - **Multi-platform support:** Use Finance-IO on Android, IOS, and web. + - **Multi-platform support:** Use Finance-IO on Android, iOS, and web. - - **Fast and responsive:** Built with Expo, React Native, and TailwindCSS for a smooth experience. + - **Fast and responsive:** Built with Expo, React Native, and Tailwind CSS for a smooth experience.Also applies to: 19-19
54-58: List required env vars explicitly.Spell out which vars must be set so new contributors don’t guess.
### 3. Set Up Environment Variables - Copy `.env.example` to `.env.local`. -- Fill in the required values (see comments in `.env.example` for details). +- Fill in the required values (see comments in `.env.example` for details). Required: + - `EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY` (public; needed to boot auth flows) + - `DATABASE_URL` (for Drizzle) + - `EXPO_PUBLIC_API_URL` (client base URL)
112-127: Reconsider ignoring the entiredrizzle/directory.Migrations are typically committed; ignoring them breaks reproducible deploys/CI. If you only want to ignore generated artifacts, keep SQL migrations tracked and ignore local state.
- **drizzle/**: Database migrations. + - **drizzle/**: Database migrations. + - Note: Commit migration files so CI/prod can apply them. Consider ignoring local artifacts only (e.g., `drizzle/meta/*`, `*.sqlite`), not the whole folder.Suggested .gitignore patterns (repo root):
# Drizzle local artifacts (keep SQL migrations tracked) drizzle/meta/ *.sqliteapp.json (3)
60-63: Defaulting Clerk key to empty string: ensure guard at runtime.Empty string prevents type issues, but passing it into Clerk will throw. Ensure consumers check for truthy value before initializing.
Optional for clarity:
- "default": "", + "default": null,…and handle
nullaccordingly (e.g., show setup screen or no-op in dev).
64-64:extra.routeris empty.If unused, drop it to reduce noise or document intended keys (e.g.,
origin,unmatchedRoutes).
65-70: Owner and EAS project binding: verify account alignment and fork UX.Changing
ownerandeas.projectIdties builds/updates to that Expo account. Confirm this matches your org’s publishing model; forks may fail EAS flows.Suggestions:
- Keep
owneron the org account if that’s the shared publisher.- Document “how to build on a fork” (e.g., override via
EXPO_OWNERand per-developer EAS project).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
CONTRIBUTING.md(1 hunks)README.md(1 hunks)app.json(1 hunks)src/app/_layout.tsx(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
- src/app/_layout.tsx
- CONTRIBUTING.md
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-08-24T14:28:33.804Z
Learnt from: CR
PR: The-Creative-Programming-Group/finance-io#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-24T14:28:33.804Z
Learning: Applies to .env.local : Create and maintain .env.local with required variables (EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY, DATABASE_URL, EXPO_PUBLIC_API_URL)
Applied to files:
app.json
How to use the Graphite Merge QueueAdd the label merge-queue to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
| ### 1. Install Expo Go | ||
|
|
||
| - [development build](https://docs.expo.dev/develop/development-builds/introduction/) | ||
| - [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) | ||
| - [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) | ||
| - [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo | ||
| Download Expo Go from the [Google Play Store](https://play.google.com/store/apps/details?id=host.exp.exponent) or [Apple App Store](https://apps.apple.com/app/expo-go/id982107779). |
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.
We shouldn't embrace Expo Go anymore. I think everyone should use Expo Prebuild. Expo Go is only for sandboxing and quick testing not for production apps! 
https://docs.expo.dev/get-started/set-up-your-environment/
https://docs.expo.dev/workflow/overview/#expo-go-an-optional-tool-for-learning
|
Sorry, a lot of things happened within this week will resolve and republish the changes |
@Michael-cmd-sys Alright, thank you dude |
README.md
Outdated
|
|
||
| ## 🎨 Design & UI Resources | ||
|
|
||
| All UI development should follow the official Figma design for Finance-IO. |
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.
Change all to Finance.io
@Michael-cmd-sys Till when do you think you can resolve all of these comments? |
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.
Actionable comments posted: 4
🧹 Nitpick comments (1)
README.md (1)
98-113: Add a language hint to the project-structure code block.Markdownlint flagged this fence for missing a language. Adding something like
```textkeeps lint and formatting happy.-``` +```text src/ app/
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
README.md(1 hunks)package.json(2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-08-24T14:28:33.803Z
Learnt from: CR
PR: The-Creative-Programming-Group/finance-io#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-24T14:28:33.803Z
Learning: Always run pnpm format:write before committing and fix lint errors with pnpm lint
Applied to files:
README.md
📚 Learning: 2025-09-21T09:54:31.802Z
Learnt from: FleetAdmiralJakob
PR: The-Creative-Programming-Group/finance-io#45
File: README.md:1-0
Timestamp: 2025-09-21T09:54:31.802Z
Learning: When prettier-plugin-tailwindcss errors occur, check if the issue is using npx prettier (global) vs locally installed prettier via package manager scripts, even when the plugin is properly installed in devDependencies.
Applied to files:
README.md
📚 Learning: 2025-08-04T14:03:33.286Z
Learnt from: murtazanoori
PR: The-Creative-Programming-Group/finance-io#33
File: localization/en.json:33-33
Timestamp: 2025-08-04T14:03:33.286Z
Learning: In the Finance.io app localization files, references to "Weather.io" in descriptions are intentional as they are related apps from the same organization, and should not be flagged as incorrect app references.
Applied to files:
README.md
🪛 markdownlint-cli2 (0.18.1)
README.md
98-98: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🪛 GitHub Actions: Expo EAS Build
package.json
[error] 1-1: pnpm install --frozen-lockfile failed: lockfile is out of date. Specifiers in pnpm-lock.yaml do not match package.json; 1 dependencies were added: pnpm@^10.12.4. Run 'pnpm install' without --frozen-lockfile to update the lockfile.
🔇 Additional comments (1)
README.md (1)
37-78: Align install/start instructions with pnpm-only policy.Maintainers have already asked us to standardize on pnpm to avoid environment drift. Reintroducing npm/yarn flows here contradicts that guidance and will send newcomers down unsupported paths. Please update this section to reference pnpm only (e.g., note that pnpm is required, point to
pnpm install,pnpm start, etc.). Based on project guidance from FleetAdmiralJakob.
| "db:generate": "db:generate", | ||
| "db:push": "db:push", |
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.
Fix non-functional db scripts.
Running pnpm db:generate will recurse into itself because the script invokes a non-existent db:generate binary. The same applies to db:push. Please wire these scripts to the actual Drizzle CLI commands so the new onboarding flow works.
- "db:generate": "db:generate",
- "db:push": "db:push",
+ "db:generate": "drizzle-kit generate",
+ "db:push": "drizzle-kit push",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "db:generate": "db:generate", | |
| "db:push": "db:push", | |
| "db:generate": "drizzle-kit generate", | |
| "db:push": "drizzle-kit push", |
🤖 Prompt for AI Agents
In package.json around lines 14-15, the "db:generate" and "db:push" scripts
currently point to themselves causing recursion; update them to call the actual
Drizzle CLI binaries (e.g. "drizzle-kit generate" for schema generation and
"drizzle-kit push" for applying migrations) so they invoke the installed
drizzle-kit package instead of recursing; ensure any required flags or adapters
used in your project (like --config, --out, or adapter-specific subcommands) are
included as appropriate.
| "lucide-react": "^0.511.0", | ||
| "lucide-react-native": "^0.509.0", | ||
| "nativewind": "^4.1.23", | ||
| "pnpm": "^10.12.4", |
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.
Remove pnpm from runtime dependencies.
Adding the pnpm CLI to "dependencies" bloats the production bundle and isn’t needed at runtime. It’s already locked via the "packageManager" field. Please drop this entry (or move it to devDependencies only if you have a specific tooling use case).
- "pnpm": "^10.12.4",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "pnpm": "^10.12.4", |
🤖 Prompt for AI Agents
In package.json around line 62, the pnpm CLI is incorrectly listed in
"dependencies" which bloats runtime installs; remove the "pnpm" entry from
"dependencies" (or move it to "devDependencies" if you need it for local
tooling) and run npm/yarn/pnpm install to update lockfile and verify
packageManager still declares the pnpm version.
| ### 1. Install Expo Go | ||
|
|
||
| - [development build](https://docs.expo.dev/develop/development-builds/introduction/) | ||
| - [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) | ||
| - [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) | ||
| - [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo | ||
| Download Expo Go from the [Google Play Store](https://play.google.com/store/apps/details?id=host.exp.exponent) or [Apple App Store](https://apps.apple.com/app/expo-go/id982107779). | ||
|
|
||
| You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). | ||
| ### 2. Clone the Repository | ||
|
|
||
| ## Learn more | ||
| ```bash | ||
| git clone https://github.com/The-Creative-Programming-Group/finance-io.git | ||
| cd finance-io | ||
| ``` | ||
|
|
||
| To learn more about developing your project with Expo, look at the following resources: | ||
| #### Install dependencies | ||
|
|
||
| - [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). | ||
| - [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. | ||
| With **pnpm**: | ||
|
|
||
| ## Join the community | ||
| ```bash | ||
| pnpm install | ||
| ``` | ||
|
|
||
| Join our community of developers creating universal apps. | ||
| With **npm**: | ||
|
|
||
| - [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. | ||
| - [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. | ||
| ```bash | ||
| npm install | ||
| ``` | ||
|
|
||
| With **yarn**: | ||
|
|
||
| ```bash | ||
| yarn install | ||
| ``` | ||
|
|
||
| ### 3. Set Up Environment Variables | ||
|
|
||
| - Copy `.env.example` to `.env.local`. | ||
| - Fill in the required values (see comments in `.env.example` for details). | ||
|
|
||
| ### 4. Start the Development Server | ||
|
|
||
| With **pnpm**: | ||
|
|
||
| ```bash | ||
| pnpm start | ||
| ``` | ||
|
|
||
| With **npm**: | ||
|
|
||
| ```bash | ||
| npm start | ||
| ``` | ||
|
|
||
| With **yarn**: | ||
|
|
||
| ```bash | ||
| yarn start | ||
| ``` | ||
|
|
||
| - Scan the QR code with Expo Go to launch the app on your device. | ||
|
|
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.
Do not recommend Expo Go for this project.
Per the maintainers’ earlier feedback, Expo Go is limited to sandbox use and we now rely on Expo Prebuild/EAS for real development. Leading with “Install Expo Go” keeps onboarding out of sync with our actual workflow. Please replace this with guidance for the supported prebuild setup (link to the Expo docs the maintainer shared).
FedericoLeiva12
left a comment
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.
waiting for coderabbit comments to be solved before approving
@FedericoLeiva12 wdym by that? |

Work on README and contributing files as well as some minor changes to files to help the onboarding process a bit easier
Summary by CodeRabbit
Documentation
Chores