Skip to content

Commit f34b566

Browse files
committed
Launch the mdbase product and SDK site
0 parents  commit f34b566

55 files changed

Lines changed: 9290 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/ci.yml‎

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Site checks
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Check out website
15+
uses: actions/checkout@v4
16+
17+
- name: Check out specification
18+
uses: actions/checkout@v4
19+
with:
20+
repository: mdbase-dev/mdbase-spec
21+
ref: 6acdf889b28537546ac53e6a8c13d2dbd57d1a5f
22+
path: .sources/mdbase-spec
23+
24+
- name: Check out Connect
25+
uses: actions/checkout@v4
26+
with:
27+
repository: mdbase-dev/mdbase-connect
28+
ref: fec3e222cebb8f1711d3e6eb111ab8f225680006
29+
path: .sources/mdbase-connect
30+
31+
- name: Check out Rust implementation
32+
uses: actions/checkout@v4
33+
with:
34+
repository: callumalpass/mdbase-rs
35+
ref: fafea262cffbce1205563a580e4d5850e7e942b2
36+
path: .sources/mdbase-rs
37+
38+
- name: Check out TypeScript implementation
39+
uses: actions/checkout@v4
40+
with:
41+
repository: callumalpass/mdbase
42+
ref: 4f419e0f4454682d42e067749db1fd16d72d1eb9
43+
path: .sources/mdbase
44+
45+
- uses: pnpm/action-setup@v4
46+
with:
47+
version: 10
48+
49+
- uses: actions/setup-node@v4
50+
with:
51+
node-version: 22
52+
cache: pnpm
53+
54+
- name: Install website dependencies
55+
run: pnpm install --frozen-lockfile
56+
57+
- name: Build specification artifact
58+
working-directory: .sources/mdbase-spec/site
59+
run: npm ci && npm run build
60+
61+
- name: Synchronize schemas and conformance claims
62+
run: pnpm sync:sources
63+
env:
64+
MDBASE_SPEC_DIR: .sources/mdbase-spec
65+
MDBASE_CONNECT_DIR: .sources/mdbase-connect
66+
MDBASE_RS_DIR: .sources/mdbase-rs
67+
MDBASE_TS_DIR: .sources/mdbase
68+
69+
- name: Type and content checks
70+
run: pnpm check
71+
72+
- name: Build website
73+
run: pnpm build
74+
75+
- name: Import specification
76+
run: pnpm import:spec
77+
env:
78+
MDBASE_SPEC_DIR: .sources/mdbase-spec
79+
80+
- name: Check local links
81+
run: pnpm check:links

‎.github/workflows/deploy.yml‎

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: Deploy mdbase.dev
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: true
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Check out website
22+
uses: actions/checkout@v4
23+
24+
- name: Check out specification
25+
uses: actions/checkout@v4
26+
with:
27+
repository: mdbase-dev/mdbase-spec
28+
ref: 6acdf889b28537546ac53e6a8c13d2dbd57d1a5f
29+
path: .sources/mdbase-spec
30+
31+
- name: Check out Connect
32+
uses: actions/checkout@v4
33+
with:
34+
repository: mdbase-dev/mdbase-connect
35+
ref: fec3e222cebb8f1711d3e6eb111ab8f225680006
36+
path: .sources/mdbase-connect
37+
38+
- name: Check out Rust implementation
39+
uses: actions/checkout@v4
40+
with:
41+
repository: callumalpass/mdbase-rs
42+
ref: fafea262cffbce1205563a580e4d5850e7e942b2
43+
path: .sources/mdbase-rs
44+
45+
- name: Check out TypeScript implementation
46+
uses: actions/checkout@v4
47+
with:
48+
repository: callumalpass/mdbase
49+
ref: 4f419e0f4454682d42e067749db1fd16d72d1eb9
50+
path: .sources/mdbase
51+
52+
- uses: pnpm/action-setup@v4
53+
with:
54+
version: 10
55+
56+
- uses: actions/setup-node@v4
57+
with:
58+
node-version: 22
59+
cache: pnpm
60+
61+
- name: Install website dependencies
62+
run: pnpm install --frozen-lockfile
63+
64+
- name: Build specification artifact
65+
working-directory: .sources/mdbase-spec/site
66+
run: npm ci && npm run build
67+
68+
- name: Synchronize schemas and conformance claims
69+
run: pnpm sync:sources
70+
env:
71+
MDBASE_SPEC_DIR: .sources/mdbase-spec
72+
MDBASE_CONNECT_DIR: .sources/mdbase-connect
73+
MDBASE_RS_DIR: .sources/mdbase-rs
74+
MDBASE_TS_DIR: .sources/mdbase
75+
76+
- name: Check and build website
77+
run: pnpm check && pnpm build
78+
79+
- name: Import specification
80+
run: pnpm import:spec
81+
env:
82+
MDBASE_SPEC_DIR: .sources/mdbase-spec
83+
84+
- name: Check local links
85+
run: pnpm check:links
86+
87+
- uses: actions/configure-pages@v5
88+
89+
- uses: actions/upload-pages-artifact@v3
90+
with:
91+
path: dist
92+
93+
deploy:
94+
needs: build
95+
runs-on: ubuntu-latest
96+
environment:
97+
name: github-pages
98+
url: ${{ steps.deployment.outputs.page_url }}
99+
steps:
100+
- name: Deploy
101+
id: deployment
102+
uses: actions/deploy-pages@v4

