shamscorner/vitesse-stackter-clean-architect
42.9
Weak · 21 September 2026
975
lines of production code
TypeScript
with JavaScript
4
measurements over time
What this system is
This system is a Vue 3 application that provides a user onboarding flow for collecting profile information and a subscription management interface for selecting and confirming plans. It leverages Tailwind CSS for styling and Apollo GraphQL for data fetching, with state managed via Pinia. The architecture is organized into common modules for shared logic and UI components, supported by a comprehensive testing suite using Vitest and Cypress.
Features
Add Apollo GraphQL client configuration
A new Apollo Client instance is now available in the common module, configured with an InMemoryCache and an HTTP link pointing to the SpaceX GraphQL API. This provides a ready-to-use GraphQL client for data fetching and caching across the application.
src/common · high confidence
Add order selection and confirmation flow
Users can now select a subscription plan (weekly, monthly, or annual) on the orders page and proceed to a confirmation page that displays the chosen plan details. This introduces a new state management layer (Pinia store) to persist the selected plan across the selection and confirmation views.
src/orders · high confidence
Add user home page for collecting name and email
A new home page for the users module has been added at src/users/pages/users/home.vue. This page presents a form where users can enter their name and email address. Upon submission, the entered data is saved to the user store, and the user is redirected to an order page. This change introduces a new entry point in the application flow for user onboarding or profile setup.
src/users/pages · high confidence
Auto-imports and component type definitions added; legacy pages removed
The project now includes auto-generated type definitions for Vue and VueUse composables (src/auto-imports.d.ts) and auto-imported component types (src/components.d.ts), enabling IDE support for these utilities. A new example GraphQL query hook (src/common/services/useExample.query.ts) and a type declaration for GraphQL files (src/graphql.d.ts) have been added. Additionally, the legacy index, about, and hi pages have been removed, and the main app and entry point have been updated to support the new module loading and Apollo client integration.
src · high confidence
Introduced new shared UI components and reorganized component directory
Added new reusable UI components (VButton, VButtonText, VDescription, VInput, VTitleLg) to the common components directory, providing standardized styling and functionality for buttons, inputs, and text elements. Moved the Footer component from src/components to src/common/components, updating its imports to use the new composables path and adjusting class names. Updated the README to reflect the new plugin (unplugin-vue-components) and directory structure.
src/common/components · high confidence
Migrate to Tailwind CSS and add GraphQL support
The project replaces Windi CSS with Tailwind CSS V3, updating the configuration and related plugins. It also introduces Apollo GraphQL integration with a new \apollo.config.js\ file and associated dependencies. Additionally, the build and deployment configuration is updated to use Node 16, and development tooling is expanded with Vitest for unit testing and Cypress for E2E testing.
(repo-wide) · high confidence
Behavioural changes
Dark mode logic moved to common composables with new preference export
The dark mode implementation has been relocated from the 'logic' folder to 'common/composables', making the dark mode state and toggle functions available as shared composables. Additionally, the module now exports 'preferredDark' to expose the user's system dark mode preference, allowing components to react to the user's OS-level dark mode setting.
src/common/composables · medium confidence
Layout components migrated to common directory and standardized
The 404, default, and home layout components have been moved from the root layouts directory to src/common/layouts. Within these components, the lowercase \<router-view\> tag has been replaced with the PascalCase \<RouterView\> component, and extraneous debug text divs have been removed from the default and home layouts.
src/common/layouts · medium confidence
Migrated to Tailwind CSS v3 and updated global styles
The global stylesheet has been refactored to use Tailwind CSS v3 directives (@tailwind) and @layer utilities, replacing the previous standalone CSS rules. This change includes adding focus and active states to link buttons (.btn-text, .icon-btn) and ensuring images in markdown content are responsive (width: 100%).
src/common/styles · medium confidence
Restructure modules into common directory and refine module behavior
The module files (i18n, nprogress, pinia, pwa, and README) have been moved from src/modules/ to src/common/modules/. Within these modules, imports are now explicitly typed using 'import type' to satisfy linting rules. The nprogress module now only displays the progress bar when the route path actually changes, preventing unnecessary UI updates on identical routes. The i18n module updates the glob pattern to correctly load locale files from the new directory structure. The pinia module updates its documentation link.
src/common/modules · high confidence
Restructured file-based routing and added demo pages
The application's page structure has been reorganized to support a modular, clean architecture. The root-level \src/pages\ directory has been moved to \src/common/pages\, centralizing global settings and components. New demo pages have been added, including an \about.md\ page and an \index.vue\ page that showcases Tailwind CSS typography, internationalization, and an Apollo GraphQL query example. A catch-all \\[...all\].vue\ route has also been relocated to the new structure.
src/common/pages · high confidence
User store tracks email history alongside name
The user store now maintains a history of previous email addresses in addition to names. Users can update their current email via a new setNewEmail method, and the store exposes the current email and a list of previous emails for reference.
src/users/stores · high confidence
Fixes
Fix SSG generation for Apollo Client packages
A new script, scripts/patch.ts, has been added to patch the package.json files for @vue/apollo-composable, @apollo/client/core, and @apollo/client. This patch adds explicit exports and side-effect configurations to these dependencies, which resolves the SSG (static site generation) issue previously reported with Apollo Client.
scripts · medium confidence
Test coverage
Add unit tests for the Counter component; Added initial Cypress end-to-end test suite.
Dependencies
Update project dependencies and tooling
The project's dependencies have been updated, including upgrading Vite to version 3.2.2 and TypeScript to 4.8.4. New packages added include Apollo Client for GraphQL integration, Vitest and Cypress for testing, and Tailwind CSS v3.2.2. Several older plugins and dependencies have been removed or replaced, such as Windi CSS, @vue/compiler-sfc, and @vue/server-renderer. The package manager has been updated to pnpm 7.14.2, and the lockfile format has been upgraded to 5.4.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 46 → 43 (-3.2)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 66 → 68 (+2.3)
- Architecture 69 → 69 (+0.0)
- Maturity 49 → 41 (-7.7)
- Readiness 37 → 33 (-3.3)
- Security 61 → 79 (+18.1)
- Accessibility 50 → 50 (+0.0)
Resolved (71)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 51 more
New (100)
- Coverage not measured — JavaScript/TypeScript suite
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Critical CVE: [GHSA redacted] (pnpm-lock.yaml)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (the committed lockfile resolved no direct production dependency)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- High CVE: [GHSA redacted] (pnpm-lock.yaml)
- …and 80 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
shamscorner/vitesse-stackter-clean-architect was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8ed515f68092e3f71d02546d74c8ce53d1bc89ad — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.