{"id":51284780,"url":"https://github.com/mikeoleynik/askserega","last_synced_at":"2026-06-30T04:30:32.482Z","repository":{"id":366110274,"uuid":"1275080826","full_name":"mikeoleynik/askserega","owner":"mikeoleynik","description":"https://askserega.ru","archived":false,"fork":false,"pushed_at":"2026-06-20T08:48:02.000Z","size":3238,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T10:19:56.345Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikeoleynik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-20T08:17:31.000Z","updated_at":"2026-06-20T08:48:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mikeoleynik/askserega","commit_stats":null,"previous_names":["mikeoleynik/askserega"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mikeoleynik/askserega","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeoleynik%2Faskserega","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeoleynik%2Faskserega/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeoleynik%2Faskserega/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeoleynik%2Faskserega/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikeoleynik","download_url":"https://codeload.github.com/mikeoleynik/askserega/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikeoleynik%2Faskserega/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34952850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-30T04:30:30.538Z","updated_at":"2026-06-30T04:30:32.470Z","avatar_url":"https://github.com/mikeoleynik.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AskSerega — инженерная теория проекта\n\nКаталог фреймворков, который помогает команде **выстроить, зафиксировать и передать** понимание системы — не только код.\n\n\u003e У дизайнеров есть Design System. У разработчиков — архитектурные паттерны.\n\u003e Но ни то, ни другое не отвечает на вопрос: **«как у нас устроена эта конкретная система и почему»**.\n\n---\n\n## Зачем это нужно\n\n### У дизайнеров есть Design System, у разработчиков — нет аналога\n\nУ дизайнеров есть правила, компоненты, паттерны, токены. Это **общий язык команды**: любой дизайнер смотрит на кнопку и понимает, почему она синяя и как её использовать. Проекты передаются без боли.\n\nУ разработчиков — MVC, Clean Architecture, DDD. Они отвечают на вопрос **«как организовать код»**, а не **«как организовать понимание системы»**. Можно знать идеальный паттерн и всё равно не понимать, почему при изменении одного сервиса падает другой.\n\n**Итог:** теория живёт в голове разработчика — уникальная или отсутствующая. Серёга уходит — и его теория умирает вместе с ним.\n\n### Нет стартовой точки\n\nВы поняли, что теория нужна. Но с чего начать? Какие вопросы задать первыми? Где взять фреймворк, который заставит мозг структурировать уже известное?\n\nВ университетах учат коду и алгоритмам. В блогах — инструментам и тестам. Но редко говорят:\n\n- *«Вот три шага, чтобы выявить скрытые допущения вашей теории»*\n- *«Вот техника, которая найдёт зависимости, о которых вы не подозревали»*\n\nВы остаётесь один на один с тысячей деталей — без карты и компаса.\n\n### Онбординг нового разработчика — всегда боль\n\nНовичку дают документацию (часто устаревшую), код («разбирайся») и пару созвонов с обходом папок. Но не дают **модель**, которая была в голове у предыдущих разработчиков.\n\nОнбординг превращается в погружение в хаос. Недели уходят на восстановление чужой теории. Иногда — безуспешно: новый код противоречит неявным решениям прошлого.\n\n---\n\n## Что мы предлагаем\n\nПредставьте **систему инженерных моделей, вопросов и артефактов**. Не про код, не про CI/CD — про **ваше понимание системы**.\n\n| Что получаете | Как это работает |\n|---|---|\n| **Точку входа** | Выбираете боль («не понимаем сервис», «система слишком связана») — получаете упорядоченную цепочку из 4–6 фреймворков с объяснением «сначала X, потому что…» |\n| **Материальную теорию** | Каждый фреймворк требует артефакт: MDX, диаграмму, ADR, чеклист. Файл лежит рядом с кодом и передаётся следующему разработчику |\n| **Общий язык команды** | «Давай применим C4 к сервису заказов», «проверим допущение о синхронности» — меньше телефонной игры между людьми |\n| **Опору для решений** | Теория предсказывает последствия изменений — или честно показывает пробел, который нужно закрыть до рефакторинга |\n\n**Пример:** за 20 минут проходите фреймворк по текущей боли и выходите с картой событий, списком допущений или схемой скрытых связей.\n\n---\n\n## Главная идея\n\nПитер Наур писал: программирование — это не написание кода, а создание **теории** того, как работает система.\n\nКод — текстовый отпечаток этой теории. Если теория в голове умирает, код мгновенно становится legacy: его можно читать, но нельзя развивать — потому что потеряно «почему так сделано».\n\nКогда Серёга увольняется, он должен оставить не только код, а **зафиксированную теорию** — с границами, вопросами и известными пробелами. Новый разработчик открывает её (и цепочку фреймворков, по которым она строилась) — и понимает систему за две недели, а не за два месяца.\n\n**AskSerega** — опора для этого: набор моделей, вопросов и фреймворков, которые помогают постепенно выстроить целостное понимание проекта.\n\n---\n\n## Что такое «теория проекта» на практике\n\nЭто не абстракция. Это конкретное знание:\n\n- понимание **границ** системы;\n- понимание **причин** архитектурных решений;\n- понимание **потока данных**;\n- понимание **ограничений** и **инвариантов**;\n- понимание того, **как безопасно добавлять новое**;\n- понимание того, **что нельзя ломать**.\n\n---\n\n## Шесть слоёв теории\n\nФреймворки в каталоге распределены по слоям — от «зачем система существует» до «как она эволюционирует».\n\n### 1. Purpose Layer — зачем система существует\n\n- Какая задача мира решается?\n- Какие ограничения бизнеса?\n- Какая ценность создаётся?\n\n### 2. Domain Layer — как система моделирует реальность\n\n- Какие сущности и bounded contexts?\n- Какие правила и термины?\n\n### 3. Structural Layer — как система организована\n\n- Какие модули и зависимости?\n- Какие контракты между частями?\n\n### 4. Runtime Layer — как система живёт во времени\n\n- Какие события и потоки данных?\n- Где состояние и eventual consistency?\n\n### 5. Operational Layer — поведение под нагрузкой\n\n- Где bottlenecks?\n- Какие SLO?\n- Как система ломается и деградирует?\n\n### 6. Evolution Layer — как система изменяется\n\n- Что volatile, что стабильно?\n- Где точки расширения?\n- Какие architectural pressures давят на систему сейчас?\n\n---\n\n## Для разработчиков\n\n### Быстрый старт\n\n```bash\ngit clone \u003crepo-url\u003e\ncd askserega\nnpm ci\nnpm run dev\n```\n\nОткройте [http://localhost:3000](http://localhost:3000) — главная с болями и каталог фреймворков.\n\n### Структура репозитория\n\n```\ncontent/frameworks/   # MDX-карточки фреймворков (основной контент)\nsrc/                  # Next.js UI (askserega.ru)\nscripts/              # валидация контента (CI)\n```\n\n### Как участвовать\n\nСм. [CONTRIBUTING.md](./CONTRIBUTING.md) — добавление фреймворков, правила цепочек, валидация frontmatter.\n\nЛицензия: [MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeoleynik%2Faskserega","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikeoleynik%2Faskserega","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikeoleynik%2Faskserega/lists"}