Репозиторій
у цифрах
Пораховано 17 жовтня 2026 р. у репозиторії. Рядки коду тут означають непорожні рядки вихідного коду без lock-файлів, результатів збирання, стороннього коду, скопійованого в репозиторій, і згенерованого коду.
проєктів
мов програмування
комітів
файлів
рядків коду
Репозиторій
як місто
Кожен проєкт тут стає будівлею. Її висота залежить від кількості рядків коду, колір позначає мову, якою написано більшу частину проєкту, а п’ять директорій стають районами міста.
Наведіть на будівлю, щоб дізнатися, що це.
| Проєкт | Директорія | Основна мова | Рядки коду |
|---|---|---|---|
| flokzy | products/ | TypeScript | 181 690 |
| crypto-ide | products/ | TypeScript | 127 421 |
| drukko | products/ | TypeScript | 105 721 |
| lavender | products/ | TypeScript | 75 004 |
| kvbnews | products/ | Go | 56 121 |
| pikajuoksu | products/ | TypeScript | 51 922 |
| noir-bots | products/ | Python | 32 057 |
| sunflow | products/ | Go | 29 906 |
| Ще не анонсований продукт | products/ | 19 799 | |
| pikajuoksu-core | libs/ | TypeScript | 17 347 |
| noirid-site | web/ | TypeScript | 15 517 |
| levonne | products/ | Go | 15 196 |
| noirsystems-site | web/ | TypeScript | 13 939 |
| foldtools | products/ | Kotlin | 11 041 |
| Ще не анонсований продукт | products/ | 10 225 | |
| pikajuoksu-server | products/ | TypeScript | 10 052 |
| noirwallet | products/ | TypeScript | 9 393 |
| etat | products/ | Java | 8 970 |
| Ще не анонсований продукт | products/ | 8 262 | |
| xandra-css | libs/ | JavaScript | 6 144 |
| noir-design | libs/ | CSS | 4 274 |
| noir-bzh | web/ | TypeScript | 4 210 |
| Ще не анонсований продукт | products/ | 4 049 | |
| noir-app | products/ | TypeScript | 3 380 |
| bookdiscord | products/ | JavaScript | 2 830 |
| flokzyweb | products/ | TypeScript | 1 906 |
| redstone-site | web/ | TypeScript | 1 512 |
| gity | tools/ | JavaScript | 1 175 |
| Ще не анонсований продукт | products/ | 401 | |
| migration | tools/ | Shell | 358 |
| gitcom | tools/ | Shell | 173 |
| gopolars | research/ | 0 |
Коміти
майже щодня
З 11 груд. 2025 р. у NoirSystems комітять людей: 11. Найтемніші квадрати: дні, пораховані у власній історії монорепозиторію.
- 0людей комітять
- 11 груд. 2025 р.перший коміт
- 0комітів у монорепозиторії
Наведіть на квадрат, щоб побачити день.
Проєктів 32,
директорій п’ять
Кожна директорія відповідає за щось одне, і проєкт лежить у тій, чия назва каже, що це за проєкт.
flokzy
products/flokzy
- TypeScript
- Kotlin
sunflow
products/sunflow
- Go
- TypeScript
crypto-ide
products/crypto-ide
- TypeScript
lavender
products/lavender
- Rust
- TypeScript
kvbnews
products/kvbnews
- Go
- TypeScript
- Python
drukko
products/drukko
- TypeScript
noir-app
products/noir-app
- TypeScript
noirwallet
products/noirwallet
- TypeScript
pikajuoksu
products/pikajuoksu
- TypeScript
pikajuoksu-server
products/pikajuoksu-server
- TypeScript
levonne
products/levonne
- Go
- Dart
foldtools
products/foldtools
- Kotlin
- Swift
noir-bots
products/noir-bots
- Python
flokzyweb
products/flokzyweb
- TypeScript
etat
products/etat
- Java
- Python
bookdiscord
products/bookdiscord
- JavaScript
noirsystems-site
web/noirsystems-site
- TypeScript
noir-bzh
web/noir-bzh
- TypeScript
noirid-site
web/noirid-site
- TypeScript
redstone-site
web/redstone-site
- TypeScript
noir-design
libs/noir-design
- CSS
- TypeScript
xandra-css
libs/xandra-css
- CSS
- JavaScript
pikajuoksu-core
libs/pikajuoksu-core
- TypeScript
gitcom
tools/gitcom
- Python
gity
tools/gity
- JavaScript
migration
tools/migration
- Shell
- Python
gopolars
research/gopolars
- Go
+5
внутрішніх проєктів, не показаних тут
Якими мовами
це написано
Рядки коду за мовами в усьому репозиторії.
| Мова | Рядки коду |
|---|---|
| 512 977 | |
| 77 971 | |
| 58 392 | |
| 37 237 | |
| 37 031 | |
| 36 307 | |
| 33 443 | |
| 12 699 | |
| 11 226 | |
| 12 712, SQL, Dart, Swift |
Жоден продуктне залежить від іншого
Nx бачить одну спільну бібліотеку, дизайн-систему NoirSystems, якою користуються три сайти, і жодної залежності між продуктами. Це виміряний стан, і ми його зберігаємо: жоден продукт не імпортує код іншого продукту.
Залиште граф незв’язним. Не додавайте штучних ребер, щоб він скидався на монорепозиторій.
Єдиний справжній зв’язок працює через протокол
CodeSea спілкується з Flokzy через HTTP: є версійований протокол, тестова фікстура й черга вихідних повідомлень. Дві програми, що обмінюються даними мережею, не імпортують одна одну, тож граф слушно цього зв’язку не малює.
Що дає один репозиторій
- Одне клонування
- Одне налаштування інструментів
- Один CI
- Одне місце для пошуку
Чотири правила,
на яких усе тримається
Жоден продукт не імпортує інший
Продукт може використовувати libs/ і власний код. Між собою продукти спілкуються через API, контракт подій або згенерований клієнт.
libs/ треба заслужити
Код переходить у libs/, коли його вже використовує другий продукт з іншої сфери. Спільного звалища коду немає.
Кожен проєкт сам відповідає за встановлення
Кожен проєкт має власний пакетний менеджер і lock-файл. Корінь репозиторію встановлює Nx і більше нічого.
Секрети не потрапляють у репозиторій
Git ігнорує файли оточення, ключі та сховища ключів, а кожен push перевіряє всю історію на витоки.
Сім команд
для кожного проєкту
Назви задач однакові в кожному проєкті, хоч би що працювало під капотом: Gradle, Go, pnpm, Maven чи pytest.
Однакові цілі всюди
- build
- test
- lint
- typecheck
- format
- dev
- e2e
- integration-test
- package
- deploy
pnpm bootstrap# інструменти, встановлення, git-хуки, перевірка стануpnpm env:check# що не так із цим комп’ютером і як це виправитиpnpm projects# що тут єpnpm graph# як усе пов’язаноpnpm affected# лінт, перевірка типів, тести й збирання лише для зміненихpnpm check# межі залежностей і контракт структуриnpx nx run <project>:<target># один проєкт, одна задача
Один конвеєр
для кожного push
CI запускає ті самі скрипти, що й ви на своєму комп’ютері, і лише для проєктів, яких торкнулася зміна.
Пошук секретів
gitleaks сканує всю історію, але спершу контрольний тест доводить, що він знаходить підкинутий ключ.
gitleaks git .Інструменти
mise встановлює точні версії, зафіксовані в mise.toml.
mise installМежі
pnpm check спершу підкидає свідомо погану залежність, тож чистий результат означає, що правила справді спрацювали.
pnpm checkЗачеплені проєкти
Nx визначає, яких проєктів торкається зміна.
nx show projects --affectedВстановлення
Залежності встановлюють лише зачеплені проєкти.
pnpm install:affectedПеревірка
Лінт, перевірка типів, тести й збирання, по три проєкти одночасно.
pnpm affected --parallel=3
Хочете працюватиз цим кодом?
Відкритих вакансій зараз немає, але ініціативні заявки ми читаємо. Напишіть, над яким продуктом хочете працювати.