n8n/packages/cli
Bernhard Wittmann 6fbdfcecdd
feat(core): Add Apps — a top-level App/Page entity with a first UI
Day 1 scaffold for the Webpage Node / App-concept Hackweek project: a
project-scoped App entity and its Page tree, decoupled from the
workflow canvas, plus enough editor UI to build one end-to-end.

Backend (packages/cli/src/modules/apps, packages/@n8n/db migration):
- App entity (namespace, theme JSON) and Page entity, pages forming a
  tree via a self-referencing parentPageId. A page's route can be a
  static slug, a dynamic :param segment (e.g. :id), or empty (meaning
  it's the index/home page for its level).
- Business rules enforced server-side: a namespace is unique per
  project; a page's route is unique among its siblings; an index page
  (empty route) can't have children, since it contributes no path
  segment of its own and a child would collide with a sibling's URL.
- New app:* scopes, an appId branch in userHasScopes, an opt-in
  backend module (apps) enabled by default alongside data-table.

Frontend (packages/frontend/editor-ui/src/features/apps):
- Apps list, App detail (page tree), and Page detail views, reachable
  both from the project view and the home overview tab bar.
- Create App / Create Page via modals (matching Data Table's pattern),
  not inline forms.
- Page hierarchy shown as a flat card grid per level with drill-down
  navigation (mirrors n8n's own Folders feature) instead of a fully
  expanded indented tree.
- AppBreadcrumbs: App > ancestor pages > current page/app, each a link
  back up except the current one.
- The App's and each Page's full served URL shown as a copyable field,
  live as the route is edited.
- Delete (with confirmation) on Apps and Pages throughout.

Goal package: goals/webpage-node/ (facts.md, plan.md, plan-week.md).
2026-09-07 14:46:51 +02:00
..
bin
scripts feat(core): Add new agent slack integration (#35591) 2026-08-17 09:27:50 +00:00
src feat(core): Add Apps — a top-level App/Page entity with a first UI 2026-09-07 14:46:51 +02:00
templates fix(Chat Trigger Node): Fix singular copy on the connect bar (#37945) 2026-09-07 09:10:10 +00:00
test feat(core): Add Apps — a top-level App/Page entity with a first UI 2026-09-07 14:46:51 +02:00
AGENTS.md chore(core): Lock the @n8n/typeorm import ratchet and document the boundary (no-changelog) (#34370) 2026-07-21 08:26:21 +00:00
BREAKING-CHANGES.md
eslint.config.mjs refactor(core): Run MCP registry refresh as a system task (no-changelog) (#37546) 2026-09-04 14:03:50 +00:00
nodemon.json
package.json feat(core): Add OTLP gRPC protocol support for OpenTelemetry tracing (#37491) 2026-09-04 14:19:55 +00:00
tsconfig.build.json feat: Add @n8n/telemetry event registry with typed track() support (no-changelog) (#34662) 2026-07-23 16:09:54 +00:00
tsconfig.json feat: Add @n8n/telemetry event registry with typed track() support (no-changelog) (#34662) 2026-07-23 16:09:54 +00:00
vitest.config.base.ts feat: Add @n8n/telemetry event registry with typed track() support (no-changelog) (#34662) 2026-07-23 16:09:54 +00:00
vitest.config.integration.testcontainers.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.integration.ts refactor(core): Tidy agent-eval runner and rating-persistence internals (no-changelog) (#35424) 2026-08-04 10:42:20 +00:00
vitest.config.migration.testcontainers.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.migration.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
vitest.config.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
vitest.tsc-entity-transform.ts chore: Consolidate ts tooling catalog (#34310) 2026-07-16 10:10:12 +00:00
vitest.workspace-externals.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00