From 68460bde1b4a8126e0d9949e5aeb7f5bbffc59ff Mon Sep 17 00:00:00 2001 From: DualFroz Date: Mon, 5 Oct 2026 15:41:11 +0200 Subject: [PATCH 1/2] feat: generate the profile numbers from ghapi scripts/update_readme_stats.py rewrites the intro totals, the numbers table, the languages table, the frameworks line and the open source list in both copies of both READMEs from ghapi.dualfroz.com, between stats markers, and a daily workflow runs it. --- .github/workflows/stats.yml | 24 +++++ scripts/update_readme_stats.py | 170 +++++++++++++++++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 .github/workflows/stats.yml create mode 100644 scripts/update_readme_stats.py diff --git a/.github/workflows/stats.yml b/.github/workflows/stats.yml new file mode 100644 index 0000000..3198d2d --- /dev/null +++ b/.github/workflows/stats.yml @@ -0,0 +1,24 @@ +name: stats + +on: + schedule: + - cron: "17 4 * * *" + workflow_dispatch: + +permissions: + contents: write + +jobs: + refresh: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Refresh numbers from ghapi + run: python3 scripts/update_readme_stats.py + - name: Commit when something changed + run: | + if git diff --quiet; then exit 0; fi + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git commit -am "chore: refresh readme stats" + git push diff --git a/scripts/update_readme_stats.py b/scripts/update_readme_stats.py new file mode 100644 index 0000000..0753ab5 --- /dev/null +++ b/scripts/update_readme_stats.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +"""Refresh the numbers in the VulCodeCom profile READMEs (pl and en) from ghapi. + +Rewrites four places, all from https://ghapi.dualfroz.com/v2/public: +- the intro sentence with lines of code and open source totals, +- the "In numbers" table and the diff block (between markers), +- the languages table and the frameworks line (), +- the open source list (). +Run it from the repository root: python3 scripts/update_readme_stats.py +""" +import json +import re +import urllib.request + +API = "https://ghapi.dualfroz.com/v2/public" +FILES = {"pl": ["profile/README.md", "README.md"], "en": ["profile/README.en.md", "README.en.md"]} + +TEXT = { + "pl": { + "loc": "linii kodu", "commits": "commitów", "projects": "projektów", + "oss_stars": "gwiazdek projektów OSS", "oss_projects": "projektów open source", + "languages": "języków", "days": "dni pracy", + "added": "linii dodanych", "removed": "linii usuniętych", "net": "linii netto", + "head": ("Język", "Linie kodu", "Commity", "Udział"), + "oss_intro": "> Projekty, do których regularnie kontrybuujemy (tylko te z zaakceptowanymi zmianami). " + "Projekty posortowane według liczby gwiazdek. Łącznie {stars}+ ⭐ w {repos} repozytoriach.", + "oss_head": "| Projekt | Gwiazdki | Język | Zmiany |", + }, + "en": { + "loc": "lines of code", "commits": "commits", "projects": "projects", + "oss_stars": "OSS project stars", "oss_projects": "open source projects", + "languages": "languages", "days": "working days", + "added": "lines added", "removed": "lines removed", "net": "net lines", + "head": ("Language", "Lines of code", "Commits", "Share"), + "oss_intro": "Code that made it into projects we use every day. **{prs}** merged pull requests " + "in **{repos}** repositories with **{stars}+** stars combined.", + "oss_head": "| Project | Stars | Language | Changes |", + }, +} + + +def get(path): + request = urllib.request.Request(f"{API}{path}", headers={"User-Agent": "dualfroz-readme"}) + with urllib.request.urlopen(request, timeout=60) as response: + return json.load(response) + + +def num(value, lang): + text = f"{int(value):,}" + return text.replace(",", " ") if lang == "pl" else text + + +def floor_to(value, step): + return value // step * step + + +def stars_short(value, lang): + if value < 1000: + return str(value) + k = f"{value / 1000:.1f}".rstrip("0").rstrip(".") + return f"{k.replace('.', ',')} tys." if lang == "pl" else f"{k}k" + + +def block(content, name, body): + start, end = f"", f"" + pattern = re.compile(re.escape(start) + r".*?" + re.escape(end), re.S) + if not pattern.search(content): + raise SystemExit(f"missing {start} markers") + return pattern.sub(lambda _: f"{start}\n{body}\n{end}", content) + + +def summary(s, lang): + t, oss = s["totals"], s["openSource"]["contributed"] + T = TEXT[lang] + net = t["linesAdded"] - t["linesRemoved"] + return f""" + + + + + + + + + + + +

{num(t["linesAdded"], lang)}

{T["loc"]}

{num(t["commits"], lang)}

{T["commits"]}

200+

{T["projects"]}

{num(floor_to(oss["stars"], 10_000), lang)}+

{T["oss_stars"]}

{num(oss["repos"], lang)}

{T["oss_projects"]}

{num(t["languages"], lang)}

{T["languages"]}

{num(t["activeDays"], lang)}