‎.gitignore‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
node_modules/
2+
dist/
3+
.astro/
4+
.sources/
5+
.DS_Store
6+

‎DESIGN.md‎

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: mdbase.dev
3+
description: Product and developer-documentation system for the mdbase ecosystem.
4+
colors:
5+
canvas: "oklch(98.8% 0.004 250)"
6+
surface: "oklch(96.8% 0.008 250)"
7+
ink: "oklch(21% 0.018 255)"
8+
ink-soft: "oklch(39% 0.016 255)"
9+
line: "oklch(88% 0.012 250)"
10+
blue: "oklch(46% 0.12 238)"
11+
signal: "oklch(69% 0.15 142)"
12+
dark-colors:
13+
canvas: "oklch(17.5% 0.012 255)"
14+
surface: "oklch(21% 0.016 255)"
15+
ink: "oklch(93% 0.008 255)"
16+
ink-soft: "oklch(76% 0.012 255)"
17+
line: "oklch(31% 0.016 255)"
18+
blue: "oklch(74% 0.11 238)"
19+
signal: "oklch(76% 0.13 142)"
20+
typography:
21+
display: "Atkinson Hyperlegible"
22+
body: "Atkinson Hyperlegible"
23+
utility: "Azeret Mono"
24+
rounded:
25+
default: "4px"
26+
---
27+
28+
# Design System: mdbase.dev
29+
30+
## Direction
31+
32+
The site feels like an annotated folder on a clear desk. Real Markdown,
33+
manifests, permissions, and route labels carry the visual identity. The
34+
signature element is a live-looking but deterministic routing field: one
35+
collection boundary connected to several applications through an explicit
36+
Connect authorization gate.
37+
38+
The color strategy is restrained for documentation and committed in the
39+
landing hero. A cool blue field identifies Connect and a small green signal
40+
marks an active, authorized route. Surfaces use blue-tinted paper rather than
41+
pure white or black.
42+
43+
## Typography
44+
45+
Atkinson Hyperlegible is the reading and display face. Azeret Mono is reserved
46+
for file paths, package names, versions, operation names, and structural labels.
47+
Display headings use compact line-height and visible weight contrast. Prose
48+
stays within 72 characters.
49+
50+
## Layout
51+
52+
The landing page uses an asymmetric two-column opening, then alternates full
53+
width ruled sections with narrow reading measures. SDK pages use a persistent
54+
left index, a 72-character article column, and an optional right table of
55+
contents on wide screens. Mobile collapses navigation into native disclosure
56+
controls without hiding primary actions.
57+
58+
## Motion
59+
60+
Only the routing field moves, using slow opacity and transform changes that
61+
communicate an authorized request travelling between an app and its collection.
62+
All motion stops under reduced-motion preferences. Layout never animates.
63+

