Hoi hoi! 👋
Last week, we launched the Necoz organization here on DEV!
And guess what?
28 cats have already joined us!!! 🙀🎉
YAYYYYY!!! 💚
A huge thank you to everyone who joined!
- @johnnylemonny
- @hanzla
- @star123
- @pjdeveloper896
- @mestonecold
- @leob
- @gtref
- @technogamerz
- @fiwon123
- @vignesh-j
- @akhourianmolkumar
- @francistrdev
- @hadil
- @earlgreyhot1701d
- @dj29
- @codingwithjiro
- @hemapriya_kanagala
- @sizzlebop
- @glnurltn
- @neithergalax
- @devstackhub
- @aditya_sorathiya_069252f4
- @heytechomaima
- @koda2026
- @tyleruploads
- @daniel_ng
- @madamherta
- @antonioprosperi2
Apparently, DEV only allows up to 10 mentions per article, so I've listed everyone using profile links instead. 🙀💚
But now that we've captured all these cats,
Where are we going to take them? 👀
Hehehe... We're building something behind the scenes. Stay tuned! 🐈🛸
🏆 New Contributors, Good Cats 😺😺😺
This week, we've had some awesome contributors joining our projects!
GOOD CATS!!! 😻🎉
Since this is our first weekly report, we're also celebrating everyone who contributed before this week!
So far, 35 amazing cats have contributed 71 merged pull requests across our projects! 🐈🎉
🧩 is-kit
necoz-oss
/
is-kit
Build small guards. Compose them. A lightweight, zero-dependency toolkit for building reusable TypeScript type guards that compose, refine, and preserve natural narrowing. Runtime-safe 🛡️, composable 🧩, and ergonomic ✨.
is-kit
Build small guards. Compose them.
is-kit is a lightweight, zero-dependency toolkit for building reusable TypeScript type guards.
is-kit is not just a collection of isX helpers. Its main focus is composing
small runtime checks into reusable guards while preserving useful TypeScript
narrowing.
It helps you write small isFoo functions, compose them into richer runtime
checks, refine properties on values you already know about, and keep
TypeScript narrowing natural inside regular control flow. Use it at runtime
boundaries when needed, without requiring a schema-first workflow.
Runtime-safe 🛡️, composable 🧩, and ergonomic ✨ without asking you to adopt a heavy schema workflow.
- Build and reuse typed guards
-
Compose guards with
and,or,not,oneOf - Use
refineKeyto narrow a child property while preserving its parent type - Validate object shapes and collections when that is useful
-
Parse or assert
unknownvalues without a large schema framework
Best…
-
Aaqibhafeezkhan — Improved
oneOfevaluation and short-circuit tests. (#385) -
AmirAbaris — Strengthened
refineKeytype-level tests. (#372) -
BoteroAlejandro11 — Improved
mapOfshort-circuit tests. (#416) - Doomguy-BFG9000 — Improved lazy predicate caching tests. (#392)
- GyulianoDev — Improved array guard short-circuit tests. (#414)
- Pratham2511 — Expanded sparse array and parsing edge-case coverage. (#393, #384)
-
crims0n — Improved
predicateToRefinetest coverage. (#386) -
diyaryavuz — Expanded refinement and
tupleOfedge-case tests. (#397, #377) -
guhcostan — Improved
safeParsedocumentation. (#370) -
nuriadevs — Clarified
isNumberdocumentation. (#371) -
painbaba — Fixed literal narrowing behavior in
oneOfValues. (#400) -
psjdeveloper — Improved
definepredicate coverage. (#394) -
saimskywalker — Fixed an edge case in
isPlainObject. (#406) -
srijavuppala — Strengthened
assertruntime guard tests. (#417) -
tridev-tej — Improved
safeJsonParseerror propagation tests. (#431) - tylrcc — Improved runtime guard tests and compatibility documentation. (#426, #425, #424, #423, #422)
🤖 changelog-bot
necoz-oss
/
changelog-bot
Automatic create changelog with AI. 🤖 It provides CLI and github actions. 🚀 https://www.npmjs.com/package/@nyaomaru/changelog-bot
Releases should feel exciting, not tedious.
@nyaomaru/changelog-bot 🤖 turns your Git history and release notes into a polished changelog entry (and optional PR) in a single run. Drop it into CI, run it locally, or hand it to your release captain—either way, you ship with a crisp changelog and zero copy-paste fatigue.
The GitHub repository is necoz-oss/changelog-bot. The npm package name is still @nyaomaru/changelog-bot. In workflows, use necoz-oss/changelog-bot. GitHub Actions does not follow repository redirects for actions or reusable workflows, so keep uses: on the new owner. Web and git URLs for nyaomaru/changelog-bot still redirect.
Why changelog-bot?
- Automated storytelling: Combines commit history, PR titles, and release notes to produce human-ready changelog sections.
- LLM superpowers (optional): Connect OpenAI or Anthropic for tone-aware summaries or skip API keys entirely and rely on a robust heuristic fallback.
- PR-ready output: Can open a pull request with updated changelog, compare links, and…
- 19algorythms — Added a Jest coverage script. (#299)
- Anantha-K — Fixed release version handling during changelog generation. (#251)
- GyulianoDev — Improved CLI error messages. (#307)
- KingEmma7 — Improved runtime validation using shared guards. (#265)
- Mayank-jaiswal13 — Refactored PR lookup logic and improved test maintainability. (#327, #306)
- MayurK-cmd — Expanded compare link generation tests. (#326)
- Prashaxt — Added JSON schema support and improved GitHub API tests. (#288, #274)
- Satorino01 — Expanded test coverage for repeated compare link updates. (#348)
- WebWizard5243 — Reduced duplication in metadata diagnostics. (#325)
- dbdefault — Simplified runtime validation using is-kit predicates, fixed PR linking inside fenced code blocks, and expanded title lookup and metadata fallback test coverage. (#352, #351, #349, #345, #342)
- enidchen0125 — Improved repository configuration validation. (#339)
- erSpell — Improved WHY extractor test coverage. (#276)
- jay23606 — Improved changelog file error handling. (#272)
- johnnylemonny — Contributed extensively to WHY extraction, evaluation, GitHub metadata handling, output delivery, Grok support, security, cross-platform compatibility, and much more! (View contributions)
- mangomac — Expanded release Markdown test coverage. (#275)
- noahkhomer18 — Fixed duplicate changelog bullet handling. (#324)
- sorathiya903 — Added practical output destination examples. (#309)
- tylrcc — Reduced code duplication across metadata, changelog utilities, and diagnostics. (#318, #317, #316)
- xryanlee — Improved documentation on how to claim an issue. (#330)
🦀 type-tune
type-tune
Give shared TypeScript types a better home. 😸
Scan. Review. Move. Validate.
type-tune is a Rust-powered CLI that finds shared TypeScript type aliases and interface declarations and helps move them without manually chasing imports.
It creates a reviewable plan, updates supported type imports and re-exports, and validates the rewrite with TypeScript. You decide what moves and where.
Guides for installation, the first scan, and the review workflow live in the official documentation. Releases are listed on GitHub Releases, and the package is type-tune on npm.
Why type-tune?
Types often start next to a component or utility, then end up shared across a project. Moving them later means tracking imports, local dependencies, and barrels by hand.
- Discover shared types with deterministic candidate IDs.
-
Review
plan.mdand choose the destination before making changes. - Rewrite supported type-only imports, aliases, and simple barrels while keeping compatibility re-exports at the original…
Thank you so much for your contributions! 💚
Remember, no contribution is too small!
Code, tests, documentation, bug reports, ideas, or even a simple question. Everything is welcome!
🌐 Necoz Website
necoz
Necoz B.V. website built with Astro, React islands, and custom scroll / walker animation logic.
Scroll down and enjoy the animations!
You can check it on mobile too 😸
Project Structure
The project is organized like this:
/
├── public/ # Static files served as-is
├── src/
│ ├── components/
│ │ ├── home/ # Homepage sections
│ │ └── ui/ # Reusable UI primitives and shared shells
│ │ ├── block/
│ │ ├── button/
│ │ ├── layout/
│ │ ├── mail/
│ │ ├── nyaomaru/
│ │ ├── scene/
│ │ ├── scroll/
│ │ └── text/
│ ├── layouts/ # Shared page layout shells
│ ├── lib/ # Non-visual shared logic
│ │ ├── nyaomaru/ # Walker controller, scene logic, scene models
│ │ ├── math.ts
│ │ └── site-links.ts
│ ├── pages/ # Route entrypoints
│ │ ├── index.astro
│ │ └── privacy-policy.astro
│…Even our little website is getting some love from our cats! 😻
🚀 From Discussion to Creation
One of our recent community discussions has already turned into a new open-source project called safe-paste! 🎉
necoz-oss
/
safe-paste
A lightweight, local-first browser extension for sensitive information before sharing. 😺🔎
safepaste
A lightweight, local-first browser extension for sensitive information before sharing. 😺🔎
It's a little tool designed to help prevent accidentally pasting sensitive information.
We're still in the early stages of development, so if you're interested, feel free to jump in and help us build it together! 🐾
You're also more than welcome to start your own discussions, share ideas, suggest new projects, or just chat with other cats!
👉 https://github.com/orgs/necoz-oss/discussions
Who knows? Your little idea might become our next open-source project! 👀
Don't be shy! We're friendly cats. Probably. 😼
👑 Cat of the Necoz
And our very first Cat of the Necoz is
🥁 Drumroll, please...
John has made an incredible number of contributions to changelog-bot, helping us improve everything from new features to testing, reliability, and security.
Thank you for all your amazing work, John!
You are officially a SUPER CAT!!! 😻👑🎉
Who will be our next Cat of the Necoz? 👀
🎮 Necoz Quests
Looking for your next adventure?
We've prepared some quests for curious cats! 🐾
🧩 is-kit
A lightweight TypeScript runtime type validation library.
🐾 Available Quests
- #434 — Verify that hasKey and hasKeys do not read property values
- #435 — Strengthen not runtime forwarding and error behavior
- #436 — Document oneOfValues equality and snapshot behavior
- #437 — Clarify safeJsonParse error boundaries
- #438 — Clarify equalsKey property and equality semantics
- #439 — Update outdated tsup references to tsdown
- #440 — Document oneOf evaluation and short-circuit behavior
- #441 — Improve tupleOf documentation
- #442 — Strengthen guardIn runtime forwarding tests
- #443 — Verify equals reference identity behavior
- #444 — Improve the pull request template
🚧 Current Major Quest — API Refinement
We're exploring ways to refine and simplify the public API to make is-kit more consistent, intuitive, and easier to use.
We're also improving our documentation and test coverage, so there are plenty of small quests for first-time contributors!
🤖 changelog-bot
An AI-powered tool that helps generate useful changelogs.
🐾 Available Quests
- #353 — Fix cross-platform path handling in tests
- #354 — Preserve unknown Markdown category headings
- #355 — Improve concurrency regression tests
- #356 — Expand sub-change suppression and deduplication tests
- #357 — Expand dependency relocation regression tests
🚧 Current Major Quest — Road to v1.0
We're continuing our journey toward v1.0, including improvements to changelog generation, audience filtering, and WHY extraction.
Step by step, we're getting closer to our first major release. 🚀
🦀 type-tune
A Rust-powered CLI that helps organize shared TypeScript types.
🐾 Available Quests
- #18 — Verify conditional, mapped, and generic type move safety
- #29 — Investigate indirect Vue consumers during TypeScript-only rewrites
- #32 — Detect circular dependencies introduced by type moves
🚧 Current Major Quest — Beyond TypeScript
We've been making progress on Vue support and validating type-tune against real-world Vue and Nuxt projects!
We're also exploring some exciting future features:
- #17 — Detect structurally identical type declarations
- #20 — Support TypeScript in Svelte components
- #21 — Support TypeScript in Astro components
Love Rust or TypeScript? There are plenty of adventures waiting for you! 🦀
🐈 Before Starting Your Quest
Found something you'd like to work on?
Before you start working on an issue, please check whether another cat has already claimed it and leave a comment to let us know you'd like to work on it. 🙏
Something as simple as
I'd like to work on this issue!
If another cat is already working on it, please choose another quest or ask if you can help.
This helps us avoid duplicate work and makes sure everyone's time and effort count. 💚
🌱 First contribution? No problem!
Pick a quest, ask questions, or simply join the discussion. Every little step counts!
Not sure where to start? Just leave a comment, and we'll help you find your first quest!
There are plenty of adventures for cats of all experience levels! 🐾
📰 Necoz Articles
Our cats have been busy writing too! 😸
From technical deep dives and beginner-friendly tutorials to community discussions and mysterious UFO adventures, we've already seen some amazing articles!
Let's check them out! 🐾
🐈 John
A deep dive into why changelogs should explain the WHY behind changes, rather than simply repeating commit messages. 😺
🐈 nyaomaru
The announcement that started our little adventure here on DEV! 🎉🎉🎉
🐈 Hanzla Baig
A wonderful reminder that even the smallest open-source contributions can make a meaningful difference.
This is exactly what Necoz is all about! 😸💚
🐈 Hanzla Baig
What if DEV had a dedicated space for developers to launch, share, and discover new projects? An interesting community discussion! 👍
🐈 Sᴛᴀʀ⭐
A lovely reminder that building your very first project is still something special, even in the age of AI. 😸
🐈 nyaomaru
Introducing type-tune, our new Rust-powered CLI for organizing shared TypeScript types! 🦀 (Actually, I'm allergic to crabs 🙀)
🐈 Prasoon Jadon
A beginner-friendly guide to making your first open-source contribution, covering the workflow from getting started to submitting a pull request. 😸
🐈 Sᴛᴀʀ⭐
Becoming a DEV Trusted Member at just 10 years old!
Congratulations, Star! 😻🎉
🐈 John
An interesting technical deep dive into the hidden context costs of MCP servers and tool-heavy AI agents. 😼🤖
🐈 Shruti Shahi
A humorous and relatable story about the experience of opening LinkedIn as a developer. 😸
🐈 Sᴛᴀʀ⭐
Learning Python loops inside the Necoz UFO?!
Even our mysterious spaceship is becoming a programming classroom! 😹🛸
🐈 Hanzla Baig
A useful improvement to DEV itself! You can now respond to organization invitations directly from your notifications. 😽
Congratulations on getting your PR merged! 🎉
Thank you to all our amazing writers! 😻💚
Want to publish your own article under Necoz?
Tutorials, technical deep dives, personal experiences, project announcements, or even stories about cats getting abducted by UFOs 🛸
Everything is welcome! 😹
Let's keep learning, sharing, and building together!
🔮 What's Next?
Starting now, I'll be sharing little Necoz updates and events every Sunday! 🐈
New members, contributors, quests, articles, and whatever strange things our cats have been doing!
And the week after next 👇
We're planning a little bring-your-own-something event! 👀🎉
What will everyone bring?
You'll find out soon!
Thanks for being part of Necoz! 💚
Happy coding! And stay a good cat! 🐈
Want to join our growing family of cats? 🐈
Feel free to leave a comment below!
There's always room for another cat in our little UFO. 🛸💚





Top comments (13)
Bro bro bro! 🙀 Wowww! I can see so many members and so many articles here. This is absolutely amazing! You mentioned me so many times, I honestly can't believe it! Ohhh, thank you so much, bro! It really means a lot to me. ❤️
And so many Pull Requests! Wowww! That's awesome! I know how to contribute, but my knowledge is still a little limited. This Sunday Series is such a great initiative. Seriously, it's really amazing!😃
I absolutely loved the cover image. It's so funny and creative! Super amazing, bro! 🐱✨ I can see UFOs everywhere here. Hoi Hoi! 🛸🌍🗽
By the way, bro, you forgot to describe the Necoz website! 🐱
Thank you so much, Star! I'm really happy that you enjoyed the article and the cover image! 😹🛸
And don't worry about your coding knowledge! Take your time, keep learning, and enjoy the journey. Your articles, creative ideas, and enthusiasm are already wonderful contributions to Necoz! I'm really happy to have you in our little community. 😸
Ohhh, you're right about the Necoz website! 🙀 I've just added the website contribution to the article. Thank you for reminding me!
Let's keep learning, creating, and having fun together!
More UFO adventures are coming! 🐈🛸💚
Wow! Can I join? 🙀 All my friends joined I want to join too 😺
Of course!! 🙀💚 I've just sent you an invitation, so please check your email!
Welcome aboard our little UFO! 🐈🛸🎉
Thank you!!! Now I have to figure out what to do after joining 🐈
WOW! You mentioned my PR in the post!!! 🙀 Thanks for that too!
Yeah bro 🥰
But how do I join? 🤔
Bro, I'm not the admin. @nyaomaru bro is, so he'll send the invitation.😃
@nyaomaru I also want to join 😿
Hoi hoi @nyaomaru! 👋 Super excited to be part of the Necoz crew and see the community already hit 28 members and 71 merged PRs! 🐈🚀
It's been a blast contributing to
changelog-botand watching the tools grow together. On my end, I've also just started building the foundation for SafePaste. Really looking forward to sharing updates and keeping the momentum going with everyone here! 😸🎉That is fantastic initiative! When I'm reading such articles I feel proud I'm on DEV!
Man, this is sooo cool! Thanks for the mentions and appreciation, everyone's so amazing!
Let's make this a blast! Yarou ze!✨🐱