diff --git a/.changeset/config.json b/.changeset/config.json
index 14a4764..ee41aa8 100644
--- a/.changeset/config.json
+++ b/.changeset/config.json
@@ -3,10 +3,10 @@
"changelog": false,
"commit": false,
"fixed": [
- ["@devslab-kr/dds-tokens", "@devslab-kr/dds-css", "@devslab-kr/dds-icons", "@devslab-kr/dds-solid", "@devslab-kr/site-kit"]
+ ["@devslab/dds-tokens", "@devslab/dds-css", "@devslab/dds-icons", "@devslab/dds-solid", "@devslab/site-kit"]
],
"linked": [],
- "access": "restricted",
+ "access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["@devslab/compatibility-canary"]
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1a5934a..559fa38 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,4 @@
-name: Release restricted packages
+name: Release public packages
on:
push:
@@ -7,7 +7,7 @@ on:
permissions:
contents: read
- packages: write
+ id-token: write
jobs:
publish:
@@ -18,8 +18,8 @@ jobs:
- uses: actions/setup-node@v7
with:
node-version: 24
- registry-url: https://npm.pkg.github.com
- scope: "@devslab-kr"
+ registry-url: https://registry.npmjs.org
+ scope: "@devslab"
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm exec playwright install --with-deps chromium
@@ -38,17 +38,5 @@ jobs:
- run: pnpm run verify:site-kit:release
- run: pnpm release
env:
- NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Check package visibility
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- shell: bash
- run: |
- packages=(dds-tokens dds-css dds-icons dds-solid site-kit)
- for package in "${packages[@]}"; do
- visibility="$(gh api "orgs/devslab-kr/packages/npm/${package}" --jq '.visibility')"
- if [[ "${visibility}" != "internal" ]]; then
- echo "::warning title=Package visibility::@devslab-kr/${package} is ${visibility}; change it to Internal in package settings."
- echo "- [ ] Set \`@devslab-kr/${package}\` visibility to **Internal**: https://github.com/orgs/devslab-kr/packages/npm/${package}/settings" >> "$GITHUB_STEP_SUMMARY"
- fi
- done
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+ NPM_CONFIG_PROVENANCE: true
diff --git a/.npmrc.example b/.npmrc.example
index b9d99b5..71b9bac 100644
--- a/.npmrc.example
+++ b/.npmrc.example
@@ -1,2 +1 @@
-@devslab-kr:registry=https://npm.pkg.github.com
-//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
+@devslab:registry=https://registry.npmjs.org
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6ee9f10
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,74 @@
+DevsLab Source-Available License 1.0
+
+Copyright (c) 2026 DevsLab. All rights reserved.
+
+This license governs the DDS software, design tokens, components, icons,
+documentation, and other materials distributed with this license (the
+"Software").
+
+1. Permitted use
+
+Subject to this license, DevsLab grants you a limited, worldwide,
+non-exclusive, non-transferable, revocable, royalty-free right to:
+
+- download and install unmodified copies of the Software;
+- use and execute the Software for internal or commercial applications;
+- compile, minify, tree-shake, and bundle unmodified Software solely as a
+ technical part of building an application; and
+- distribute the resulting object code only as an inseparable part of that
+ application and not as a standalone library, design system, component kit,
+ template, or asset collection.
+
+Normal application configuration through documented public APIs, design-token
+overrides, CSS custom properties, and component properties is permitted and is
+not considered modification of the Software.
+
+2. Restrictions
+
+Except where applicable law does not allow the restriction, you may not:
+
+- modify, adapt, translate, reverse engineer, or create derivative works of the
+ Software itself;
+- publish, republish, sublicense, sell, rent, host, or redistribute the
+ Software or any modified version as a standalone package or downloadable
+ collection;
+- use the Software or a substantial portion of it to create or operate a
+ competing general-purpose design system, UI kit, component library, icon
+ library, token library, template marketplace, or hosted equivalent;
+- remove or alter copyright, license, attribution, or provenance notices; or
+- use DevsLab names, logos, product marks, or trade dress except to make a
+ truthful statement that an application uses the Software.
+
+No patent, trademark, design, or branding rights are granted except the
+copyright permissions stated in Section 1.
+
+3. Ownership and feedback
+
+The Software is licensed, not sold. DevsLab and its licensors retain all
+right, title, and interest in the Software. You grant DevsLab a perpetual,
+worldwide, irrevocable, royalty-free right to use feedback you voluntarily
+provide about the Software.
+
+4. Termination
+
+This license terminates automatically if you breach it. Upon termination, you
+must stop using and distributing the Software and delete all copies under your
+control. Sections 2, 3, 5, and 6 survive termination.
+
+5. Disclaimer and limitation of liability
+
+THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE, TITLE, AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY LAW,
+DEVSLAB WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
+CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF DATA, PROFITS,
+REVENUE, OR BUSINESS, ARISING FROM OR RELATED TO THE SOFTWARE.
+
+6. Governing law
+
+This license is governed by the laws of the Republic of Korea, excluding
+conflict-of-law rules. The Seoul Central District Court has exclusive
+jurisdiction over disputes arising from this license.
+
+This is a source-available license, not an open-source license approved by the
+Open Source Initiative.
diff --git a/README.ko.md b/README.ko.md
index 395584d..440c9a5 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -3,10 +3,8 @@
๐ [English](README.md)
๋ฐ๋ธ์ค๋ฉ ์ ํ๊ตฐ (devslab.kr, Linq ํจ๋ฐ๋ฆฌ, ์ดํ์ ์ฑ๋ค) ์ ์ํ ๋์์ธ ์ธ์ด โ
-์น๊ณผ ๋ชจ๋ฐ์ผ์ด ๊ณต์ ํ๋ ํ๋์ ํ ํฐยท๊ท์น ์ธํธ.
-๊ตฌ์กฐ๋ [ํ ์ค ๋์์ธ ์์คํ
(TDS)](https://tossmini-docs.toss.im/tds-react-native/)
-๋ฅผ ์ฐธ์กฐ ๋ชจ๋ธ๋ก ํ๋ ํ๋ ์์ํฌ ์ค๋ฆฝ์ ์ด๋ค: ์ฝ์ด๋ ํ ํฐ + CSS ์ด๊ณ
-React ยท Vue ยท Ionic ยท React Native ๋ ์๋น์๋ค.
+์น๊ณผ ๋ชจ๋ฐ์ผ์ด ๊ณต์ ํ๋ ํ๋ ์์ํฌ ์ค๋ฆฝ์ ํ ํฐยท์ปดํฌ๋ํธยท๊ท์น ์ธํธ๋ค.
+์ฝ์ด๋ ํ ํฐ + CSS ์ด๊ณ React ยท Vue ยท Ionic ยท React Native ๋ ์๋น์๋ค.
## ๊ตฌ์ฑ
@@ -15,11 +13,11 @@ React ยท Vue ยท Ionic ยท React Native ๋ ์๋น์๋ค.
| [`docs/design-system.ko.md`](docs/design-system.ko.md) | ๊ท์น ๋ช
์ธ (v0): ์์น, ์ํคํ
์ฒ, ํ์ด๋ฐ์ด์
, ์ปดํฌ๋ํธ ๊ณ์ฝ, ๊ฑฐ๋ฒ๋์ค |
| [`docs/decisions.md`](docs/decisions.md) | ๊ฒฐ์ ๋ก๊ทธ โ ํ์ด๋ฐ์ด์
ยท์ํคํ
์ฒ ๊ฒฐ์ ๊ณผ ๊ทผ๊ฑฐ |
| [`tokens/`](tokens/) | ๋์์ธ ํ ํฐ ์์ค ([W3C ํฌ๋งท](https://design-tokens.github.io/community-group/format/)): ์์ ํ๋ ํธ, ๋ผ์ดํธ/๋คํฌ ์๋งจํฑ ๋งคํ, ํ์ดํฌยท๊ฐ๊ฒฉยท๋ผ์ด๋ยท๊ทธ๋ฆผ์ยท๋ชจ์
|
-| [`packages/dds-tokens/`](packages/dds-tokens/) | `@devslab-kr/dds-tokens` โ ํ ํฐ ๋น๋ ํ์ดํ๋ผ์ธ: `tokens.css`, Tailwind v4 `@theme` + v3 preset, `tokens.ts` (RNยท๋ฐํ์), `ionic.css` |
-| [`packages/dds-css/`](packages/dds-css/) | `@devslab-kr/dds-css` โ CSS ์ปดํฌ๋ํธ ๋ ์ด์ด, ์คํ ยง4.3 v1 ์ธ๋ฒคํ ๋ฆฌ (Button, IconButton, TextField, Textarea, Select, Checkbox/Radio, Switch, Badge, Chip, Avatar, Spinner/Skeleton, Divider, Card, ListRow, Tabs, Dialog, Toast, Tooltip, EmptyState); ๊ฐ์ด๋๋ [`docs/components.ko.md`](docs/components.ko.md) |
-| [`packages/dds-icons/`](packages/dds-icons/) | `@devslab-kr/dds-icons` โ ์์ด์ฝ ์ธํธ: ์ฝ์ด 40์ข
(24 ๊ทธ๋ฆฌ๋ยท1.6 ์คํธ๋กํฌ) + devslab.kr `site-` 7์ข
. SVG ํ์ผยท์คํ๋ผ์ดํธยทpath ๋ฐ์ดํฐ ๋งต 3ํํ ์ถํ |
-| [`packages/dds-solid/`](packages/dds-solid/) | `@devslab-kr/dds-solid` โ controlled/uncontrolled ์ํ, SSRยทhydration, ํค๋ณด๋, ํฌ์ปค์ค, ์๋ช
์ฃผ๊ธฐ ๊ณ์ฝ์ ๊ฐ์ถ SolidJS ์ ๊ทผ์ฑ primitive |
-| [`packages/site-kit/`](packages/site-kit/) | `@devslab-kr/site-kit` โ ์๊ฒฉํ 14๊ฐ ๋ก์ผ์ผ i18n, SEO/GEO ์์ฑ๊ธฐ, TanStack Start ๋ฉํ๋ฐ์ดํฐ ์ด๋ํฐ, ์ ๊ทผ ๊ฐ๋ฅํ SolidJS ๊ณตํต ์
ธ์ ๋ด์ restricted ๋ด๋ถ์ฉ ๊ณต๊ฐ ์ฌ์ดํธ ์ธํ๋ผ |
+| [`packages/dds-tokens/`](packages/dds-tokens/) | `@devslab/dds-tokens` โ ํ ํฐ ๋น๋ ํ์ดํ๋ผ์ธ: `tokens.css`, Tailwind v4 `@theme` + v3 preset, `tokens.ts` (RNยท๋ฐํ์), `ionic.css` |
+| [`packages/dds-css/`](packages/dds-css/) | `@devslab/dds-css` โ CSS ์ปดํฌ๋ํธ ๋ ์ด์ด, ์คํ ยง4.3 v1 ์ธ๋ฒคํ ๋ฆฌ (Button, IconButton, TextField, Textarea, Select, Checkbox/Radio, Switch, Badge, Chip, Avatar, Spinner/Skeleton, Divider, Card, ListRow, Tabs, Dialog, Toast, Tooltip, EmptyState); ๊ฐ์ด๋๋ [`docs/components.ko.md`](docs/components.ko.md) |
+| [`packages/dds-icons/`](packages/dds-icons/) | `@devslab/dds-icons` โ ์์ด์ฝ ์ธํธ: ์ฝ์ด 40์ข
(24 ๊ทธ๋ฆฌ๋ยท1.6 ์คํธ๋กํฌ) + devslab.kr `site-` 7์ข
. SVG ํ์ผยท์คํ๋ผ์ดํธยทpath ๋ฐ์ดํฐ ๋งต 3ํํ ์ถํ |
+| [`packages/dds-solid/`](packages/dds-solid/) | `@devslab/dds-solid` โ controlled/uncontrolled ์ํ, SSRยทhydration, ํค๋ณด๋, ํฌ์ปค์ค, ์๋ช
์ฃผ๊ธฐ ๊ณ์ฝ์ ๊ฐ์ถ SolidJS ์ ๊ทผ์ฑ primitive |
+| [`packages/site-kit/`](packages/site-kit/) | `@devslab/site-kit` โ ์๊ฒฉํ 14๊ฐ ๋ก์ผ์ผ i18n, SEO/GEO ์์ฑ๊ธฐ, TanStack Start ๋ฉํ๋ฐ์ดํฐ ์ด๋ํฐ, ์ ๊ทผ ๊ฐ๋ฅํ SolidJS ๊ณตํต ์
ธ์ ๋ด์ ๊ณต๊ฐ ์ ํ ์ฌ์ดํธ ์ธํ๋ผ |
| [`preview/index.html`](preview/index.html) | ํ์ด๋ฐ์ด์
ยท์ปดํฌ๋ํธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (๋จ์ผ ํ์ผ, ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์ด๋ฆผ โ `components.html`, `icons.html`๋ ํจ๊ป) |
| [`brand/index.html`](brand/index.html) | ๋ธ๋๋ ์์ด๋ดํฐํฐ ๊ฐ์ด๋: ๋ก๊ณ ๊ท์ , Electric Cyan, ๋ชจํฐํ, ๋ณด์ด์ค & ํค |
@@ -39,7 +37,7 @@ pnpm ์ํฌ์คํ์ด์ค. `pnpm install` ํ:
- `pnpm verify` โ ๋น๋ + ํ ํฐ ๊ฒ์ฆ + ๋ฌธ์ยทpreviewโํ ํฐ ๋ถ์ผ์น ๊ฒ์ฌ (CI์ ๋์ผ)
- `pnpm storybook` โ ์ปดํฌ๋ํธยทํ์ด๋ฐ์ด์
์คํ ๋ฆฌ (:6006, ํด๋ฐ์์ ํ
๋ง ์ ํ);
์ ์ ์ฌ์ดํธ๋ `pnpm build-storybook` (CI์์๋ ๋น๋ ๊ฒ์ฆ)
-- `pnpm verify:names` โ ๋น๊ณต๊ฐ `@devslab-kr/*` ์ค์ฝํ์์ ๋ฒ์ด๋ ํจํค์ง๋ช
์ ๊ฑฐ๋ถ
+- `pnpm verify:names` โ ํจํค์ง๋ช
ยท๋ผ์ด์ ์คยท๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ์ค์ ๋๋ฆฌํํธ๋ฅผ ๊ฑฐ๋ถ
- `pnpm verify:foundation` โ ์ฝ์ด ๊ฒ์ฌ์ Storybook ๋น๋, CJKยทRTLยทํค๋ณด๋,
200% ํ๋, ๊ณ ๋๋น ๋ชจ๋, ๋ชจ์
๊ฐ์, ํฐ์น ํ๊น, axe ๋ธ๋ผ์ฐ์ ๊ฒ์ฌ
- `pnpm verify:release` โ ํจํค์ง๋ฅผ ์ค์ ๋ก ๋ฌถ์ด ์์ ์ ๊ท ์๋น์์์ ๋ถ๋ฌ์ค๊ณ
@@ -50,20 +48,18 @@ pnpm ์ํฌ์คํ์ด์ค. `pnpm install` ํ:
`verify:site-kit:release` โ ์ ํํ ๋ก์ผ์ผยท์นดํ๋ก๊ทธ ๊ณ์ฝ, ๊ณตํต UI ๋์,
๋ค๊ตญ์ด ๊ฒ์ ๋ฌธ์, ํจํค์งยท์ ๊ท ์๋น์ยทpublish dry-run ๊ฒ์ดํธ
-๋ค์ฏ internal ํจํค์ง๋ restricted์ด๋ฉฐ Changesets์ lockstep ๊ทธ๋ฃน์ผ๋ก ๋ฆด๋ฆฌ์คํ๋ค. ๋ฐฉํฅ์ฑ
+๋ค์ฏ ๊ณต๊ฐ ํจํค์ง๋ Changesets์ lockstep ๊ทธ๋ฃน์ผ๋ก ๋ฆด๋ฆฌ์คํ๋ค. ๋ฐฉํฅ์ฑ
์์ด์ฝ์๋ `dds-icon--directional`์ ์ฌ์ฉํ๋ฉฐ mirror/์ ์ง ๋ชฉ๋ก์
-`@devslab-kr/dds-icons/direction-policy.json`์ผ๋ก ํจ๊ป ๋ฐฐํฌํ๋ค.
+`@devslab/dds-icons/direction-policy.json`์ผ๋ก ํจ๊ป ๋ฐฐํฌํ๋ค.
-JavaScript ํจํค์ง ์ด๋ฆ์ ์กฐ์ง ๊ณตํต ๊ท์น์ ๋ฐ๋ฅธ๋ค. ๊ณต๊ฐ ํจํค์ง๋ npmjs์
-`@devslab/*`, restricted ๋ด๋ถ ํจํค์ง๋ GitHub Packages์ `@devslab-kr/*`๋ฅผ
-์ฌ์ฉํ๋ค. ๋ก์ปฌ ์ค์น๋ `.npmrc.example`์ ๋ณต์ฌํ๊ณ `read:packages` ๊ถํ์
-GitHub ํ ํฐ์ ์ ๊ณตํ๋ค. ๋ฆด๋ฆฌ์ค ์ํฌํ๋ก๋ ์ ์ฅ์ `GITHUB_TOKEN`์ ์ฌ์ฉํ๋ฉฐ,
-์ต์ด ๋ฐฐํฌ ํ GitHub ์ค์ ์์ ํจํค์ง ๊ฐ์์ฑ์ Private์์ Internal๋ก ๋ฐ๊พผ๋ค.
+๋ฐฐํฌ ๊ฐ๋ฅํ DDS ํจํค์ง๋ ๋ชจ๋ ๊ณต๊ฐ npm์ `@devslab/*`๋ฅผ ์ฌ์ฉํ๋ฉฐ DevsLab
+Source-Available License 1.0์ ๋ฐ๋ฅธ๋ค. compatibility canary๋ ๋น๊ณต๊ฐยท๋ฏธ๋ฐฐํฌ๋ก
+์ ์งํ๋ค. ๋ฆด๋ฆฌ์ค๋ npm provenance์ ์ ์ฅ์ `NPM_TOKEN` ์ํฌ๋ฆฟ์ ์ฌ์ฉํ๋ค.
## ๋ก๋๋งต
์ฐ์ ์์๋ [`docs/backlog.md`](docs/backlog.md)์. ํจํค์ง๋ ์๋น์๊ฐ ์๊ธธ
๋๋ง ๋ง๋ ๋ค (๋ช
์ธ ยง8):
-`@devslab-kr/dds-tokens` (โ
2026-08-13) โ `dds-css` v1 ์ธ๋ฒคํ ๋ฆฌ (Core 6์ข
โ
2026-08-13, +13์ข
โ
2026-08-15) โ
+`@devslab/dds-tokens` (โ
2026-08-13) โ `dds-css` v1 ์ธ๋ฒคํ ๋ฆฌ (Core 6์ข
โ
2026-08-13, +13์ข
โ
2026-08-15) โ
AskLinq ์ ์ฉ โ `dds-icons` (โ
2026-08-15) โ `dds-solid` + `site-kit` โ ๋ชจ๋ฐ์ผ ๋ฐฉํฅ์ ๋ฐ๋ผ `dds-native` (RN) ๋๋ Ionic
ํ
๋ง ๋งคํ.
diff --git a/README.md b/README.md
index 25bc9b5..b939c2f 100644
--- a/README.md
+++ b/README.md
@@ -3,9 +3,8 @@
๐ [ํ๊ตญ์ด](README.ko.md)
The design language for DevsLab products (devslab.kr, the Linq family, and
-future apps): one set of tokens and rules shared by web and mobile.
-Structurally modeled on [Toss Design System (TDS)](https://tossmini-docs.toss.im/tds-react-native/),
-but framework-neutral โ the core is tokens + CSS; React, Vue, Ionic, and
+future apps): one framework-neutral set of tokens, components, and rules
+shared by web and mobile. The core is tokens + CSS; React, Vue, Ionic, and
React Native are consumers.
## What's here
@@ -15,11 +14,11 @@ React Native are consumers.
| [`docs/design-system.md`](docs/design-system.md) | The rules spec (v0): principles, architecture, foundations, component contract, governance |
| [`docs/decisions.md`](docs/decisions.md) | Decision log โ foundation/architecture decisions with rationale |
| [`tokens/`](tokens/) | Design token source ([W3C format](https://design-tokens.github.io/community-group/format/)): raw palette, light/dark semantic mappings, typography/spacing/radius/elevation/motion |
-| [`packages/dds-tokens/`](packages/dds-tokens/) | `@devslab-kr/dds-tokens` โ token build pipeline: `tokens.css`, Tailwind v4 `@theme` + v3 preset, `tokens.ts` (RN/runtime), `ionic.css` |
-| [`packages/dds-css/`](packages/dds-css/) | `@devslab-kr/dds-css` โ CSS component layer, the spec ยง4.3 v1 inventory (Button, IconButton, TextField, Textarea, Select, Checkbox/Radio, Switch, Badge, Chip, Avatar, Spinner/Skeleton, Divider, Card, ListRow, Tabs, Dialog, Toast, Tooltip, EmptyState); guide in [`docs/components.md`](docs/components.md) |
-| [`packages/dds-icons/`](packages/dds-icons/) | `@devslab-kr/dds-icons` โ the icon set: 40 core (24 grid, 1.6 stroke) + 7 devslab.kr `site-` icons, shipped as SVG files, a sprite and a path-data map |
-| [`packages/dds-solid/`](packages/dds-solid/) | `@devslab-kr/dds-solid` โ SolidJS accessible primitives with controlled/uncontrolled state, SSR/hydration, keyboard, focus, and lifecycle contracts |
-| [`packages/site-kit/`](packages/site-kit/) | `@devslab-kr/site-kit` โ restricted internal infrastructure for public sites: strict 14-locale i18n, SEO/GEO builders, TanStack Start metadata adapter, and accessible SolidJS shared shells |
+| [`packages/dds-tokens/`](packages/dds-tokens/) | `@devslab/dds-tokens` โ token build pipeline: `tokens.css`, Tailwind v4 `@theme` + v3 preset, `tokens.ts` (RN/runtime), `ionic.css` |
+| [`packages/dds-css/`](packages/dds-css/) | `@devslab/dds-css` โ CSS component layer, the spec ยง4.3 v1 inventory (Button, IconButton, TextField, Textarea, Select, Checkbox/Radio, Switch, Badge, Chip, Avatar, Spinner/Skeleton, Divider, Card, ListRow, Tabs, Dialog, Toast, Tooltip, EmptyState); guide in [`docs/components.md`](docs/components.md) |
+| [`packages/dds-icons/`](packages/dds-icons/) | `@devslab/dds-icons` โ the icon set: 40 core (24 grid, 1.6 stroke) + 7 devslab.kr `site-` icons, shipped as SVG files, a sprite and a path-data map |
+| [`packages/dds-solid/`](packages/dds-solid/) | `@devslab/dds-solid` โ SolidJS accessible primitives with controlled/uncontrolled state, SSR/hydration, keyboard, focus, and lifecycle contracts |
+| [`packages/site-kit/`](packages/site-kit/) | `@devslab/site-kit` โ public infrastructure for product sites: strict 14-locale i18n, SEO/GEO builders, TanStack Start metadata adapter, and accessible SolidJS shared shells |
| [`preview/index.html`](preview/index.html) | Self-contained foundations & components preview โ open in a browser (`components.html`, `icons.html` alongside) |
| [`brand/index.html`](brand/index.html) | Brand identity guide: logo rules, Electric Cyan, motifs, voice & tone |
@@ -40,7 +39,7 @@ pnpm workspace. `pnpm install`, then:
(what CI runs)
- `pnpm storybook` โ component/foundation stories at :6006 (theme switch in
the toolbar); `pnpm build-storybook` for the static site (also CI-checked)
-- `pnpm verify:names` โ reject package-name drift from the private `@devslab-kr/*` scope
+- `pnpm verify:names` โ reject package-name, license, or public-registry drift
- `pnpm verify:foundation` โ core checks, Storybook build, CJK/RTL/keyboard,
200% zoom, forced-colors, reduced-motion, touch-target, and axe browser checks
- `pnpm verify:release` โ build artifacts are packed, exercised from a fresh
@@ -51,20 +50,18 @@ pnpm workspace. `pnpm install`, then:
`verify:site-kit:release` โ exact locale/catalog contracts, shared UI behavior,
localized discovery documents, pack, fresh-consumer and publish dry-run gates
-The five restricted internal packages release in lockstep through Changesets. Directional
+The five public packages release in lockstep through Changesets. Directional
icons use `dds-icon--directional`; the authoritative mirror/keep lists ship as
-`@devslab-kr/dds-icons/direction-policy.json`.
+`@devslab/dds-icons/direction-policy.json`.
-JavaScript package naming follows one organization-wide rule: public packages use
-`@devslab/*` on npmjs, while restricted internal packages use `@devslab-kr/*` on
-GitHub Packages. Copy `.npmrc.example` and provide a GitHub token with `read:packages`
-for local installation. Release workflows use the repository `GITHUB_TOKEN`; after a
-first publish, package visibility is changed from Private to Internal in GitHub settings.
+All distributable DDS packages use `@devslab/*` on the public npm registry under the
+DevsLab Source-Available License 1.0. The compatibility canary remains private and
+unpublished. Releases use npm provenance and the repository `NPM_TOKEN` secret.
## Roadmap
Priorities live in [`docs/backlog.md`](docs/backlog.md). Packages are created
only when a consumer exists (spec ยง8):
-`@devslab-kr/dds-tokens` (โ
2026-08-13) โ `dds-css` v1 inventory (Core 6 โ
2026-08-13, +13 โ
2026-08-15) โ
+`@devslab/dds-tokens` (โ
2026-08-13) โ `dds-css` v1 inventory (Core 6 โ
2026-08-13, +13 โ
2026-08-15) โ
AskLinq adoption โ `dds-icons` (โ
2026-08-15) โ `dds-solid` + `site-kit` โ `dds-native` (RN) or an Ionic
theme mapping, depending on how mobile goes.
diff --git a/brand/index.html b/brand/index.html
index f23963d..0a0f43e 100644
--- a/brand/index.html
+++ b/brand/index.html
@@ -468,6 +468,31 @@
๋น์ ์ SaaS,
์ฐ๋ฆฌ๊ฐ ๋ง๋ญ๋๋ค.
+
+
+ [07] open source
+ Q-line์ ๊ณต๊ฐ ํ๋ก์ ํธ์ ๊ณตํต ์๋ช
+
+ DevsLab OSS๋ ์ด๊ธ๋ ๋ ์ฌ๊ฐํ์ Q ํ๋ ์์ ๊ณต์ ํ๊ณ , ํ๋ก์ ํธ์ ๊ธฐ๋ฅ์
+ ๋ด๋ถ ํ ์ค๋ก ๊ตฌ๋ณํฉ๋๋ค. ํ๋ ์์ ๋น๋ก์ ์ ๊ตต๊ธฐ๋ ๊ณ ์ ํ๋ฉฐ ์ ํ๋ณ ๊ฒฝ๋ก๋ฅผ
+ ์์๋ก ๋ค์ ๊ทธ๋ฆฌ์ง ์์ต๋๋ค.
+
+
+
+
canonical rules
+
๊ณต์ OSS ๋ธ๋๋ ๊ท์น
+
์ ๊ทผ์ฑ, ์์ ์์ด์ฝ, ๋ผ์ดํธยท๋คํฌ, ๊ธ์ง ์ฌ๋ก์ ์ ํ๋ณ ์ ์ฉ ๊ท์น์ ๊ณต์ ํ์ด์ง๋ฅผ ๋ฐ๋ฆ
๋๋ค.
+
devslab.kr/brand/open-source/
+
+
+
asset source ยท v0.2.0
+
๋ฒ์ ์ด ๊ณ ์ ๋ ์๋ณธ ์์ฐ
+
์ฌ์ดํธ์ README์๋ ์ค์ ์์ฑ๋ฌผ์ ๋ฒ์ URL์ ์ฌ์ฉํฉ๋๋ค. DDS๋ ํ๋ก์ ํธ๋ณ ๊ฒฝ๋ก๋ฅผ ๋ณต์ ํ์ง ์์ต๋๋ค.
+
oss-brand v0.2.0
+
+
+
+