Проект объединяет в себе набор решений по адаптации дизайн-системы SDDS для приложений iOS.
This project includes code from the following third-party libraries:
- InputMask by RedMadRobot - MIT License
See THIRD_PARTY_LICENSES.md for complete license texts.
Для сборки проекта необходимо запустить ruby script:
ruby ./scripts/build_xcframeworks.rb -d . -w SDDS.xcworkspace
Также можно собрать только необходимые модули, если передать их списком в качестве аргумента m:
ruby ./scripts/build_xcframeworks.rb -d . -w SDDS.xcworkspace -m SDDSSwiftUI,SDDSIcons
Артефакты сборки появятся в папке /build.
Сборку можно выполнять по отдельности для каждого проекта (без workspace). Сначала нужно один раз собрать зависимости (XCFrameworks), например через скрипт:
./scripts/build_all_static_dependencies.sh
или через workspace (см. выше). После этого:
SDDSComponents:
cd SDDSComponents
xcodebuild -project SDDSComponents.xcodeproj -scheme SDDSComponents -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.6' build
SDDSDemoApp:
cd SDDSDemoApp
xcodebuild -project SDDSDemoApp.xcodeproj -scheme SDDSDemoApp -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.6' build
Вместо iPhone 16,OS=18.6 укажите доступный симулятор из списка xcodebuild -destination 'platform=iOS Simulator' -showdestinations.
DesignSystemBuilder/ — единый CLI дизайн-системы. Один бинарник делает и генерацию тем
(Themes/<Name>Theme — токены, типографика, вариации компонентов), и сборку
документационного бандла:
cd DesignSystemBuilder && ./build_cli.sh # → build/dsbuilder-ios/dsbuilder-ios
./build/dsbuilder-ios/dsbuilder-ios # генерация тем (подкоманда themes)
./build/dsbuilder-ios/dsbuilder-ios docs extract --repo-root .. # сэмплы документации
./build/dsbuilder-ios/dsbuilder-ios docs aggregate --repo-root .. --theme SDDSserv
Отдельный режим — автономные исходники (--standalone): тема собирается в плоскую папку
.swift, которая компилируется одним модулем без линковки наших библиотек. Исходники для
сборки можно забрать прямо с релиза по номеру версии, не имея чекаута репозитория:
./dsbuilder ./config.json --standalone --components --sources-version release-18-08-2026
Как получить бинарь CLI и как выглядит конфиг для запуска вне репозитория — см.
«Исходники с релиза».
Каждый релиз публикует xcframework'и (SDDSThemeCore, InputMask, SDDSComponents, темы;
иконки идут отдельным релизом SDDSIcons-v* через release_icons.yml), dsbuilder-ios-cli-<tag>.zip (сам CLI) и SDDSSources-<tag>.zip (исходники
SDDS, собирает scripts/package_sources.sh). Тот же набор локально
собирает scripts/release/build_release.sh <tag>.
Тесты CLI — swift test --package-path DesignSystemBuilder (или ruby scripts/run_tests.rb).
Подробности — DesignSystemBuilder/README.md и
docs/DOCS_BUNDLE.md.
Одноимённый внешний
dsbuilder(Kotlin/Native, репозиторийdesign-system-builder) выгружает.sdds/и печёт готовый архив документации из подготовленного нами дерева — это другой бинарник.
В репозитории развёрнута локальная инфраструктура для работы с AI-агентом (Claude Code). Работает в интерактивном режиме в рамках подписки — без метерного API, без GitHub Actions, без issue-трекера.
Что где лежит:
- Карта для агента: корневой CLAUDE.md + по одному
CLAUDE.mdв значимых пакетах (читаются вместоgrep). - Контракт пакетов/знаний: project.yml.
- Граф-навигация по коду (MCP Serena): .mcp.json.
- Память команды: .claude/memory/ (индекс
MEMORY.md, правила биллинга, ключевые решения). - Процесс: docs/LOCAL_WORKFLOW.md, docs/TASK_GUIDE.md, локальный docs/BACKLOG.md.
- Spec-driven workflow для фич: OpenSpec (
/opsx:*, спеки вopenspec/).
Правила биллинга (важно): держать ANTHROPIC_API_KEY unset; не использовать
claude -p/headless (метерно); проверка результата — локально + просмотр владельцем. Детали —
.claude/memory/local-mode-billing.md.
Ручная доустановка инструментов (OpenSpec, superpowers, claude-mem, проверка Serena) — см. docs/LOCAL_WORKFLOW.md и подсказки при первом запуске сессии.