feat(miner-ui): scaffold apps/gittensory-miner-ui/ dashboard shell (#4303) - #4571
feat(miner-ui): scaffold apps/gittensory-miner-ui/ dashboard shell (#4303)#4571joaovictor91123 wants to merge 1 commit into
Conversation
…SONbored#4303) Empty routing/layout shell only -- no data views yet, those are separate Phase 6 issues (JSONbored#4305 run-history table, JSONbored#4306 portfolio/queue cards). Mirrors apps/gittensory-ui's stack (React 19, TanStack Router, Vite, Tailwind v4, matching ESLint/Prettier conventions) but deliberately drops two things gittensory-ui carries that don't fit a miner-local dashboard: the Cloudflare Worker deploy target and the @lovable.dev/vite-tanstack-config dependency. This app has no server/SSR entry at all -- plain client-side TanStack Router, not TanStack Start -- consistent with packages/gittensory-miner/DEPLOYMENT.md's 100%-client-side, no-phone-home invariant. Documented as an explicit decision in the README per the issue's request.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4571 +/- ##
=======================================
Coverage 94.10% 94.10%
=======================================
Files 427 427
Lines 38022 38022
Branches 13877 13877
=======================================
Hits 35779 35779
Misses 1586 1586
Partials 657 657 🚀 New features to boost your workflow:
|
|
Caution 🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥 🛑 Gittensory review result - reject/close recommendedReview updated: 2026-07-10 04:49:41 UTC
🛑 Suggested Action - Reject/Close
Review summary Nits — 5 non-blocking
Why this is blocked
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
|
Gittensory is closing this pull request on the maintainer's behalf (Linked issue overlaps another open PR; duplicate of another open PR). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |

Summary
apps/gittensory-miner-ui/: a routing/layout shell only, no data views yet -- the run-history table (feat(miner-ui): add read-only run-history table view #4305) and portfolio/queue summary cards (feat(miner-ui): add portfolio/queue summary cards view #4306) are separate, dependent follow-up issues.apps/gittensory-ui's stack where practical: React 19,@tanstack/react-router, Vite, Tailwind v4, matching ESLint/Prettier conventions (eslint.config.js,.prettierrc) and per-app script naming (dev/build/typecheck/lint/test/format).gittensory-uicarries that don't fit a miner-local dashboard, flagged as a decision inapps/gittensory-miner-ui/README.mdper the issue's request:wrangler) -- this is a local dev server / static build the CLI can serve, never a hosted deploy.@lovable.dev/vite-tanstack-configdependency -- this app has no server/SSR entry at all, so it uses plain@tanstack/react-router(not TanStack Start) with a standardvite.config.ts.packages/gittensory-miner/DEPLOYMENT.mdstates the miner is "100% client-side for core operation -- the miner never uploads source and never requires a hosted Gittensory callback to boot." A dashboard reading only a miner's own local SQLite state should keep that same posture.package.json's"workspaces": ["apps/*", "packages/*"]) auto-discovers the new package -- no extra registration needed.Test plan
npm --workspace @jsonbored/gittensory-miner-ui run typecheck-- clean.npm --workspace @jsonbored/gittensory-miner-ui run lint-- 0 errors (2 pre-existingreact-refresh/only-export-componentswarnings inherent to TanStack Router's file-based route convention, same patternapps/gittensory-ui's own route files hit).npm --workspace @jsonbored/gittensory-miner-ui run test-- 1/1 passing (renders the root layout + the index route's placeholder shell via a realRouterProvidermount).npm --workspace @jsonbored/gittensory-miner-ui run build-- clean static build,dist/output verified locally.npm run typecheck(root) -- clean; the new app'stsconfig.jsonis self-contained likegittensory-ui's, so it doesn't affect the root project.npm run docs:drift-check/npm run manifest:drift-check-- clean.test:cipipeline'sui:*steps (those are hardcoded to--workspace @jsonbored/gittensory-ui). The issue's deliverables ask only that the scripts exist matching the per-app convention, not for root CI wiring -- calling this out explicitly rather than overclaiming integration.npm run test:coveragelocally (shared/resource-contended machine); this app's source is outsidevitest.config.ts'scoverage.includescope entirely (same aspackages/gittensory-miner/packages/gittensory-mcp), so it carries no Codecov patch-coverage risk.Fixes #4303.