尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Real-estate underwriting and property operations for an owner-investor. Underwrite a deal, track it through the pipeline, run it once it is owned, and compare it with what was expected. Every number on screen is either a fact the owner stated or an assumption the owner can explain to a lender; the app never invents an input.
Live app: mathtree-app.web.app
Asset classes: single-family, multi-unit, commercial (gross and NNN), and storage.
React 18, Vite, TypeScript, Tailwind, Chart.js. Supabase (Postgres with row-level security, Deno edge functions). Firebase Hosting;
GitHub Actions build every pull request and deploy on merge to main.
npm install
npm run dev # local app
npx tsc --noEmit # type-check
npx vitest run <file> --reporter=dot # one test file at a time
The printed briefs have their own layout check. It prints the investor brief and the lender summary to real PDFs in headless Chromium (on the public sample deal, read-only) and fails if any page spills past a sheet or a sheet is nearly empty. It needs a Chromium once per machine:
npx playwright install chromium # one time
npm run test:brief # prints the PDFs to a temp folder (the path is shown) and checks them
Read ARCHITECTURE.md for how it fits together and AGENTS.md for how changes are made (branches and pull requests only, no
full-suite test runs, no plan documents in the repo).