{T["days"]}
+ +```diff ++ {num(t["linesAdded"], lang)} {T["added"]} +- {num(t["linesRemoved"], lang)} {T["removed"]} +! {num(net, lang)} {T["net"]} +```""" + + +def languages(langs, frameworks, icons, lang): + T = TEXT[lang] + rows = [] + for item in langs: + pct = item["share"] * 100 + share = f"{pct:.1f}%" + if lang == "pl": + share = share.replace(".", ",") + bar = "█" * max(1, round(pct / 4.5)) + icon = icons.get(item["name"], "") + icon_td = f'{item[' if icon else "" + rows.append( + f' {icon_td}{item["name"]}' + f'{num(item["linesAdded"], lang)}' + f'{num(item["commits"], lang)}' + f'{share} {bar}' + ) + head = "".join(f'{h}' for i, h in enumerate(T["head"])) + table = '\n ' + head + "\n" + "\n".join(rows) + "\n
" + fw = " · ".join(f'{f["name"]} {f["repos"]}' for f in frameworks) + heading = ("**Frameworki i narzędzia wykryte w projektach** (liczba repozytoriów)" if lang == "pl" + else "**Frameworks & tools detected across projects** (repository count)") + return f"{table}\n\n{heading}\n\n{fw}" + + +def opensource(oss, lang): + T = TEXT[lang] + merged = sorted((p for p in oss["projects"] if p["merged"] > 0), key=lambda p: -p["stars"]) + stars = floor_to(oss["contributed"]["stars"], 10_000) + intro_line = T["oss_intro"].format(stars=num(stars, lang), repos=len(merged), prs=num(oss["pullRequests"]["merged"], lang)) + lines = [intro_line, "", T["oss_head"], "|---|---|---|---|"] + for p in merged: + lines.append( + f'| [{p["name"]}]({p["url"]}) | ⭐ {stars_short(p["stars"], lang)} | {p.get("language") or "-"} | ' + f'+{p["linesAdded"]} -{p["linesRemoved"]} |' + ) + return "\n".join(lines) + + +def intro(content, s, lang): + t, oss = s["totals"], s["openSource"]["contributed"] + millions = t["linesAdded"] // 1_000_000 + stars = floor_to(oss["stars"], 10_000) + if lang == "pl": + content = re.sub(r"ponad \*\*\d+ mln linijek kodu\*\*", f"ponad **{millions} mln linijek kodu**", content) + content = re.sub(r"cegiełkę do \*\*\d+ repozytoriów open source\*\*", f"cegiełkę do **{oss['repos']} repozytoriów open source**", content) + content = re.sub(r"mają \*\*[\d ]+\+ gwiazdek\*\*", f"mają **{num(stars, lang)}+ gwiazdek**", content) + else: + content = re.sub(r"more than \*\*\d+ million lines of code\*\*", f"more than **{millions} million lines of code**", content) + content = re.sub(r"contributed to \*\*\d+ open source repositories\*\*", f"contributed to **{oss['repos']} open source repositories**", content) + content = re.sub(r"\*\*[\d,]+\+ combined stars\*\*", f"**{num(stars, lang)}+ combined stars**", content) + return content + + +def main(): + frameworks = get("/frameworks")["frameworks"] + oss = get("/opensource?limit=500") + for lang, paths in FILES.items(): + s = get(f"/summary?lang={lang}") + langs = get(f"/languages?limit=100&lang={lang}")["languages"] + for path in paths: + content = open(path, encoding="utf-8").read() + icons = dict((m.group(2), m.group(1)) for m in re.finditer( + r'([^', content)) + content = intro(content, s, lang) + content = block(content, "summary", summary(s, lang)) + content = block(content, "languages", languages(langs, frameworks, icons, lang)) + content = block(content, "opensource", opensource(oss, lang)) + open(path, "w", encoding="utf-8").write(content) + print(f"{path}: updated") + + +if __name__ == "__main__": + main() From 99834d7f51dd4ce5063021fc970b88b6a559b868 Mon Sep 17 00:00:00 2001 From: DualFroz Date: Mon, 5 Oct 2026 15:41:11 +0200 Subject: [PATCH 2/2] chore: refresh profile stats --- README.en.md | 112 +++++++++++++++++++++++----------------- README.md | 118 +++++++++++++++++++++++++------------------ profile/README.en.md | 112 +++++++++++++++++++++++----------------- profile/README.md | 118 +++++++++++++++++++++++++------------------ 4 files changed, 266 insertions(+), 194 deletions(-) diff --git a/README.en.md b/README.en.md index efeae9d..0f3f822 100644 --- a/README.en.md +++ b/README.en.md @@ -17,7 +17,7 @@
-VulCode is a Polish software house with years of experience. Since 2020 we have delivered high-quality software and written more than **3 million lines of code** across **200+ projects**. We also contributed to **41 open source repositories** with **270,000+ combined stars** on GitHub. We specialize in websites, panels and dashboards, and applications, as well as building scalable platforms, and we actively contribute to dozens of open source projects. +VulCode is a Polish software house with years of experience. Since 2020 we have delivered high-quality software and written more than **5 million lines of code** across **200+ projects**. We also contributed to **53 open source repositories** with **410,000+ combined stars** on GitHub. We specialize in websites, panels and dashboards, and applications, as well as building scalable platforms, and we actively contribute to dozens of open source projects. ## 🧩 What we do @@ -107,25 +107,27 @@ A transparent, 7-step process from first call to production support: ## 📊 VulCode in numbers + - - + + - - + + - +

3,324,107

lines of code

17,647

commits

5,994,022

lines of code

23,830

commits

200+

projects

270,000+

OSS project stars

41

open source projects

410,000+

OSS project stars

53

open source projects

26

languages

1,634

working days

1,655

working days
```diff -+ 3,324,107 lines added -- 502,324 lines removed -! 2,821,783 net lines ++ 5,994,022 lines added +- 778,721 lines removed +! 5,215,301 net lines ``` +

Commit heatmap for the last year @@ -137,30 +139,31 @@ A transparent, 7-step process from first call to production support: Programming languages pie chart

+ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -169,7 +172,8 @@ A transparent, 7-step process from first call to production support: **Frameworks & tools detected across projects** (repository count) -Docker 61 · React 30 · Express 27 · Tailwind CSS 24 · Vite 24 · Motion 18 · Prisma 16 · discord.js 14 · Gorilla WebSocket 6 · SQLite 6 · Serde 6 · Stripe 5 · Tokio 5 · reqwest 5 · xUnit 5 · Axum 3 · Framer Motion 3 · PHPUnit 3 · Redis 3 · SQLx 3 · clap 3 · gRPC 3 · Avalonia 2 · BullMQ 2 · Chart.js 2 · Guzzle 2 · JUnit 2 · Jest 2 · Jetpack Compose 2 · Laravel 2 · Next.js 2 · Playwright 2 · Pterodactyl 2 · Spring Boot 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Android 1 +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 +Counted by my own API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) across every repository, private ones included. Updated daily. @@ -303,24 +307,30 @@ Docker 61 · React 30 · Express 27 · Tailwind ## 🌍 Open source -Code that made it into projects I use every day. **45** merged pull requests in **41** repositories with **270,000+** stars combined. + +Code that made it into projects we use every day. **70** merged pull requests in **53** repositories with **410,000+** stars combined. | Project | Stars | Language | Changes | |---|---|---|---| -| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.1k | C# | +4624-13 | -| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +8-2 | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91.3k | Rust | +123-10 | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.2k | C# | +4624-13 | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +135-4 | | [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22.2k | JavaScript | +50-4 | | [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21.4k | PHP | +41-2 | -| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.3k | Rust | +87-19 | -| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +76-4 | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.4k | Rust | +88-20 | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16.6k | PHP | +87-0 | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +183-18 | | [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14.2k | C# | +19-1 | -| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.5k | Go | +14-13 | -| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +42-1 | -| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +65-5 | -| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +76-6 | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.5k | Go | +19-13 | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +115-3 | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +124-11 | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11.1k | PHP | +72-2 | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +127-7 | | [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9.8k | C# | +14-1 | | [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8k | C# | +12-0 | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7.8k | TypeScript | +65-2 | | [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6.5k | C# | +19-0 | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6.1k | TypeScript | +69-13 | | [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5.5k | Rust | +48-2 | | [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5.3k | C# | +223-7 | | [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4.1k | JavaScript | +15-40 | @@ -329,25 +339,33 @@ Code that made it into projects I use every day. **45** merged pull requests in | [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3.5k | PHP | +22-9 | | [composer/satis](https://github.com/composer/satis) | ⭐ 3.3k | PHP | +55-10 | | [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3k | Go | +66-23 | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3k | Go | +124-14 | | [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3k | PHP | +17-0 | -| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 2.9k | Go | +124-14 | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.4k | PHP | +135-11 | | [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2.4k | Go | +12-0 | -| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.3k | PHP | +135-11 | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2.3k | PHP | +64-3 | | [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2.2k | PHP | +23-0 | | [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2.2k | Go | +89-2 | | [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1.9k | PHP | +3-2 | | [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1.6k | Go | +99-3 | | [gookit/color](https://github.com/gookit/color) | ⭐ 1.6k | Go | +12-1 | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1.6k | Python | +66-5 | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1.5k | Go | +45-1 | | [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1.4k | Python | +18-5 | | [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1.4k | PHP | +17-2 | | [go-playground/form](https://github.com/go-playground/form) | ⭐ 930 | Go | +35-0 | -| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 722 | Go | +22-1 | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22-1 | | [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29-8 | -| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 503 | Rust | +24-2 | -| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 336 | Python | +14-1 | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 504 | Rust | +24-2 | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 384 | Assembly | +146-12 | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67-36 | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124-1 | | [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32-2 | -| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 86 | Rust | +22-1 | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5-1 | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 87 | Rust | +22-1 | | [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18-2 | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255-6 | + ## ❓ Frequently asked questions diff --git a/README.md b/README.md index c5f59cf..877b6da 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@
-VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarczamy oprogramowanie wysokiej jakości i napisaliśmy już ponad **3 mln linijek kodu** w **200+ projektach**. Dołożyliśmy też swoją cegiełkę do **41 repozytoriów open source**, które łącznie mają **270 000+ gwiazdek** na GitHubie. Specjalizujemy się w stronach internetowych, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuujemy do dziesiątek projektów open source. +VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarczamy oprogramowanie wysokiej jakości i napisaliśmy już ponad **5 mln linijek kodu** w **200+ projektach**. Dołożyliśmy też swoją cegiełkę do **53 repozytoriów open source**, które łącznie mają **410 000+ gwiazdek** na GitHubie. Specjalizujemy się w stronach internetowych, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuujemy do dziesiątek projektów open source. ## 🧩 Czym się zajmujemy? @@ -107,25 +107,27 @@ Przejrzysty, 7-etapowy proces realizacji projektu: ## 📊 VulCode w liczbach +
LanguageLines of codeCommitsShare
TypeScriptTypeScript1,492,5364,40654.3% ████████████
RustRust255,9188929.3% ██
PHPPHP103,6311243.8% █
KotlinKotlin102,7597133.7% █
GoGo102,7023563.7% █
C#C#85,9186533.1% █
HTMLHTML80,0021242.9% █
JavaScriptJavaScript78,0033802.8% █
PythonPython66,8842522.4% █
C++C++55,5193492.0% █
SwiftSwift51,5033881.9% █
CC48,1353451.7% █
ZigZig44,5832841.6% █
ElixirElixir40,5252831.5% █
RubyRuby37,6552631.4% █
LuaLua32,0532061.2% █
CSSCSS21,7471930.8% █
SQLSQL14,9762780.5% █
JavaJava9,922660.4% █
DartDart6,013400.2% █
ShellShell4,857920.2% █
SoliditySolidity4,688330.2% █
TypeScriptTypeScript2,274,5036,20346.0% ██████████
RustRust988,7532,51620.0% ████
GoGo281,7829075.7% █
KotlinKotlin206,2507964.2% █
C#C#162,8727523.3% █
JavaScriptJavaScript140,0245002.8% █
PHPPHP130,9141492.6% █
SwiftSwift116,8124372.4% █
ElixirElixir91,8104381.9% █
PythonPython84,3753171.7% █
HTMLHTML80,5551451.6% █
CSSCSS61,7175021.2% █
C++C++57,2753581.2% █
CC49,3463551.0% █
ZigZig44,5832840.9% █
SQLSQL38,1145900.8% █
RubyRuby37,6552630.8% █
LuaLua32,0532060.6% █
ShellShell29,4112630.6% █
JavaJava13,788750.3% █
DartDart6,013400.1% █
SoliditySolidity4,688330.1% █
HaskellHaskell3,609280.1% █
ScalaScala3,133290.1% █
F#F#3,017180.1% █
- - + + - - + + - +

3 324 107

linii kodu

17 647

commitów

5 994 022

linii kodu

23 830

commitów

200+

projektów

270 000+

gwiazdek projektów OSS

41

projektów open source

410 000+

gwiazdek projektów OSS

53

projektów open source

26

języków

1 634

dni pracy

1 655

dni pracy
```diff -+ 3 324 107 linii dodanych -- 502 324 linii usuniętych -! 2 821 783 linii netto ++ 5 994 022 linii dodanych +- 778 721 linii usuniętych +! 5 215 301 linii netto ``` + ### Języki @@ -133,39 +135,41 @@ Przejrzysty, 7-etapowy proces realizacji projektu: Wykres kołowy języków programowania

+ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
JęzykLinie koduCommityUdział
TypeScriptTypeScript1 492 5364 40654,3% ████████████
RustRust255 9188929,3% ██
PHPPHP103 6311243,8% █
KotlinKotlin102 7597133,7% █
GoGo102 7023563,7% █
C#C#85 9186533,1% █
HTMLHTML80 0021242,9% █
JavaScriptJavaScript78 0033802,8% █
PythonPython66 8842522,4% █
C++C++55 5193492,0% █
SwiftSwift51 5033881,9% █
CC48 1353451,7% █
ZigZig44 5832841,6% █
ElixirElixir40 5252831,5% █
RubyRuby37 6552631,4% █
LuaLua32 0532061,2% █
CSSCSS21 7471930,8% █
SQLSQL14 9762780,5% █
JavaJava9 922660,4% █
DartDart6 013400,2% █
ShellShell4 857920,2% █
SoliditySolidity4 688330,2% █
HaskellHaskell3 609280,1% █
ScalaScala3 133290,1% █
F#F#3 017180,1% █
TypeScriptTypeScript2 274 5036 20346,0% ██████████
RustRust988 7532 51620,0% ████
GoGo281 7829075,7% █
KotlinKotlin206 2507964,2% █
C#C#162 8727523,3% █
JavaScriptJavaScript140 0245002,8% █
PHPPHP130 9141492,6% █
SwiftSwift116 8124372,4% █
ElixirElixir91 8104381,9% █
PythonPython84 3753171,7% █
HTMLHTML80 5551451,6% █
CSSCSS61 7175021,2% █
C++C++57 2753581,2% █
CC49 3463551,0% █
ZigZig44 5832840,9% █
SQLSQL38 1145900,8% █
RubyRuby37 6552630,8% █
LuaLua32 0532060,6% █
ShellShell29 4112630,6% █
JavaJava13 788750,3% █
DartDart6 013400,1% █
SoliditySolidity4 688330,1% █
HaskellHaskell3 609280,1% █
ScalaScala3 133290,1% █
F#F#3 017180,1% █
AssemblyAssembly39760,0% █
**Frameworki i narzędzia wykryte w projektach** (liczba repozytoriów) -Docker 61 · React 30 · Express 27 · Tailwind CSS 24 · Vite 24 · Motion 18 · Prisma 16 · discord.js 14 · Gorilla WebSocket 6 · SQLite 6 · Serde 6 · Stripe 5 · Tokio 5 · reqwest 5 · xUnit 5 · Axum 3 · Framer Motion 3 · PHPUnit 3 · Redis 3 · SQLx 3 · clap 3 · gRPC 3 · Avalonia 2 · BullMQ 2 · Chart.js 2 · Guzzle 2 · JUnit 2 · Jest 2 · Jetpack Compose 2 · Laravel 2 · Next.js 2 · Playwright 2 · Pterodactyl 2 · Spring Boot 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Android 1 +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 + Liczone przez moje API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) ze wszystkich repozytoriów, także prywatnych. Aktualizowane raz na 24 godziny. @@ -297,24 +301,30 @@ Docker 61 · React 30 · Express 27 · Tailwind ## 🌍 Open source -> Projekty, do których regularnie kontrybuujemy (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 270 000+ ⭐ w 41 repozytoriach. + +> Projekty, do których regularnie kontrybuujemy (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 410 000+ ⭐ w 53 repozytoriach. | Projekt | Gwiazdki | Język | Zmiany | |---|---|---|---| -| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,1 tys. | C# | +4624 -13 | -| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +8 -2 | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,3 tys. | Rust | +123 -10 | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,2 tys. | C# | +4624 -13 | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +135 -4 | | [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | +50 -4 | | [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | +41 -2 | -| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,3 tys. | Rust | +87 -19 | -| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +76 -4 | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | +88 -20 | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | +87 -0 | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +183 -18 | | [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | +19 -1 | -| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,5 tys. | Go | +14 -13 | -| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +42 -1 | -| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +65 -5 | -| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +76 -6 | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,5 tys. | Go | +19 -13 | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +115 -3 | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +124 -11 | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | +72 -2 | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +127 -7 | | [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | +14 -1 | | [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8 tys. | C# | +12 -0 | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | +65 -2 | | [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | +19 -0 | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | +69 -13 | | [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | +48 -2 | | [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | +223 -7 | | [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | +15 -40 | @@ -323,25 +333,33 @@ Docker 61 · React 30 · Express 27 · Tailwind | [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | +22 -9 | | [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | +55 -10 | | [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | +66 -23 | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | +124 -14 | | [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | +17 -0 | -| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 2,9 tys. | Go | +124 -14 | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,4 tys. | PHP | +135 -11 | | [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | +12 -0 | -| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,3 tys. | PHP | +135 -11 | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,3 tys. | PHP | +64 -3 | | [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | +23 -0 | | [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | +89 -2 | | [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | +3 -2 | | [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | +99 -3 | | [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | +12 -1 | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | +66 -5 | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | +45 -1 | | [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | +18 -5 | | [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | +17 -2 | | [go-playground/form](https://github.com/go-playground/form) | ⭐ 930 | Go | +35 -0 | -| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 722 | Go | +22 -1 | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | | [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | -| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 503 | Rust | +24 -2 | -| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 336 | Python | +14 -1 | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 504 | Rust | +24 -2 | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 384 | Assembly | +146 -12 | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | | [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | -| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 86 | Rust | +22 -1 | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 87 | Rust | +22 -1 | | [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | + ## ❓ Najczęstsze pytania diff --git a/profile/README.en.md b/profile/README.en.md index efeae9d..0f3f822 100644 --- a/profile/README.en.md +++ b/profile/README.en.md @@ -17,7 +17,7 @@
-VulCode is a Polish software house with years of experience. Since 2020 we have delivered high-quality software and written more than **3 million lines of code** across **200+ projects**. We also contributed to **41 open source repositories** with **270,000+ combined stars** on GitHub. We specialize in websites, panels and dashboards, and applications, as well as building scalable platforms, and we actively contribute to dozens of open source projects. +VulCode is a Polish software house with years of experience. Since 2020 we have delivered high-quality software and written more than **5 million lines of code** across **200+ projects**. We also contributed to **53 open source repositories** with **410,000+ combined stars** on GitHub. We specialize in websites, panels and dashboards, and applications, as well as building scalable platforms, and we actively contribute to dozens of open source projects. ## 🧩 What we do @@ -107,25 +107,27 @@ A transparent, 7-step process from first call to production support: ## 📊 VulCode in numbers + - - + + - - + + - +

3,324,107

lines of code

17,647

commits

5,994,022

lines of code

23,830

commits

200+

projects

270,000+

OSS project stars

41

open source projects

410,000+

OSS project stars

53

open source projects

26

languages

1,634

working days

1,655

working days
```diff -+ 3,324,107 lines added -- 502,324 lines removed -! 2,821,783 net lines ++ 5,994,022 lines added +- 778,721 lines removed +! 5,215,301 net lines ``` +

Commit heatmap for the last year @@ -137,30 +139,31 @@ A transparent, 7-step process from first call to production support: Programming languages pie chart

+ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -169,7 +172,8 @@ A transparent, 7-step process from first call to production support: **Frameworks & tools detected across projects** (repository count) -Docker 61 · React 30 · Express 27 · Tailwind CSS 24 · Vite 24 · Motion 18 · Prisma 16 · discord.js 14 · Gorilla WebSocket 6 · SQLite 6 · Serde 6 · Stripe 5 · Tokio 5 · reqwest 5 · xUnit 5 · Axum 3 · Framer Motion 3 · PHPUnit 3 · Redis 3 · SQLx 3 · clap 3 · gRPC 3 · Avalonia 2 · BullMQ 2 · Chart.js 2 · Guzzle 2 · JUnit 2 · Jest 2 · Jetpack Compose 2 · Laravel 2 · Next.js 2 · Playwright 2 · Pterodactyl 2 · Spring Boot 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Android 1 +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 +Counted by my own API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) across every repository, private ones included. Updated daily. @@ -303,24 +307,30 @@ Docker 61 · React 30 · Express 27 · Tailwind ## 🌍 Open source -Code that made it into projects I use every day. **45** merged pull requests in **41** repositories with **270,000+** stars combined. + +Code that made it into projects we use every day. **70** merged pull requests in **53** repositories with **410,000+** stars combined. | Project | Stars | Language | Changes | |---|---|---|---| -| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.1k | C# | +4624-13 | -| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +8-2 | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91.3k | Rust | +123-10 | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.2k | C# | +4624-13 | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +135-4 | | [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22.2k | JavaScript | +50-4 | | [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21.4k | PHP | +41-2 | -| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.3k | Rust | +87-19 | -| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +76-4 | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.4k | Rust | +88-20 | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16.6k | PHP | +87-0 | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +183-18 | | [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14.2k | C# | +19-1 | -| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.5k | Go | +14-13 | -| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +42-1 | -| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +65-5 | -| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +76-6 | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.5k | Go | +19-13 | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +115-3 | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +124-11 | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11.1k | PHP | +72-2 | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +127-7 | | [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9.8k | C# | +14-1 | | [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8k | C# | +12-0 | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7.8k | TypeScript | +65-2 | | [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6.5k | C# | +19-0 | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6.1k | TypeScript | +69-13 | | [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5.5k | Rust | +48-2 | | [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5.3k | C# | +223-7 | | [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4.1k | JavaScript | +15-40 | @@ -329,25 +339,33 @@ Code that made it into projects I use every day. **45** merged pull requests in | [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3.5k | PHP | +22-9 | | [composer/satis](https://github.com/composer/satis) | ⭐ 3.3k | PHP | +55-10 | | [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3k | Go | +66-23 | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3k | Go | +124-14 | | [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3k | PHP | +17-0 | -| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 2.9k | Go | +124-14 | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.4k | PHP | +135-11 | | [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2.4k | Go | +12-0 | -| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.3k | PHP | +135-11 | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2.3k | PHP | +64-3 | | [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2.2k | PHP | +23-0 | | [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2.2k | Go | +89-2 | | [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1.9k | PHP | +3-2 | | [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1.6k | Go | +99-3 | | [gookit/color](https://github.com/gookit/color) | ⭐ 1.6k | Go | +12-1 | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1.6k | Python | +66-5 | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1.5k | Go | +45-1 | | [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1.4k | Python | +18-5 | | [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1.4k | PHP | +17-2 | | [go-playground/form](https://github.com/go-playground/form) | ⭐ 930 | Go | +35-0 | -| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 722 | Go | +22-1 | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22-1 | | [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29-8 | -| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 503 | Rust | +24-2 | -| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 336 | Python | +14-1 | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 504 | Rust | +24-2 | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 384 | Assembly | +146-12 | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67-36 | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124-1 | | [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32-2 | -| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 86 | Rust | +22-1 | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5-1 | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 87 | Rust | +22-1 | | [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18-2 | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255-6 | + ## ❓ Frequently asked questions diff --git a/profile/README.md b/profile/README.md index c5f59cf..877b6da 100644 --- a/profile/README.md +++ b/profile/README.md @@ -17,7 +17,7 @@
-VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarczamy oprogramowanie wysokiej jakości i napisaliśmy już ponad **3 mln linijek kodu** w **200+ projektach**. Dołożyliśmy też swoją cegiełkę do **41 repozytoriów open source**, które łącznie mają **270 000+ gwiazdek** na GitHubie. Specjalizujemy się w stronach internetowych, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuujemy do dziesiątek projektów open source. +VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarczamy oprogramowanie wysokiej jakości i napisaliśmy już ponad **5 mln linijek kodu** w **200+ projektach**. Dołożyliśmy też swoją cegiełkę do **53 repozytoriów open source**, które łącznie mają **410 000+ gwiazdek** na GitHubie. Specjalizujemy się w stronach internetowych, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuujemy do dziesiątek projektów open source. ## 🧩 Czym się zajmujemy? @@ -107,25 +107,27 @@ Przejrzysty, 7-etapowy proces realizacji projektu: ## 📊 VulCode w liczbach +
LanguageLines of codeCommitsShare
TypeScriptTypeScript1,492,5364,40654.3% ████████████
RustRust255,9188929.3% ██
PHPPHP103,6311243.8% █
KotlinKotlin102,7597133.7% █
GoGo102,7023563.7% █
C#C#85,9186533.1% █
HTMLHTML80,0021242.9% █
JavaScriptJavaScript78,0033802.8% █
PythonPython66,8842522.4% █
C++C++55,5193492.0% █
SwiftSwift51,5033881.9% █
CC48,1353451.7% █
ZigZig44,5832841.6% █
ElixirElixir40,5252831.5% █
RubyRuby37,6552631.4% █
LuaLua32,0532061.2% █
CSSCSS21,7471930.8% █
SQLSQL14,9762780.5% █
JavaJava9,922660.4% █
DartDart6,013400.2% █
ShellShell4,857920.2% █
SoliditySolidity4,688330.2% █
TypeScriptTypeScript2,274,5036,20346.0% ██████████
RustRust988,7532,51620.0% ████
GoGo281,7829075.7% █
KotlinKotlin206,2507964.2% █
C#C#162,8727523.3% █
JavaScriptJavaScript140,0245002.8% █
PHPPHP130,9141492.6% █
SwiftSwift116,8124372.4% █
ElixirElixir91,8104381.9% █
PythonPython84,3753171.7% █
HTMLHTML80,5551451.6% █
CSSCSS61,7175021.2% █
C++C++57,2753581.2% █
CC49,3463551.0% █
ZigZig44,5832840.9% █
SQLSQL38,1145900.8% █
RubyRuby37,6552630.8% █
LuaLua32,0532060.6% █
ShellShell29,4112630.6% █
JavaJava13,788750.3% █
DartDart6,013400.1% █
SoliditySolidity4,688330.1% █
HaskellHaskell3,609280.1% █
ScalaScala3,133290.1% █
F#F#3,017180.1% █
- - + + - - + + - +

3 324 107

linii kodu

17 647

commitów

5 994 022

linii kodu

23 830

commitów

200+

projektów

270 000+

gwiazdek projektów OSS

41

projektów open source

410 000+

gwiazdek projektów OSS

53

projektów open source

26

języków

1 634

dni pracy

1 655

dni pracy
```diff -+ 3 324 107 linii dodanych -- 502 324 linii usuniętych -! 2 821 783 linii netto ++ 5 994 022 linii dodanych +- 778 721 linii usuniętych +! 5 215 301 linii netto ``` + ### Języki @@ -133,39 +135,41 @@ Przejrzysty, 7-etapowy proces realizacji projektu: Wykres kołowy języków programowania

+ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
JęzykLinie koduCommityUdział
TypeScriptTypeScript1 492 5364 40654,3% ████████████
RustRust255 9188929,3% ██
PHPPHP103 6311243,8% █
KotlinKotlin102 7597133,7% █
GoGo102 7023563,7% █
C#C#85 9186533,1% █
HTMLHTML80 0021242,9% █
JavaScriptJavaScript78 0033802,8% █
PythonPython66 8842522,4% █
C++C++55 5193492,0% █
SwiftSwift51 5033881,9% █
CC48 1353451,7% █
ZigZig44 5832841,6% █
ElixirElixir40 5252831,5% █
RubyRuby37 6552631,4% █
LuaLua32 0532061,2% █
CSSCSS21 7471930,8% █
SQLSQL14 9762780,5% █
JavaJava9 922660,4% █
DartDart6 013400,2% █
ShellShell4 857920,2% █
SoliditySolidity4 688330,2% █
HaskellHaskell3 609280,1% █
ScalaScala3 133290,1% █
F#F#3 017180,1% █
TypeScriptTypeScript2 274 5036 20346,0% ██████████
RustRust988 7532 51620,0% ████
GoGo281 7829075,7% █
KotlinKotlin206 2507964,2% █
C#C#162 8727523,3% █
JavaScriptJavaScript140 0245002,8% █
PHPPHP130 9141492,6% █
SwiftSwift116 8124372,4% █
ElixirElixir91 8104381,9% █
PythonPython84 3753171,7% █
HTMLHTML80 5551451,6% █
CSSCSS61 7175021,2% █
C++C++57 2753581,2% █
CC49 3463551,0% █
ZigZig44 5832840,9% █
SQLSQL38 1145900,8% █
RubyRuby37 6552630,8% █
LuaLua32 0532060,6% █
ShellShell29 4112630,6% █
JavaJava13 788750,3% █
DartDart6 013400,1% █
SoliditySolidity4 688330,1% █
HaskellHaskell3 609280,1% █
ScalaScala3 133290,1% █
F#F#3 017180,1% █
AssemblyAssembly39760,0% █
**Frameworki i narzędzia wykryte w projektach** (liczba repozytoriów) -Docker 61 · React 30 · Express 27 · Tailwind CSS 24 · Vite 24 · Motion 18 · Prisma 16 · discord.js 14 · Gorilla WebSocket 6 · SQLite 6 · Serde 6 · Stripe 5 · Tokio 5 · reqwest 5 · xUnit 5 · Axum 3 · Framer Motion 3 · PHPUnit 3 · Redis 3 · SQLx 3 · clap 3 · gRPC 3 · Avalonia 2 · BullMQ 2 · Chart.js 2 · Guzzle 2 · JUnit 2 · Jest 2 · Jetpack Compose 2 · Laravel 2 · Next.js 2 · Playwright 2 · Pterodactyl 2 · Spring Boot 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Android 1 +Docker 61 · React 30 · Express 27 · Vite 25 · Tailwind CSS 24 · Motion 18 · Prisma 16 · discord.js 14 · Serde 10 · Tokio 7 · reqwest 7 · Gorilla WebSocket 6 · SQLite 6 · xUnit 6 · Stripe 5 · Avalonia 4 · Axum 4 · JUnit 4 · PHPUnit 4 · Playwright 4 · SQLx 4 · Framer Motion 3 · Jetpack Compose 3 · Redis 3 · Vitest 3 · clap 3 · gRPC 3 · wasm-bindgen 3 · Android 2 · BullMQ 2 · Chart.js 2 · Coroutines 2 · Guzzle 2 · Jest 2 · Laravel 2 · Next.js 2 · Pterodactyl 2 · Zod 2 · aiohttp 2 · discord.py 2 · i18next 2 · webpack 2 · Cobra 1 · Discord.Net 1 · Docker SDK 1 · Ecto 1 · Electron 1 · Expo 1 · FastAPI 1 · GORM 1 · Gin 1 · HTTPX 1 · Json.NET 1 · Paper 1 · PostgreSQL 1 · Preact 1 · Ratatui 1 · React Native 1 · Spring Boot 1 · Tauri 1 · chi 1 · discordgo 1 · gopher-lua 1 · pytest 1 · tonic 1 + Liczone przez moje API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) ze wszystkich repozytoriów, także prywatnych. Aktualizowane raz na 24 godziny. @@ -297,24 +301,30 @@ Docker 61 · React 30 · Express 27 · Tailwind ## 🌍 Open source -> Projekty, do których regularnie kontrybuujemy (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 270 000+ ⭐ w 41 repozytoriach. + +> Projekty, do których regularnie kontrybuujemy (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 410 000+ ⭐ w 53 repozytoriach. | Projekt | Gwiazdki | Język | Zmiany | |---|---|---|---| -| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,1 tys. | C# | +4624 -13 | -| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +8 -2 | +| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,3 tys. | Rust | +123 -10 | +| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,2 tys. | C# | +4624 -13 | +| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +135 -4 | | [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | +50 -4 | | [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | +41 -2 | -| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,3 tys. | Rust | +87 -19 | -| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +76 -4 | +| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | +88 -20 | +| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | +87 -0 | +| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +183 -18 | | [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | +19 -1 | -| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,5 tys. | Go | +14 -13 | -| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +42 -1 | -| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +65 -5 | -| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +76 -6 | +| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,5 tys. | Go | +19 -13 | +| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +115 -3 | +| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +124 -11 | +| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | +72 -2 | +| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +127 -7 | | [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | +14 -1 | | [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8 tys. | C# | +12 -0 | +| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | +65 -2 | | [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | +19 -0 | +| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | +69 -13 | | [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | +48 -2 | | [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | +223 -7 | | [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | +15 -40 | @@ -323,25 +333,33 @@ Docker 61 · React 30 · Express 27 · Tailwind | [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | +22 -9 | | [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | +55 -10 | | [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | +66 -23 | +| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | +124 -14 | | [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | +17 -0 | -| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 2,9 tys. | Go | +124 -14 | +| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,4 tys. | PHP | +135 -11 | | [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | +12 -0 | -| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,3 tys. | PHP | +135 -11 | +| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,3 tys. | PHP | +64 -3 | | [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | +23 -0 | | [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | +89 -2 | | [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | +3 -2 | | [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | +99 -3 | | [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | +12 -1 | +| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | +66 -5 | +| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | +45 -1 | | [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | +18 -5 | | [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | +17 -2 | | [go-playground/form](https://github.com/go-playground/form) | ⭐ 930 | Go | +35 -0 | -| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 722 | Go | +22 -1 | +| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | | [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | -| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 503 | Rust | +24 -2 | -| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 336 | Python | +14 -1 | +| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 504 | Rust | +24 -2 | +| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 384 | Assembly | +146 -12 | +| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | +| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | | [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | -| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 86 | Rust | +22 -1 | +| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | +| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 87 | Rust | +22 -1 | | [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | +| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | + ## ❓ Najczęstsze pytania