AI Assessment
VERDICT
Based on automated scanner findings, this repository is not production-ready. The codebase shows significant code quality issues (394 findings), substantial duplication, high cyclomatic complexity in multiple files, and missing project governance files. Security and secrets scanning passed, but structural and maintainability concerns are substantial.
TOP RISKS
→ High cyclomatic complexity flagged in LifeOS/app/tasks/[id].tsx:213, LifeOS/app/(tabs)/tasks.tsx:189, and LifeOS/app/events/[id].tsx:116 — scanner detected anonymous functions with CCN 89, indicating complex logic that will be difficult to test and maintain.
→ Duplicated code block spanning 615 lines detected across app/tasks/[id].tsx:1, app/(tabs)/calendar.tsx:1, and design/navigation-ux-wireframes.md:2 — scanner reported 49.2% overall code duplication with 108 clones, which increases maintenance burden and bug risk.
→ Exhaustive Dependencies violations flagged 54 times — scanner detected missing or incomplete dependency arrays in effects/hooks that could cause stale closure bugs.
→ Restrictive license dependency: MPL-2.0 in lightningcss appears 24 times in LifeOS/package-lock.json — scanner flagged potential licensing compatibility issues with existing license terms.
→ Missing project governance files: No README, LICENSE, SECURITY.md, or CODEOWNERS detected — scanner flagged absence of critical documentation and ownership structure.
WHAT TO FIX FIRST
The 615-line code duplication between app/tasks/[id].tsx and app/(tabs)/calendar.tsx should be refactored first. This single issue contributes to the 49.2% duplication rate and will yield the largest quality improvement with consolidation.
Category Breakdown
Findings(449 in 22 groups)
Tip: 339 low-severity findings are style suggestions, not security risks.
This function is extremely complex (complexity score: 89). It likely has hidden bugs that are hard to find, and AI coding tools will struggle to modify it correctly.
In LifeOS/app/tasks/[id].tsx at line 213, there's a function with cyclomatic complexity of 89 (should be under 15). Break it down: 1. Identify the different things this function does (each if/else branch, each loop) 2. Extract each logical step into its own smaller function with a clear name 3. The main function should read like a high-level description of the process 4. Each new function should do ONE thing and be easy to understand on its own 5. Aim for functions with complexity under 10
The same code is copied in multiple places. If there's a bug in one copy, all the other copies still have it. This makes fixing bugs much harder.
In app/tasks/[id].tsx at line 1, duplicated code was detected. Refactor it: 1. Identify the repeated code block 2. Extract it into a shared function with a descriptive name 3. Replace all multiple copies with calls to the new function 4. If the copies differ slightly, add parameters to the function to handle the differences 5. Make sure all existing behavior is preserved after the refactor
The same code is copied in 108 places. If there's a bug in one copy, all the other copies still have it. This makes fixing bugs much harder.
In your project, duplicated code was detected. Refactor it: 1. Identify the repeated code block 2. Extract it into a shared function with a descriptive name 3. Replace all 108 copies with calls to the new function 4. If the copies differ slightly, add parameters to the function to handle the differences 5. Make sure all existing behavior is preserved after the refactor
A code quality issue was found. It may not be a security risk, but fixing it makes your code more reliable and easier to work with.
In your project, there's a code quality issue: "Use Exhaustive Dependencies". Please review and fix this according to best practices. The linter rule lint/correctness/useExhaustiveDependencies this as a problem — look up the rule for guidance on the correct fix.
A dependency (lightningcss-darwin-x64) uses a license with partial copyleft obligations. You may need to disclose modifications or include license notices.
The dependency lightningcss-darwin-x64 in package-lock.json uses a restrictive license. Fix it: 1. Check if you actually need this package — can you remove it? 2. Look for an alternative package with a permissive license (MIT, Apache-2.0, BSD) 3. Search npmjs.com or libraries.io for replacements with the same functionality 4. If you must keep it, consult a lawyer about your obligations under its license
A code quality issue was found. It may not be a security risk, but fixing it makes your code more reliable and easier to work with.
In your project, there's a code quality issue: "No Array Index Key". Please review and fix this according to best practices. The linter rule lint/suspicious/noArrayIndexKey this as a problem — look up the rule for guidance on the correct fix.
Your project has no README file. People (and AI tools) can't understand what your app does, how to set it up, or how to use it.
Create a README.md file in your project root with: 1. Project name and a one-line description of what it does 2. How to install/set up the project (prerequisites, npm install, env vars) 3. How to run it (dev server, build, test commands) 4. Brief explanation of the tech stack 5. Keep it simple — a good README is better than a perfect one you never write
Your project has no license file. Without one, nobody can legally use, modify, or contribute to your code — even if it's public on GitHub.
Add a LICENSE file to your project root: 1. For open source: create a file called LICENSE and paste the MIT License text (most popular for open source) 2. For private/commercial: add a LICENSE file stating "All rights reserved" and your copyright 3. Choose a license at https://choosealicense.com if you're unsure 4. Add the license type to your package.json: "license": "MIT"
Your app has no automated tests. You won't know if a code change breaks something until real users complain. This is the #1 reason apps break after updates.
Your project has no test files. Add basic tests: 1. Install a test framework: npm install -D vitest (or jest) 2. Create a __tests__ folder or add .test.ts files next to your source files 3. Start by writing tests for your most important functions — the ones that handle money, auth, or user data 4. Add a "test" script to your package.json: "test": "vitest" 5. Run tests with: npm test
A code quality issue was found. It may not be a security risk, but fixing it makes your code more reliable and easier to work with.
In your project, there's a code quality issue: "Format". Please review and fix this according to best practices. The linter rule format this as a problem — look up the rule for guidance on the correct fix.
Share your ShipScanner
Show the world your code quality. Your report has a beautiful preview image built in.
Embed Trust Badge
Show your code quality score in your README. The badge updates automatically every time you re-scan.
[](https://shipscanner.dev/report/cmn2dxewt0001jl04gjp3x5kt)