Compare commits
2 Commits
478a5f7d55
...
c53ee8025f
| Author | SHA1 | Date | |
|---|---|---|---|
| c53ee8025f | |||
| 23287ca5b0 |
@@ -73,7 +73,7 @@ jobs:
|
|||||||
ssh -i ~/.ssh/deploy_key root@188.225.47.78 bash -s <<'SCRIPT'
|
ssh -i ~/.ssh/deploy_key root@188.225.47.78 bash -s <<'SCRIPT'
|
||||||
set -e
|
set -e
|
||||||
IMAGE="${{ env.REGISTRY_IMAGE }}:latest"
|
IMAGE="${{ env.REGISTRY_IMAGE }}:latest"
|
||||||
CONTAINER="nextjs-style-guide"
|
CONTAINER="slm-design"
|
||||||
|
|
||||||
# Логин в реестр
|
# Логин в реестр
|
||||||
echo '${{ secrets.CR_TOKEN }}' | docker login ${{ env.DOCKER_REGISTRY }} -u '${{ secrets.CR_USER }}' --password-stdin
|
echo '${{ secrets.CR_TOKEN }}' | docker login ${{ env.DOCKER_REGISTRY }} -u '${{ secrets.CR_USER }}' --password-stdin
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -138,7 +138,7 @@ docs/.vitepress
|
|||||||
|
|
||||||
# Рабочие заметки
|
# Рабочие заметки
|
||||||
notes
|
notes
|
||||||
/RULES.md
|
/ARCHITECTURE.md
|
||||||
|
|
||||||
# Генерируемые файлы (собираются в CI)
|
# Генерируемые файлы (собираются в CI)
|
||||||
generated/
|
generated/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
:8081 {
|
:8082 {
|
||||||
root * /srv
|
root * /srv
|
||||||
file_server
|
file_server
|
||||||
try_files {path} /index.html
|
try_files {path} /index.html
|
||||||
|
|||||||
@@ -3,4 +3,4 @@
|
|||||||
Scoped Layered Module Design — модульная архитектура фронтенд-приложений.
|
Scoped Layered Module Design — модульная архитектура фронтенд-приложений.
|
||||||
|
|
||||||
- [Документация](https://slm.gromov.io)
|
- [Документация](https://slm.gromov.io)
|
||||||
- [RULES.md для AI-ассистентов](generated/ru/RULES.md)
|
- [ARCHITECTURE.md для AI-ассистентов](generated/ru/ARCHITECTURE.md)
|
||||||
|
|||||||
@@ -35,11 +35,11 @@ const shiftHeadings = (content) => {
|
|||||||
.join("\n");
|
.join("\n");
|
||||||
};
|
};
|
||||||
|
|
||||||
// Собрать RULES.md с мета-якорями для каждого файла
|
// Собрать ARCHITECTURE.md с мета-якорями для каждого файла
|
||||||
const buildRules = (lang) => {
|
const buildRules = (lang) => {
|
||||||
const srcDir = `./docs/${lang}`;
|
const srcDir = `./docs/${lang}`;
|
||||||
const outDir = `./generated/${lang}`;
|
const outDir = `./generated/${lang}`;
|
||||||
const outFile = path.join(outDir, "RULES.md");
|
const outFile = path.join(outDir, "ARCHITECTURE.md");
|
||||||
|
|
||||||
if (!fs.existsSync(srcDir)) {
|
if (!fs.existsSync(srcDir)) {
|
||||||
console.log(`Пропуск ${lang}: папка ${srcDir} не найдена`);
|
console.log(`Пропуск ${lang}: папка ${srcDir} не найдена`);
|
||||||
@@ -66,10 +66,10 @@ const buildRules = (lang) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fs.writeFileSync(outFile, parts.join("\n\n"), "utf8");
|
fs.writeFileSync(outFile, parts.join("\n\n"), "utf8");
|
||||||
console.log(`RULES.md (${lang}) создан: ${outFile}`);
|
console.log(`ARCHITECTURE.md (${lang}) создан: ${outFile}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Собираем RULES.md для обоих языков
|
// Собираем ARCHITECTURE.md для обоих языков
|
||||||
buildRules("ru");
|
buildRules("ru");
|
||||||
buildRules("en");
|
buildRules("en");
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ title: SLM Design
|
|||||||
Scoped Layered Module Design — модульная архитектура фронтенд-приложений. Код организован по слоям ответственности, а модуль содержит всё, что ему нужно: компоненты, хуки, сторы, типы, стили.
|
Scoped Layered Module Design — модульная архитектура фронтенд-приложений. Код организован по слоям ответственности, а модуль содержит всё, что ему нужно: компоненты, хуки, сторы, типы, стили.
|
||||||
|
|
||||||
<!-- rules-link -->
|
<!-- rules-link -->
|
||||||
Для AI-ассистентов доступен единый файл правил — `RULES.md`.
|
Для AI-ассистентов доступен единый файл правил — `ARCHITECTURE.md`.
|
||||||
<!-- /rules-link -->
|
<!-- /rules-link -->
|
||||||
|
|
||||||
## Преимущества
|
## Преимущества
|
||||||
|
|||||||
Reference in New Issue
Block a user