Skip to content

docs(proposals): add Atlas Design System skill proposal - #14

Merged
ako merged 1 commit into
mainfrom
docs/atlas-design-proposal
Jul 24, 2026
Merged

docs(proposals): add Atlas Design System skill proposal#14
ako merged 1 commit into
mainfrom
docs/atlas-design-proposal

Conversation

@ako

@ako ako commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Lands the atlas-design proposal in docs/11-proposals/ — a taste + workflow skill layer that makes mxcli-generated Mendix apps look designed by default (the way artifact-design does for HTML and dataviz does for charts). Drafted from the Itinera / Atlas-MES build (test app ako/MxcliTest1).

What the proposal covers

  • Atlas-first method + a 4-layer architecture (Atlas classes → brand tokens → identity SCSS → mandatory runtime verify).
  • Recipe library strategy (fragments + .mdl fill-in today, migrating to parameterized fragments / use building block).
  • Standard-widget styling — a dataviz-grade chart theme (transparent Plotly customLayout + displayModeBar:false + per-type customSeriesOptions) and an optional dark-mode Atlas-widget override recipe.
  • A gotchas catalog and a consolidated "mxcli work required" table (P0/P1/P2).

It explicitly defers to the page-styling-support, proposal_page_composition, show-describe-building-blocks, and show-describe-page-templates proposals rather than duplicating them.

Corrections vs the original draft (verified against the codebase)

  • Chart authorability: all chart types — incl. Line/Bubble/Heatmap/TimeSeries — are MDL-authorable today (grammar keywords + check-suite examples in mdl-examples/doctype-tests/34-chart-widget-examples.mdl). The draft's "stick to the authorable four" was stale; corrected, and a P2 doc task added to fix the matching create-page.md note.
  • P0 warm-loop bugs marked done: the two P0 tooling bugs the draft listed (structural-change /dist/index.js 404; stray serve holding the port) are now fixed in PR fix(run): warm-loop reliability — re-serve client bundle on structural change + reap child process groups #13, so those rows are marked ✅.
  • Building-Blocks current-state table annotated with the actual file/symbol evidence.

Notes

  • Docs-only; regenerates the proposals README index (scripts/gen_proposals_readme.py), which now lists it as Proposed (84 active).
  • The remaining open items surfaced here — P1 CE0148 cross-module page grant, the Building-Blocks read/instantiate/author trio, and parameterized fragments — are tracked in the table for follow-up PRs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4


Generated by Claude Code

Land the atlas-design proposal — a taste + workflow skill layer that makes
mxcli-generated Mendix apps look designed by default (the Atlas-first method,
4-layer token architecture, recipe library, chart/dark-mode widget recipes, a
gotchas catalog, and a mandatory runtime-verify loop). It sits on top of the
page-styling, page-composition, building-blocks, and page-templates proposals
and consumes what they build rather than duplicating them.

Drafted from the Itinera / Atlas-MES build (test app ako/MxcliTest1). Two
corrections vs the original draft, verified against the codebase:
- all chart types (incl. Line/Bubble/Heatmap/TimeSeries) are MDL-authorable
  today; the "stick to the authorable four" note was stale.
- the two P0 warm-loop tooling bugs it listed are now fixed (PR #13), so those
  rows are marked done.

Regenerates the proposals README index.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
@ako
ako merged commit 60cd320 into main Jul 24, 2026
3 checks passed
ako pushed a commit that referenced this pull request Jul 29, 2026
…c sugar, ADD doc (FINDINGS #3/#5/#13/#14/#4)

Five surprising parser rejects / silent-wrong writes where quoting or a keyword
behaved inconsistently with the rest of MDL:

- #3 index name can't be quoted: indexDefinition accepted only IDENTIFIER for the
  name → `index "idx_x" (Col)` was a parse error. Accept QUOTED_IDENTIFIER too
  (the name is advisory and discarded, as before).
- #5 role-name quoting inconsistent: DESCRIBE USER ROLE required quotes, DROP USER
  ROLE rejected them. Both now accept bare and quoted names; visitors handle both.
- #13 `sort by` quoted attribute stored a nonsense reference: a quoted qualified
  attribute (`sort by "Mod"."Entity"."Code"`) kept the quotes and only failed on
  write ("attribute does not belong to entity"). buildSortColumnMicroflow now
  unquotes each segment (bare dotted form), matching the SORT() list-op path.
- #14 `DataSource: ASSOCIATION $currentObject/…` didn't parse (keyword + sugar were
  mutually exclusive). Added the combined grammar branch; the existing
  VARIABLE&&SLASH visitor branch already handles it correctly.
- #4 doc: MDL spec README showed `alter entity … add (Attr: type)`, which the
  parser rejects. Corrected to `add attribute Attr: type`.

Grammar regenerated (`make grammar`). Verified end to end: quoted index name,
quoted qualified sort stored as `M.Thing.Code`, describe/drop role in both forms,
and `ASSOCIATION $currentObject/…` all parse/store correctly. Tests added.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JXnEgoc2NQP1Y2TWMCMXC4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants