diff --git a/.dvmrc b/.dvmrc new file mode 100644 index 000000000..be1bd4184 --- /dev/null +++ b/.dvmrc @@ -0,0 +1 @@ +canary diff --git a/.github/actions/setup-deno-workspace/action.yml b/.github/actions/setup-deno-workspace/action.yml index 926a51153..5df4e2f51 100644 --- a/.github/actions/setup-deno-workspace/action.yml +++ b/.github/actions/setup-deno-workspace/action.yml @@ -6,12 +6,15 @@ runs: steps: - uses: denoland/setup-deno@v2 with: - deno-version: '2.8.3' + deno-version-file: .dvmrc - name: Cache dependencies uses: actions/cache@v4 with: path: node_modules key: ${{ runner.os }}-deno-${{ hashFiles('deno.lock') }} + - name: Generate UI manifest + shell: bash + run: deno run --allow-read --allow-write tools/generate-ui-manifest.ts - name: Install dependencies shell: bash run: deno install --node-modules-dir diff --git a/.github/workflows/autoflow-ci.yml b/.github/workflows/autoflow-ci.yml index 8a28f03c8..f9ed0b7f0 100644 --- a/.github/workflows/autoflow-ci.yml +++ b/.github/workflows/autoflow-ci.yml @@ -15,6 +15,6 @@ jobs: - uses: actions/checkout@v4 - uses: ./.github/actions/setup-deno-workspace - name: Install Playwright browsers - run: deno run -A npm:playwright@1.59.1 install --with-deps chromium + run: ./node_modules/.bin/playwright install --with-deps chromium - name: AutoFlow3 CI gate run: deno task autoflow:ci diff --git a/.github/workflows/autoflow-release.yml b/.github/workflows/autoflow-release.yml index bd9c52112..05283523e 100644 --- a/.github/workflows/autoflow-release.yml +++ b/.github/workflows/autoflow-release.yml @@ -43,7 +43,7 @@ jobs: node-version: '22' registry-url: 'https://registry.npmjs.org' - name: Install Playwright browsers - run: deno run -A npm:playwright@1.59.1 install --with-deps chromium + run: ./node_modules/.bin/playwright install --with-deps chromium - name: Configure Git run: | git config user.name "github-actions[bot]" diff --git a/.gitignore b/.gitignore index 9433e51c7..34c096dec 100644 --- a/.gitignore +++ b/.gitignore @@ -76,6 +76,7 @@ packages/*/*.tgz # Root-level logo source files (design originals, keep local) /open-logo*.svg /open-favicon.svg +/brand/exports/ www/dist/ dist/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1459f0283..e737ed67d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,14 +8,22 @@ release-document impact before it is merged. ## Development Setup +openElement is developed with Deno. The repository pins the Deno version in +`.dvmrc` so that local formatting, linting, and type-checking match CI. + ```bash git clone https://github.com/open-element/openelement.git cd openelement +# Install the Deno version listed in .dvmrc (e.g. via dvm, mise, or asdf) deno task dev deno task build deno task test ``` +Published packages are pure ESM and runtime-agnostic: consumers can run them +under Deno, Node, Bun, or edge runtimes. Deno is used only as the development, +build, and release toolchain. + ## Project Structure ```text diff --git a/brand/concepts/A_single_geometric_logo_mark_t_2026-06-26T16-24-51.png b/brand/concepts/A_single_geometric_logo_mark_t_2026-06-26T16-24-51.png new file mode 100644 index 000000000..712cf76da Binary files /dev/null and b/brand/concepts/A_single_geometric_logo_mark_t_2026-06-26T16-24-51.png differ diff --git a/brand/concepts/Abstract_minimalist_logo_mark__2026-06-26T16-26-13.png b/brand/concepts/Abstract_minimalist_logo_mark__2026-06-26T16-26-13.png new file mode 100644 index 000000000..b05ed5a45 Binary files /dev/null and b/brand/concepts/Abstract_minimalist_logo_mark__2026-06-26T16-26-13.png differ diff --git a/brand/concepts/Minimalist_logo_mark_for_an_op_2026-06-26T16-23-49.png b/brand/concepts/Minimalist_logo_mark_for_an_op_2026-06-26T16-23-49.png new file mode 100644 index 000000000..09d3d4d90 Binary files /dev/null and b/brand/concepts/Minimalist_logo_mark_for_an_op_2026-06-26T16-23-49.png differ diff --git a/brand/logo-horizontal.svg b/brand/logo-horizontal.svg new file mode 100644 index 000000000..1cf8f0d27 --- /dev/null +++ b/brand/logo-horizontal.svg @@ -0,0 +1,23 @@ + + diff --git a/brand/logo-mark-inverted.svg b/brand/logo-mark-inverted.svg new file mode 100644 index 000000000..e597756e1 --- /dev/null +++ b/brand/logo-mark-inverted.svg @@ -0,0 +1,10 @@ + + diff --git a/brand/logo-mark.svg b/brand/logo-mark.svg new file mode 100644 index 000000000..7082f2401 --- /dev/null +++ b/brand/logo-mark.svg @@ -0,0 +1,10 @@ + + diff --git a/brand/logo-vertical.svg b/brand/logo-vertical.svg new file mode 100644 index 000000000..4b11f495b --- /dev/null +++ b/brand/logo-vertical.svg @@ -0,0 +1,33 @@ + + diff --git a/brand/preview.html b/brand/preview.html new file mode 100644 index 000000000..6313fdf70 --- /dev/null +++ b/brand/preview.html @@ -0,0 +1,500 @@ + + +
+ + ++ Solid circle (R=50, center 64,64). Subtract an offset circle (R=44, center 78,50). The + result is a crescent — asymmetric, directional, alive. No letters, no decoration, one + geometric operation. +
+HORIZONTAL · 520 × 128
+INVERTED · DARK
+VERTICAL · LIGHT
+VERTICAL · INVERTED
+