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 : 960 px ;
margin : 0 auto ;
padding : 48 px 24 px ;
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 16 px ;
font-size : clamp ( 32 px , 6 vw , 56 px );
line-height : 1 ;
}
. static-shell p {
margin : 0 ;
}
. static-lead {
max-width : 760 px ;
color : color-mix ( in srgb , CanvasText 72 % , Canvas );
font-size : 18 px ;
}
. static-actions {
display : flex ;
flex-wrap : wrap ;
gap : 12 px ;
margin-top : 24 px ;
}
. static-docs {
display : grid ;
gap : 16 px ;
margin : 40 px 0 ;
padding : 0 ;
list-style : none ;
}
. static-card {
padding : 20 px ;
border : 1 px solid color-mix ( in srgb , CanvasText 18 % , Canvas );
border-radius : 16 px ;
background : color-mix ( in srgb , CanvasText 4 % , Canvas );
}
. static-card h2 {
margin : 0 0 8 px ;
font-size : 22 px ;
line-height : 1.2 ;
}
. static-meta {
margin-bottom : 8 px ;
color : color-mix ( in srgb , CanvasText 58 % , Canvas );
font-size : 13 px ;
font-weight : 700 ;
text-transform : uppercase ;
}
. static-links {
display : flex ;
flex-wrap : wrap ;
gap : 12 px ;
margin-top : 14 px ;
}
2026-05-22 23:23:14 +03:00
. static-actions-list ,
. static-action-list {
display : grid ;
gap : 8 px ;
margin : 14 px 0 0 ;
padding-left : 20 px ;
}
. static-action-list {
margin-top : 6 px ;
}
. static-action-list-nested {
gap : 10 px ;
}
. static-action-sections {
display : grid ;
gap : 18 px ;
margin-top : 18 px ;
}
. static-action-section ,
. static-action-group {
display : grid ;
gap : 8 px ;
}
. static-action-title {
color : color-mix ( in srgb , LinkText 80 % , CanvasText );
font-size : 12 px ;
font-weight : 800 ;
letter-spacing : 0.08 em ;
text-transform : uppercase ;
}
. static-action-group-title {
color : color-mix ( in srgb , CanvasText 58 % , Canvas );
font-size : 11 px ;
font-weight : 800 ;
letter-spacing : 0.08 em ;
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 : 13 px ;
}
</ 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 >