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, 34 amazing cats have contributed 70 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!
🚀 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! 😸💚




