with one click
iptvnator-nx-architecture
// Repository-specific Nx monorepo structure, library placement rules, scoped path aliases, and migration guardrails for portal/workspace/app code.
// Repository-specific Nx monorepo structure, library placement rules, scoped path aliases, and migration guardrails for portal/workspace/app code.
Repository-specific guidance for Electron non-EPG SQLite worker boundaries, request-scoped DB progress events, and validation for slow DB operations.
Theme architecture, design tokens, shared SCSS library, portal header/sidebar patterns, Electron drag regions, and cross-portal style consistency.
Repository-specific UI design guidance for IPTVnator channel rows, EPG views, settings surfaces, shared selection styles, and light/dark theme consistency.
IPTVnator's Electron-first Xtream implementation, including feature/data-access boundaries, worker-backed DB flows, and Xtream loading/progress UX.
| name | iptvnator-nx-architecture |
| description | Repository-specific Nx monorepo structure, library placement rules, scoped path aliases, and migration guardrails for portal/workspace/app code. |
Use this skill when deciding where code belongs, extracting libraries, changing imports, editing project tags, or refactoring portal/workspace/app boundaries.
apps/web: Angular renderer application.apps/electron-backend: Electron main process and native/runtime integration.apps/*-e2e: Playwright E2E projects.apps/*-mock-server: local development and E2E mock servers.libs/playlist/*: M3U/import/shared playlist functionality.libs/portal/*: Xtream, Stalker, and provider-neutral portal functionality.libs/workspace/*: workspace shell and dashboard.libs/ui/*: provider-neutral UI, playback, EPG, remote control, and pipes.libs/shared/*: contracts, database, and pure utility code.tsconfig.base.json, for example @iptvnator/services and @iptvnator/shared/interfaces.services, components, or shared-interfaces.src/index.ts) over deep imports unless a sub-entrypoint is explicitly configured.apps/*; shared behavior belongs in a domain library.scope:*, domain:*, and type:* tags.type:feature for route/component orchestration, type:data-access for stores/API/persistence, type:ui for reusable components, and type:util for pure helpers/contracts.type:data-access from depending on type:feature or type:ui.@nx/enforce-module-boundaries constraints when introducing new tag families.pnpm nx show projects
pnpm nx lint <project>
pnpm nx test <project>
When dependencies are not installed in a fresh worktree, run pnpm install --frozen-lockfile first.