2026-05-13 10:12:31 +03:00
<!doctype html>
< html lang = "ru" >
< head >
< meta charset = "UTF-8" / >
< link rel = "icon" type = "image/svg+xml" href = "/favicon.svg" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
< meta name = "description" content = "Единое пространство для идей, черновиков и первых версий документаций" / >
2026-05-13 16:23:08 +03:00
< script >
;(() => {
const theme = localStorage.getItem('vitepress-theme-appearance') || localStorage.getItem('all-docs-theme') || 'auto'
const normalizedTheme = theme === 'system' ? 'auto' : theme
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
const resolvedTheme = normalizedTheme === 'auto' ? (prefersDark ? 'dark' : 'light') : normalizedTheme
document.documentElement.dataset.theme = normalizedTheme
document.documentElement.classList.toggle('dark', resolvedTheme === 'dark')
document.documentElement.style.colorScheme = resolvedTheme
})()
< / script >
< style >
.static-shell {
max-width: 960px;
margin: 0 auto;
padding: 48px 24px;
color: CanvasText;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
line-height: 1.55;
}
.static-shell h1 {
margin: 0 0 16px;
font-size: clamp(32px, 6vw, 56px);
line-height: 1;
}
.static-shell p {
margin: 0;
}
.static-lead {
max-width: 760px;
color: color-mix(in srgb, CanvasText 72%, Canvas);
font-size: 18px;
}
.static-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 24px;
}
.static-docs {
display: grid;
gap: 16px;
margin: 40px 0;
padding: 0;
list-style: none;
}
.static-card {
padding: 20px;
border: 1px solid color-mix(in srgb, CanvasText 18%, Canvas);
border-radius: 16px;
background: color-mix(in srgb, CanvasText 4%, Canvas);
}
.static-card h2 {
margin: 0 0 8px;
font-size: 22px;
line-height: 1.2;
}
.static-meta {
margin-bottom: 8px;
color: color-mix(in srgb, CanvasText 58%, Canvas);
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
}
.static-links {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 14px;
}
2026-05-22 23:23:14 +03:00
.static-actions-list,
.static-action-list {
display: grid;
gap: 8px;
margin: 14px 0 0;
padding-left: 20px;
}
.static-action-list {
margin-top: 6px;
}
.static-action-list-nested {
gap: 10px;
}
.static-action-sections {
display: grid;
gap: 18px;
margin-top: 18px;
}
.static-action-section,
.static-action-group {
display: grid;
gap: 8px;
}
.static-action-title {
color: color-mix(in srgb, LinkText 80%, CanvasText);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.static-action-group-title {
color: color-mix(in srgb, CanvasText 58%, Canvas);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
2026-05-13 16:23:08 +03:00
.static-shell a {
color: LinkText;
}
.static-footer {
color: color-mix(in srgb, CanvasText 58%, Canvas);
font-size: 13px;
}
< / style >
2026-05-13 10:12:31 +03:00
< title > Документация< / title >
< / head >
< body >
2026-05-13 16:23:08 +03:00
< div id = "root" >
< main class = "static-shell" aria-labelledby = "static-title" >
< header >
< h1 id = "static-title" > Документация< / h1 >
< p class = "static-lead" >
Единое пространство для идей, черновиков и первых версий документаций,
которые ещё формируются и постепенно становятся самостоятельными материалами.
< / p >
< div class = "static-actions" >
< a href = "https://gromlab.ru/gromov/docs" > Репозиторий< / a >
< / div >
< / header >
2026-05-22 23:23:14 +03:00
<!-- STATIC_DOCS_START -->
2026-05-13 16:23:08 +03:00
< section aria-labelledby = "static-docs-title" >
< h2 id = "static-docs-title" > Список документаций< / h2 >
< ul class = "static-docs" >
< li class = "static-card" >
< article >
< div class = "static-meta" > Архитектура · Доступно< / div >
< h2 > < a href = "/slm-design/" > SLM Design< / a > < / h2 >
2026-05-22 23:23:14 +03:00
< p > Архитектура frontend-приложений, где слои задают направление зависимостей, модули становятся границами ответственности, а явный DI через фабрики удерживает домены изолированными и предсказуемыми.< / p >
< ul class = "static-actions-list" >
< li >
< span class = "static-action-title" > Открыть< / span >
< ul class = "static-action-list static-action-list-nested" >
< li >
< span class = "static-action-group-title" > Читать< / span >
< ul class = "static-action-list" > < li > < a href = "/slm-design/" target = "_blank" rel = "noopener noreferrer" > SLM Документация< / a > < / li > < / ul >
< / li >
< li >
< span class = "static-action-group-title" > Skill для CLI-агентов< / span >
< ul class = "static-action-list" > < li > < a href = "/slm-design/skill/.opencode/skills/slm-design/SKILL.md" target = "_blank" rel = "noopener noreferrer" > slm-design/SKILL.md< / a > < / li > < / ul >
< / li >
< li >
< span class = "static-action-group-title" > AI агентам< / span >
< ul class = "static-action-list" > < li > < a href = "/slm-design/llms.txt" target = "_blank" rel = "noopener noreferrer" > llms.txt< / a > < / li > < li > < a href = "/slm-design/llms-full.txt" target = "_blank" rel = "noopener noreferrer" > llms-full.txt< / a > < / li > < / ul >
< / li >
< / ul >
< / li >
< li >
< span class = "static-action-title" > Скачать< / span >
< ul class = "static-action-list static-action-list-nested" >
< li >
< span class = "static-action-group-title" > Документация MD< / span >
< ul class = "static-action-list" > < li > < a href = "/slm-design/slm-design.zip" download > slm-design.zip< / a > < / li > < / ul >
< / li >
< li >
< span class = "static-action-group-title" > Skills (Claude code / OpenCode)< / span >
< ul class = "static-action-list" > < li > < a href = "/slm-design/skill/slm-design.skill.zip" download > slm-design.skill.zip< / a > < / li > < / ul >
< / li >
< / ul >
< / li >
< / ul >
2026-05-13 16:23:08 +03:00
< / article >
< / li >
< li class = "static-card" >
< article >
2026-05-13 17:20:32 +03:00
< div class = "static-meta" > Стайлгайд · Доступно< / div >
< h2 > < a href = "/nextjs-style-guide/" > NextJS Style Guide< / a > < / h2 >
2026-05-22 23:23:14 +03:00
< p > Практический стайлгайд для разработки frontend-приложений на Next.js и TypeScript.< / p >
< ul class = "static-actions-list" >
< li >
< span class = "static-action-title" > AI< / span >
< ul class = "static-action-list" > < li > < a href = "/nextjs-style-guide/llms.txt" target = "_blank" rel = "noopener noreferrer" > llms.txt< / a > < / li > < li > < a href = "/nextjs-style-guide/llms-full.txt" target = "_blank" rel = "noopener noreferrer" > llms-full.txt< / a > < / li > < / ul >
< / li >
< / ul >
2026-05-13 16:23:08 +03:00
< / article >
< / li >
< li class = "static-card" >
< article >
2026-05-13 17:20:32 +03:00
< div class = "static-meta" > Стайлгайд · Скоро< / div >
2026-05-13 16:23:08 +03:00
< h2 > React Style Guide< / h2 >
2026-05-22 23:23:14 +03:00
< p > Практический стайлгайд для разработки frontend-приложений на React и TypeScript.< / p >
< ul class = "static-actions-list" >
< li >
< span class = "static-action-title" > AI< / span >
< ul class = "static-action-list" > < li > < a href = "/react-style-guide/llms.txt" target = "_blank" rel = "noopener noreferrer" > llms.txt< / a > < / li > < li > < a href = "/react-style-guide/llms-full.txt" target = "_blank" rel = "noopener noreferrer" > llms-full.txt< / a > < / li > < / ul >
< / li >
< / ul >
2026-05-13 16:23:08 +03:00
< / article >
< / li >
< li class = "static-card" >
< article >
< div class = "static-meta" > Макеты · Доступно< / div >
< h2 > < a href = "/figma-adaptive-standards/" > Figma Adaptive Standards< / a > < / h2 >
2026-05-22 23:23:14 +03:00
< p > Стандарты и требования к подготовке адаптивных макетов в Figma: брейкпоинты, ресайз в диапазоне, Auto Layout/Constraints, компоненты, сетка, типографика, состояния UI, A11y и передача в разработку.< / p >
< ul class = "static-actions-list" >
< li >
< span class = "static-action-title" > AI< / span >
< ul class = "static-action-list" > < li > < a href = "/figma-adaptive-standards/llms.txt" target = "_blank" rel = "noopener noreferrer" > llms.txt< / a > < / li > < li > < a href = "/figma-adaptive-standards/llms-full.txt" target = "_blank" rel = "noopener noreferrer" > llms-full.txt< / a > < / li > < / ul >
< / li >
< / ul >
< / article >
< / li >
< li class = "static-card" >
< article >
< div class = "static-meta" > Стратегия · Доступно< / div >
< h2 > < a href = "/template-sync-strategy/" > Template Sync Strategy< / a > < / h2 >
< p > Стратегия как поддерживать проекты на общей шаблонной базе: отделять изменения шаблона от бизнес-кода и проводить обновления через контролируемый merge-процесс.< / p >
< ul class = "static-actions-list" >
< li >
< span class = "static-action-title" > AI< / span >
< ul class = "static-action-list" > < li > < a href = "/template-sync-strategy/llms.txt" target = "_blank" rel = "noopener noreferrer" > llms.txt< / a > < / li > < li > < a href = "/template-sync-strategy/llms-full.txt" target = "_blank" rel = "noopener noreferrer" > llms-full.txt< / a > < / li > < / ul >
< / li >
< / ul >
2026-05-13 16:23:08 +03:00
< / article >
< / li >
< / ul >
< / section >
2026-05-22 23:23:14 +03:00
<!-- STATIC_DOCS_END -->
2026-05-13 16:23:08 +03:00
< footer class = "static-footer" >
Автор документации: < a href = "https://gromlab.ru/gromov" > Сергей Громов< / a >
< / footer >
< / main >
< / div >
2026-05-13 10:12:31 +03:00
< script type = "module" src = "/src/main.tsx" > < / script >
< / body >
< / html >