diff --git a/Knowledges/.claude/skills/add-pet-project/SKILL.md b/Knowledges/.claude/skills/add-pet-project/SKILL.md new file mode 100644 index 0000000..c5f7873 --- /dev/null +++ b/Knowledges/.claude/skills/add-pet-project/SKILL.md @@ -0,0 +1,83 @@ +--- +name: add-pet-project +description: Добавить pet-проект в Obsidian vault. Используй когда пользователь пишет "/add-pet-project" или просит добавить/зафиксировать pet-проект с конкретными данными. +version: 1.0.0 +--- + +Добавь pet-проект в Obsidian vault по данным: $ARGUMENTS + +## Что сделать + +1. Проверь на дубликат: Glob по паттерну `Библиотека/Pet проекты/*.md`. Если проект с таким названием уже есть — сообщи пользователю и остановись. Файлы не читай. + +2. Запусти idea_check через idea-reality-mcp: + - Вызови инструмент `idea_check` с описанием проекта + - Извлеки из ответа: `reality_signal` (0–100), `top_similars` (название + url + stars), `pivot_hints` + - Если MCP недоступен или вернул ошибку — пропусти шаг, секцию 🔍 Аналоги оставь пустой для ручного заполнения + +3. Создай файл `Библиотека/Pet проекты/<Название>.md`. Используй абсолютный путь `/Users/ksv741/Obsidian/Knowledges/Библиотека/Pet проекты/<Название>.md`. + - Если статус не указан — ставь `Идея` + - В секцию 🔍 Аналоги вставь таблицу из `top_similars` и строку `> Reality signal: <значение>/100` + - Поля frontmatter без данных оставляй пустыми, не удаляй ключи + - Дата в формате `DD.MM.YYYY` + +4. Не делай git-операций. + +## Шаблон заметки + +```markdown +--- +Тип: Проект +Статус: <статус> +Название: <название> +Описание: <одна строка — суть проекта> +Начат: +Завершён: +Технологии: + - <язык/фреймворк> +Теги: + - <тег> +Репозиторий: +Ссылка: +--- + +# <Название> + +## 🎯 Проблема и цель +<Какую задачу решает. Для кого. Почему делаю сам, а не беру готовое.> + +--- + +## 🔍 Аналоги +<Существующие решения. Почему не подошли (не то / учёба / интерес).> + +| Проект | Ссылка | Почему не подошёл | +|--------|--------|-------------------| +| | | | + +--- + +## ⚙️ Архитектура +**Стек:** <языки, фреймворки, БД, инфра> + +**Ключевые решения:** +- + +--- + +## 📋 Функциональность +- [ ] <фича 1> +- [ ] <фича 2> + +--- + +## 🧠 Что узнал / выводы +<Новые технологии, нестандартные решения, ошибки и как их избежал.> + +--- + +## 🔗 Связанные заметки +- [[...]] +``` + +**Статус:** `Идея` | `В разработке` | `Запущен` | `Заморожен` | `Завершён` diff --git a/Knowledges/Библиотека/Pet проекты/eslint-config-ksv741.md b/Knowledges/Библиотека/Pet проекты/eslint-config-ksv741.md new file mode 100644 index 0000000..c270877 --- /dev/null +++ b/Knowledges/Библиотека/Pet проекты/eslint-config-ksv741.md @@ -0,0 +1,65 @@ +--- +Тип: Проект +Статус: Запущен +Название: eslint-config-ksv741 +Описание: npm-пакет с персональной конфигурацией ESLint для быстрого подключения в своих проектах +Начат: +Завершён: +Технологии: + - JavaScript + - ESLint +Теги: + - npm + - eslint + - linting + - tooling + - конфигурация +Репозиторий: https://github.com/ksv741/eslint-config-ksv741 +Ссылка: https://www.npmjs.com/package/eslint-config-ksv741 +--- + +# eslint-config-ksv741 + +[![npm downloads](https://img.shields.io/npm/dm/eslint-config-ksv741)](https://www.npmjs.com/package/eslint-config-ksv741) + +## 🎯 Проблема и цель +При старте каждого нового проекта приходится заново настраивать ESLint — подбирать плагины, правила, разрешать конфликты. Пакет решает эту проблему: одна зависимость и минимальный `extends` — линтер готов к работе. Цель — поддерживать конфиг актуальным и использовать его во всех своих проектах. + +--- + +## 🔍 Аналоги +Готовые shared-конфиги не подошли, так как не отражают личные предпочтения по правилам и стеку. + +| Проект | Ссылка | Почему не подошёл | +|--------|--------|-------------------| +| eslint-config-airbnb | https://www.npmjs.com/package/eslint-config-airbnb | Устарел, поддерживает только старые версии ESLint; взят за референс при написании своего конфига | +| eslint-config-standard | https://www.npmjs.com/package/eslint-config-standard | Чужие соглашения, нет гибкости под свой стек | + +--- + +## ⚙️ Архитектура +**Стек:** JavaScript, ESLint, ESLint plugins + +**Ключевые решения:** +- Следование конвенции именования `eslint-config-*` для поддержки краткой формы `"extends": ["ksv741"]` +- Регулярное обновление зависимостей и правил по мере выхода новых версий плагинов + +--- + +## 📋 Функциональность +- [x] Базовая конфигурация ESLint для JS/TS проектов +- [x] Публикация на npm +- [x] Поддержка ESLint flat config (v9+) + +--- + +## 🧠 Что узнал / выводы +- Конвенция именования ESLint shared configs +- Управление зависимостями и совместимостью версий плагинов +- Поддержка пакета в актуальном состоянии как отдельная задача + +--- + +## 🔗 Связанные заметки +- [[ksv741-react-scripts]] +- [[rspack-dev-server-waitpage]] diff --git a/Knowledges/Библиотека/Pet проекты/ksv741-react-scripts.md b/Knowledges/Библиотека/Pet проекты/ksv741-react-scripts.md new file mode 100644 index 0000000..94d524e --- /dev/null +++ b/Knowledges/Библиотека/Pet проекты/ksv741-react-scripts.md @@ -0,0 +1,64 @@ +--- +Тип: Проект +Статус: Запущен +Название: ksv741-react-scripts +Описание: npm-пакет — аналог create-react-app с возможностью расширять конфигурацию Webpack +Начат: +Завершён: +Технологии: + - JavaScript + - Webpack +Теги: + - npm + - webpack + - react + - tooling + - create-react-app +Репозиторий: https://github.com/ksv741/react-scripts +Ссылка: https://www.npmjs.com/package/ksv741-react-scripts +--- + +# ksv741-react-scripts + +[![npm downloads](https://img.shields.io/npm/dm/ksv741-react-scripts)](https://www.npmjs.com/package/ksv741-react-scripts) + +## 🎯 Проблема и цель +`create-react-app` не даёт гибко управлять конфигурацией Webpack без `eject`. Проект создан исключительно в учебных целях: разобраться, как устроены tooling-пакеты, и попрактиковаться в написании и оптимизации конфигурации Webpack. + +--- + +## 🔍 Аналоги +Аналоги не подошли по причине учебной мотивации — цель была самостоятельно пройти путь создания tooling-пакета. + +| Проект | Ссылка | Почему не подошёл | +|--------|--------|-------------------| +| create-react-app | https://github.com/facebook/create-react-app | Закрытая конфигурация, нет расширяемости без eject | +| craco | https://github.com/dilanx/craco | Готовое решение, не учебное | + +--- + +## ⚙️ Архитектура +**Стек:** JavaScript, Webpack, React + +**Ключевые решения:** +- Публичный API для расширения конфигурации Webpack пользователем +- Разделение dev/prod конфигов + +--- + +## 📋 Функциональность +- [x] Сборка React-приложения через Webpack +- [x] Возможность расширять конфигурацию без eject +- [x] Публикация пакета на npm + +--- + +## 🧠 Что узнал / выводы +- Устройство tooling-пакетов на примере react-scripts +- Оптимизация и структурирование конфигурации Webpack +- Как организовать расширяемый публичный API для конфигурации + +--- + +## 🔗 Связанные заметки +- [[rspack-dev-server-waitpage]] diff --git a/Knowledges/Библиотека/Pet проекты/rspack-dev-server-waitpage.md b/Knowledges/Библиотека/Pet проекты/rspack-dev-server-waitpage.md new file mode 100644 index 0000000..c423529 --- /dev/null +++ b/Knowledges/Библиотека/Pet проекты/rspack-dev-server-waitpage.md @@ -0,0 +1,63 @@ +--- +Тип: Проект +Статус: Запущен +Название: rspack-dev-server-waitpage +Описание: npm-пакет, отображающий прогресс сборки в браузере для rspack (аналог webpack-dev-server-waitpage) +Начат: +Завершён: +Технологии: + - TypeScript +Теги: + - npm + - rspack + - webpack + - dev-server + - tooling +Репозиторий: https://github.com/ksv741/rspack-dev-server-waitpage +Ссылка: https://www.npmjs.com/package/rspack-dev-server-waitpage +--- + +# rspack-dev-server-waitpage + +[![npm downloads](https://img.shields.io/npm/dm/rspack-dev-server-waitpage)](https://www.npmjs.com/package/rspack-dev-server-waitpage) + +## 🎯 Проблема и цель +`webpack-dev-server-waitpage` показывает страницу с прогрессом сборки в браузере во время горячей перезагрузки — удобная фича для разработки. Однако он поддерживает только Webpack API v4, тогда как rspack реализует только Webpack API v5. Из-за этого несовместимости `webpack-dev-server-waitpage` не работает с rspack. + +Цель: реализовать аналогичный пакет, полностью совместимый с rspack и Webpack API v5. + +--- + +## 🔍 Аналоги +Существующие решения не подошли из-за жёсткой привязки к Webpack API v4. + +| Проект | Ссылка | Почему не подошёл | +|--------|--------|-------------------| +| webpack-dev-server-waitpage | https://www.npmjs.com/package/webpack-dev-server-waitpage | Поддерживает только Webpack API v4, несовместим с rspack | + +--- + +## ⚙️ Архитектура +**Стек:** TypeScript, rspack / Webpack API v5 + +**Ключевые решения:** +- Реализация через Webpack Plugin API v5 (хуки `compiler.hooks`) +- Инъекция HTML-страницы с прогрессом через middleware dev-сервера + +--- + +## 📋 Функциональность +- [x] Отображение страницы прогресса сборки в браузере +- [x] Совместимость с rspack (Webpack API v5) +- [x] Публикация первой версии на npm + +--- + +## 🧠 Что узнал / выводы +- Различия между Webpack Plugin API v4 и v5 +- Механизм работы rspack с Webpack-совместимыми плагинами + +--- + +## 🔗 Связанные заметки +- [[]] diff --git a/Knowledges/Библиотека/Фильмы/covers/gannibal.jpg b/Knowledges/Библиотека/Фильмы/covers/gannibal.jpg new file mode 100644 index 0000000..0e347d8 Binary files /dev/null and b/Knowledges/Библиотека/Фильмы/covers/gannibal.jpg differ diff --git a/Knowledges/Библиотека/Фильмы/covers/molchanie-yagnyat.jpg b/Knowledges/Библиотека/Фильмы/covers/molchanie-yagnyat.jpg new file mode 100644 index 0000000..ef5d528 Binary files /dev/null and b/Knowledges/Библиотека/Фильмы/covers/molchanie-yagnyat.jpg differ diff --git a/Knowledges/Библиотека/Фильмы/Ганнибал.md b/Knowledges/Библиотека/Фильмы/Ганнибал.md new file mode 100644 index 0000000..3180ac0 --- /dev/null +++ b/Knowledges/Библиотека/Фильмы/Ганнибал.md @@ -0,0 +1,56 @@ +--- +Тип: Фильм +Статус: Просмотрено +Название: Ганнибал +Режиссёр: Ридли Скотт +Актёры: + - Энтони Хопкинс + - Джулианна Мур + - Гэри Олдман + - Рэй Лиотта + - Джанкарло Джанинни +Год: 2001 +Жанр: + - Триллер + - Детектив + - Ужасы +Страна: США +Длительность: 131 +Постер: Библиотека/Фильмы/covers/gannibal.jpg +Просмотрено: 29.03.2026 +Оценка: "7" +Теги: + - серийный_убийца + - психологический_триллер + - сиквел + - ганнибал_лектер +Ссылка: https://www.kinopoisk.ru/film/686/ +--- + +![[covers/gannibal.jpg]] + +# Ганнибал + +## 📖 Краткий сюжет +Спустя десять лет после побега Ганнибал Лектер живёт во Флоренции под именем историка искусства. Его выслеживает сразу несколько охотников: изуродованный миллионер Мэйсон Вёрджер — единственный выживший жертва Лектера — и агент ФБР Клэрис Старлинг, которую тем временем подставляют коллеги. Лектер сам выходит на связь с Клэрис, превращая её в приманку. + +--- + +## 🧠 Идеи и темы +- Месть и одержимость: Вёрджер готов потратить состояние ради мести, но это делает его таким же чудовищем, как Лектер +- Извращённая привязанность: отношения Лектера и Клэрис балансируют между охотником и жертвой, учителем и ученицей +- Коррупция институтов: ФБР изображено как бюрократическая машина, готовая пожертвовать своим агентом ради политики +- Эстетизация насилия: Ридли Скотт намеренно превращает жестокость Лектера в мрачное искусство + +--- + +## 💡 Интересные факты +- Джоди Фостер отказалась вернуться к роли Клэрис из-за жестокости сценария — её заменила Джулианна Мур +- Съёмки в Флоренции проходили в реальном палаццо Веккьо; местные власти поначалу отказывали в разрешении +- Ридли Скотт выбрал Джулианну Мур по совету Энтони Хопкинса, с которым та снималась ранее +- Гэри Олдман провёл часы в гриме — его персонаж Мэйсон Вёрджер почти полностью обезображен + +--- + +## 🔗 Связанные заметки +- [[Молчание ягнят]] diff --git a/Knowledges/Библиотека/Фильмы/Молчание ягнят.md b/Knowledges/Библиотека/Фильмы/Молчание ягнят.md new file mode 100644 index 0000000..75dc41c --- /dev/null +++ b/Knowledges/Библиотека/Фильмы/Молчание ягнят.md @@ -0,0 +1,57 @@ +--- +Тип: Фильм +Статус: Просмотрено +Название: Молчание ягнят +Режиссёр: Джонатан Демми +Актёры: + - Джоди Фостер + - Энтони Хопкинс + - Скотт Гленн + - Тед Левин + - Энтони Хили +Год: 1991 +Жанр: + - Триллер + - Детектив + - Драма + - Ужасы +Страна: США +Длительность: 114 +Постер: Библиотека/Фильмы/covers/molchanie-yagnyat.jpg +Просмотрено: 29.03.2026 +Оценка: "10" +Теги: + - серийный_убийца + - психологический_триллер + - фби + - каннибализм +Ссылка: https://www.kinopoisk.ru/film/345/ +--- + +![[covers/molchanie-yagnyat.jpg]] + +# Молчание ягнят + +## 📖 Краткий сюжет +Молодой агент ФБР Клэрис Старлинг получает задание: проинтервьюировать заключённого психиатра Ганнибала Лектера, осуждённого за серию зверских убийств. Её цель — получить психологический профиль другого маньяка по прозвищу Буффало Билл, похищающего молодых женщин. Лектер соглашается помочь, но ставит условия, превращая каждую беседу в интеллектуальный поединок. + +--- + +## 🧠 Идеи и темы +- Манипуляция и психологическое давление: Лектер использует информацию как оружие, выстраивая власть даже из-за решётки +- Взросление и преодоление страха: путь Клэрис — это не только погоня за убийцей, но и проработка собственных детских травм +- Граница между цивилизованностью и зверством: Лектер образован, утончён и беспощаден — фильм исследует, что делает человека чудовищем +- Женщина в мужском мире: Клэрис постоянно сталкивается с недооценкой и сексуализацией в среде ФБР + +--- + +## 💡 Интересные факты +- Один из трёх фильмов в истории, выигравших «Оскар» в пяти главных номинациях: фильм, режиссёр, актёр, актриса, сценарий +- Энтони Хопкинс появляется на экране суммарно около 16 минут — и получил «Оскар» за лучшую мужскую роль +- Джоди Фостер готовилась к роли, пройдя стажировку в реальном учебном центре ФБР в Куантико +- Томас Харрис написал роман, основываясь на реальных делах серийных убийц и беседах с агентом ФБР Джоном Дугласом + +--- + +## 🔗 Связанные заметки +- [[Ганнибал]] diff --git a/Knowledges/Шаблоны/pet_project_template.md b/Knowledges/Шаблоны/pet_project_template.md new file mode 100644 index 0000000..a71840d --- /dev/null +++ b/Knowledges/Шаблоны/pet_project_template.md @@ -0,0 +1,52 @@ +--- +Тип: Проект +Статус: Идея +Название: <название> +Описание: <одна строка — суть проекта> +Начат: DD.MM.YYYY +Завершён: +Технологии: + - <язык/фреймворк> +Теги: + - <тег> +Репозиторий: +Ссылка: +--- + +# <Название> + +## 🎯 Проблема и цель +<Какую задачу решает. Для кого. Почему делаю сам, а не беру готовое.> + +--- + +## 🔍 Аналоги +<Существующие решения. Почему не подошли (не то / учёба / интерес).> + +| Проект | Ссылка | Почему не подошёл | +|--------|--------|-------------------| +| | | | + +--- + +## ⚙️ Архитектура +**Стек:** <языки, фреймворки, БД, инфра> + +**Ключевые решения:** +- + +--- + +## 📋 Функциональность +- [ ] <фича 1> +- [ ] <фича 2> + +--- + +## 🧠 Что узнал / выводы +<Новые технологии, нестандартные решения, ошибки и как их избежал.> + +--- + +## 🔗 Связанные заметки +- [[...]]