‎PRODUCT.md‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Product
2+
3+
## Register
4+
5+
brand
6+
7+
## Users
8+
9+
mdbase.dev serves two connected audiences. People evaluating mdbase need to
10+
understand why ordinary Markdown files can support several independent
11+
applications without surrendering control of their data. Application and tool
12+
developers need exact, runnable guidance for building on mdbase Connect,
13+
implementing the specification, and verifying conformance.
14+
15+
## Product Purpose
16+
17+
The site is the ecosystem gateway for mdbase, mdbase Connect, the specification,
18+
runtimes, SDKs, and conforming implementations. It should make the ownership
19+
model clear in one screen, then help a developer reach a working Connect
20+
integration without reconstructing the architecture from source repositories.
21+
22+
The normative specification remains independently versioned and is imported
23+
from a pinned mdbase-spec build. Conformance and implementation claims remain
24+
machine-readable and must not be inflated into marketing language.
25+
26+
## Brand Personality
27+
28+
Precise, grounded, and quietly optimistic. The site should feel like a durable
29+
technical standard with a useful product built around it. It is direct about
30+
trust boundaries, release status, and what remains on the user's computer.
31+
32+
## Anti-references
33+
34+
Avoid generic SaaS launch-page gloss, security theatre, terminal cosplay,
35+
oversized decorative metrics, mascot-led developer marketing, vague claims
36+
about data ownership, and repetitive card grids. Do not imply that Connect is
37+
the mdbase specification, that TaskNotes owns the ecosystem, or that hosted
38+
collections are zero-knowledge.
39+
40+
## Design Principles
41+
42+
- Show a real collection and its routes before making abstract claims.
43+
- Explain Connect in terms of user choices and exact application permissions.
44+
- Make the SDK quickstart runnable and keep advanced topics one link away.
45+
- Separate passive collection semantics, runtime contracts, workflow execution,
46+
and Connect hosting.
47+
- Publish exact profile claims with artifact versions and evidence dates.
48+
- Keep normative content sourced from mdbase-spec.
49+
50+
## Accessibility & Inclusion
51+
52+
Target WCAG 2.2 AA for contrast, keyboard navigation, focus visibility,
53+
semantic structure, and reduced motion. Long-form SDK and specification reading
54+
must remain comfortable on narrow screens and under light or dark system themes.
55+

‎README.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# mdbase.dev
2+
3+
Product website and developer documentation for mdbase, mdbase Connect, the
4+
runtime profiles, and conforming implementations.
5+
6+
## Local development
7+
8+
```sh
9+
pnpm install
10+
pnpm sync:sources
11+
pnpm dev
12+
```
13+
14+
The source synchronizer reads sibling checkouts of `mdbase-spec`,
15+
`mdbase-connect`, `mdbase-rs`, and `mdbase` by default. Override their paths with
16+
`MDBASE_SPEC_DIR`, `MDBASE_CONNECT_DIR`, `MDBASE_RS_DIR`, and
17+
`MDBASE_TS_DIR`.
18+
19+
## Production build
20+
21+
```sh
22+
pnpm sync:sources
23+
pnpm check
24+
pnpm build
25+
(cd ../mdbase-spec/site && npm ci && npm run build)
26+
pnpm import:spec
27+
pnpm check:links
28+
```
29+
30+
The website repository owns the ecosystem pages and deployment cadence. The
31+
normative specification is built by `mdbase-spec` and imported under `/spec/`.
32+
Connect schemas and implementation claims are synchronized from their canonical
33+
repositories rather than copied into prose by hand.
34+

‎astro.config.mjs‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { defineConfig } from "astro/config";
2+
import sitemap from "@astrojs/sitemap";
3+
4+
export default defineConfig({
5+
site: "https://mdbase.dev",
6+
trailingSlash: "always",
7+
integrations: [sitemap()],
8+
build: {
9+
format: "directory"
10+
}
11+
});
12+

‎package.json‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "mdbase.dev",
3+
"version": "0.1.0",
4+
"private": true,
5+
"type": "module",
6+
"scripts": {
7+
"dev": "astro dev",
8+
"build": "astro build",
9+
"check": "astro check",
10+
"preview": "astro preview",
11+
"sync:sources": "node scripts/sync-sources.mjs",
12+
"import:spec": "node scripts/import-spec.mjs",
13+
"check:links": "node scripts/check-links.mjs",
14+
"test": "pnpm check && pnpm build && pnpm import:spec && pnpm check:links"
15+
},
16+
"dependencies": {
17+
"@astrojs/sitemap": "^3.7.3",
18+
"@fontsource/atkinson-hyperlegible": "^5.3.0",
19+
"@fontsource/azeret-mono": "^5.3.0",
20+
"astro": "^7.1.3",
21+
"yaml": "^2.9.0"
22+
},
23+
"devDependencies": {
24+
"@astrojs/check": "^0.9.9",
25+
"typescript": "^6.0.3"
26+
}
27+
}

0 commit comments

Comments
 (0)