Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions apps/jumentix-website/app/docs/[[...mdxPath]]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,31 @@ const legacyAliases: Record<string, string[]> = {
'runtime-contracts': ['reference', 'runtime-contracts'],
};

/**
* Maintainer design records that were published under /docs/jumentix/reference
* until JUM-895. They stay in documentation/md for contributors; their old URLs
* resolve to the Service Manager guide, the developer-facing replacement
* (Requirement 093 rule 7).
*/
const retiredReferencePages = new Set([
'service-management-module-architecture',
'service-management-contract-parity',
'service-management-operations-console',
'service-management-cana-adoption',
'service-management-design-system-pwa',
'service-management-collaboration-packaging'
]);

function retiredReferenceTarget(segments: string[]): string[] | undefined {
const [reference, slug] = segments.slice(-2);
if (reference !== 'reference' || !retiredReferencePages.has(slug)) return undefined;
return [...segments.slice(0, -2), 'guides', 'service-management'];
}

function getCandidates(mdxPath: MdxPath): string[][] {
const normalized = Array.isArray(mdxPath) ? mdxPath.filter(Boolean) : [];
const retiredTarget = retiredReferenceTarget(normalized);
if (retiredTarget) return getCandidates(retiredTarget);

if (normalized.length === 0) {
return [['jumentix']];
Expand Down
60 changes: 0 additions & 60 deletions apps/jumentix-website/config/content-sources.json
Original file line number Diff line number Diff line change
Expand Up @@ -530,66 +530,6 @@
"source": "../../documentation/md/DOMAIN-DESIGNER-FEATURES-AND-USAGE.md",
"sourcePtBr": "../../documentation/md/DOMAIN-DESIGNER-FEATURES-AND-USAGE.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-module-architecture",
"title": "Service Management Module Architecture",
"titlePtBr": "Arquitetura de Módulos do Service Management",
"description": "Module boundaries and the IDesignerStore port contract behind the designer.",
"descriptionPtBr": "Fronteiras de módulo e o contrato da porta IDesignerStore por trás do designer.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-MODULE-ARCHITECTURE.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-MODULE-ARCHITECTURE.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-contract-parity",
"title": "Service Management Contract Parity",
"titlePtBr": "Paridade de Contrato do Service Management",
"description": "What each export guarantees: OAS 3.1, AsyncAPI, proto, codegen bundle and round-trip fidelity.",
"descriptionPtBr": "O que cada exportação garante: OAS 3.1, AsyncAPI, proto, bundle de codegen e fidelidade de ida e volta.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-CONTRACT-PARITY.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-CONTRACT-PARITY.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-operations-console",
"title": "Service Management Operations Console",
"titlePtBr": "Console de Operações do Service Management",
"description": "The capabilities matrix, PM2 ecosystem preview and the deploy-target metadata contract.",
"descriptionPtBr": "A matriz de capacidades, o preview do ecossistema PM2 e o contrato de metadados dos alvos de deploy.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-OPERATIONS-CONSOLE.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-OPERATIONS-CONSOLE.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-cana-adoption",
"title": "Service Management Cana Adoption",
"titlePtBr": "Adoção do Cana no Service Management",
"description": "The single-store decision, the one-way migration and the offline state matrix.",
"descriptionPtBr": "A decisão de store único, a migração unidirecional e a matriz de estados offline.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-CANA-ADOPTION.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-CANA-ADOPTION.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-design-system-pwa",
"title": "Service Management Design System and PWA",
"titlePtBr": "Design System e PWA do Service Management",
"description": "Design tokens, the accessibility model, and installing, updating and recovering the app shell.",
"descriptionPtBr": "Tokens de design, o modelo de acessibilidade e como instalar, atualizar e recuperar o app shell.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-DESIGN-SYSTEM-PWA.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-DESIGN-SYSTEM-PWA.pt-BR.md"
},
{
"section": "reference",
"slug": "service-management-collaboration-packaging",
"title": "Service Management Collaboration and Packaging",
"titlePtBr": "Colaboração e Empacotamento do Service Management",
"description": "The shared catalog, domain-package versioning and the designer-core packaging boundary.",
"descriptionPtBr": "O catálogo compartilhado, o versionamento de pacotes de domínio e a fronteira de empacotamento do designer-core.",
"source": "../../documentation/md/SERVICE-MANAGEMENT-COLLABORATION-PACKAGING.md",
"sourcePtBr": "../../documentation/md/SERVICE-MANAGEMENT-COLLABORATION-PACKAGING.pt-BR.md"
},
{
"section": "reference",
"slug": "frontend-offline-data-layer",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ Jumentix delivers a practical architecture baseline for production software:
- HTTP/REST adapters for multiple Node.js frameworks
- Realtime adapters for WebSocket and gRPC
- Function-oriented runtime paths for cloud providers
- GUI inbound slot at `apps/backend-template/src/interface/GUI/` for future web (SPA/PWA/React/Vue/…) and desktop (Electron/GTK/…) clients — structure only today; GUIs drive the core and must not own domain rules

See the interactive map on the commercial site: [/architecture](/architecture).

## Data and Integration Options

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ the environment files the backend boots from.
flowchart TB
subgraph browser["Browser · http://127.0.0.1:3200"]
direction LR
DD["Tab 1 · Domain Designer<br/>domains, entities, relationships,<br/>RBAC, contracts, exports"]
CID["Tab 2 · Communication Interface Designer<br/>inbound adapters"]
SC["Tab 3 · Service Configuration<br/>runtime profile, PM2 preview, env keys"]
DM["Tab 4 · Deploy Management<br/>deployment targets"]
ARCH["Tab · Architecture<br/>Core service, domain services, links"]
DD["Tab · Domain Designer<br/>domains, entities, relationships,<br/>RBAC, contracts, exports"]
CID["Tab · Communication Interface Designer<br/>inbound adapters"]
SC["Tab · Service Configuration<br/>runtime profile, PM2 preview, env keys"]
DM["Tab · Deploy Management<br/>deployment targets"]
OAS["Tab · OpenAPI<br/>Swagger UI + service selector"]
end

CANA[("Cana · IndexedDB<br/>the only designer store")]
Expand Down Expand Up @@ -234,6 +236,10 @@ A complete first round trip:
`domain-designer-oas-3.1.json`.
4. Delete the sample domain and model your own.

## 5.1 Architecture and OpenAPI tabs

Architecture starts as one Core service (Users + every other domain). Split with Add Service, assign domains, draw links. OpenAPI renders the generated OAS in Swagger UI; pick a service to filter operations and Try it out against that address.

## 6. Domain Designer

### 6.1 Canvas and navigation
Expand Down Expand Up @@ -357,7 +363,7 @@ schema refs, add external `$ref` targets and set a discriminator property, then

Where these land in the exported documents — and the exact fidelity guarantees
of each crossing — is owned by
[Contract Parity Guarantees](/docs/jumentix/reference/service-management-contract-parity).
Contract Parity Guarantees.

### 6.6 Validation, the export gate and schema diff

Expand Down Expand Up @@ -414,7 +420,7 @@ first. Import targets are `Import JSON`, `Import OAS 3.1` and
`Import Package`; each failure reason maps to one explicit status message.

Domain-package versioning, dependency graphs and conflict policy are owned by
[Collaboration and Packaging](/docs/jumentix/reference/service-management-collaboration-packaging).
Collaboration and Packaging.

## 7. Communication Interface Designer

Expand Down Expand Up @@ -452,7 +458,7 @@ re-pick them each time.

`Save Profile` validates before it writes: ports outside range, ports colliding
across the protocols the selected service kind actually binds, and run-mode ×
provider combinations with no deploy target in the Requirement `059` matrix are
provider combinations with no deploy target in the deploy matrix are
refused with the reason on the status surface.

### 8.2 PM2 ecosystem preview
Expand All @@ -467,7 +473,7 @@ or a silently empty list.
### 8.3 Runtime environment variables

The editor exposes runtime keys in two tiers. The write allowlist is a security
decision, pinned by Requirement `126`:
decision:

| Tier | Keys |
| --- | --- |
Expand Down Expand Up @@ -550,7 +556,7 @@ runtime version. PM2-managed targets also take a PM2 profile.

![Deploy Management with an EC2 target and a Cloudflare Workers target registered](/docs-assets/documentation/images/service-manager/08-deploy-management.png "Deploy Management")

The form validates against the Requirement `059` deploy matrix and explains
The form validates against the deploy matrix and explains
every refusal:

| Target type | Service types it can run | PM2 profile | Region means |
Expand All @@ -563,7 +569,7 @@ a bare runtime name is refused. Targets can be edited in place and duplicated;
`Cancel` leaves an edit without applying it.

The matrix, the metadata contract and the lifecycle rules are owned by
[Operations Console](/docs/jumentix/reference/service-management-operations-console).
Operations Console.

## 10. Where your work is stored

Expand Down Expand Up @@ -598,9 +604,9 @@ Export a JSON model before any risky change: that file is the only portable
backup.

Storage states, the one-way migration and the offline matrix are owned by
[Cana Adoption, Migration and Offline Behaviour](/docs/jumentix/reference/service-management-cana-adoption).
Cana Adoption, Migration and Offline Behaviour.
The install, update and recovery flows are owned by
[Design System and PWA Shell](/docs/jumentix/reference/service-management-design-system-pwa).
Design System and PWA Shell.

## 11. From the model to a running service

Expand Down Expand Up @@ -715,11 +721,11 @@ adapters, the deploy-target lifecycle and catalog sync.

- [Runtime Environment Contracts](/docs/jumentix/reference/service-management-runtime-environment)
- [Domain Designer Features and Usage](/docs/jumentix/reference/domain-designer-features)
- [Module Architecture and the IDesignerStore Port](/docs/jumentix/reference/service-management-module-architecture)
- [Contract Parity Guarantees](/docs/jumentix/reference/service-management-contract-parity)
- [Operations Console](/docs/jumentix/reference/service-management-operations-console)
- [Cana Adoption, Migration and Offline Behaviour](/docs/jumentix/reference/service-management-cana-adoption)
- [Design System and PWA Shell](/docs/jumentix/reference/service-management-design-system-pwa)
- [Collaboration and Packaging](/docs/jumentix/reference/service-management-collaboration-packaging)
- Module Architecture and the IDesignerStore Port
- Contract Parity Guarantees
- Operations Console
- Cana Adoption, Migration and Offline Behaviour
- Design System and PWA Shell
- Collaboration and Packaging
- [Creating SPA/PWA with Jumentix](/docs/jumentix/guides/spa-pwa)
- [Creating a REST API with Jumentix](/docs/jumentix/guides/rest-api)
4 changes: 3 additions & 1 deletion apps/jumentix-website/content/jumentix/guides/spa-pwa.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,9 @@ npx @jumentix/cli-init init my-spa \

Use `--mode=frontend` when you only need the client. The generator writes
`apps/frontend` with merged OAS, one module per domain, and optional Cana via
`--offline`. See [Getting started](/docs/jumentix/concepts/getting-started).
`--offline`. See [Getting started](/docs/jumentix/concepts/getting-started) and
repository docs `BOOTSTRAP-CLI-SCAFFOLDING.md` /
`JUMENTIX-SERVICE-FACTORY-CAPABILITIES-MATRIX.md`.

**Success check:** `my-spa/.jumentix/project.json` exists and `apps/frontend` is present.

Expand Down
1 change: 1 addition & 0 deletions apps/jumentix-website/content/jumentix/packages/_meta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export default {
'runtime-infra': '@jumentix/runtime-infra',
'cana-react': '@jumentix/cana-react',
'cana-vue': '@jumentix/cana-vue',
'dead-letter-queue': '@jumentix/dead-letter-queue',
cana: '@jumentix/cana',
'designer-core': '@jumentix/designer-core',
'key-value-storage': '@jumentix/key-value-storage',
Expand Down
Loading
Loading