cz-cli
JSDoc
cz-cli | JSDoc | |
---|---|---|
31 | 67 | |
16,381 | 14,762 | |
0.6% | 0.4% | |
2.3 | 9.3 | |
about 1 month ago | about 15 hours ago | |
JavaScript | JavaScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cz-cli
-
Aider: AI pair programming in your terminal
Adopt a convention like commitizen: https://github.com/commitizen/cz-cli
'typeofchange(scopeofchange): reason for change'
It sort helps force devs to type out more meaningful commit messages.
-
What is a good message and size for a commit?
Commitizen Define a interface to write your commits and automatically and a prefix and a suffix to your message. (and others features not related)
-
Subject-First Commit Messages
Conventional commits are great, especially if you add in commit linting.
Being able to programmatically increment semantic versions and automatically generate relevant changelogs is awesome.
It’s also nice to implement Commitizen[0] for a little hand holding until folks get used to the linting.
I used to care a lot about doing things the way that felt right to me, but now I just want some common standard that is easy for everyone to follow, easy to automate, and easy to verify programmatically.
Things like conventional commits and semantic versioning aren’t perfect, but they are quite good and apply broadly to many use cases with common tooling and conventions.
--
[0]: http://commitizen.github.io/cz-cli/
-
Automating code patterns with Husky
In the world of software development, maintaining consistent code quality and ensuring that the codebase adheres to predefined patterns and guidelines is crucial. However, manually enforcing these standards can be time-consuming and error-prone. This is where automation tools like Husky, Lint-Staged, Commitlint, and Commitizen come to the rescue. In this post, we will explore how these tools can be combined to streamline your development workflow.
-
How to set up Commitzen with Husky
Conventional commits specification contains a set of rules for creating an explicit commit history, which makes it easier to write automated tools on top of, for example, semantic release. You can manually follow this convention in your project or use a tool to assist you, such as Commitizen.
-
Automated release with Semantic Release and commitizen
When working with JavaScript projects, managing version numbers and commit messages is important for the maintainability of the project. Since 2020 I have been the main developer of Atomic Calendar Revive a highly customisable Home Assistant calendar card, I found maintaining versions and releases to be cumbersome until recently. In this article, I will introduce the commitizen and semantic-release packages for creation or appropriate commit messages and semantic versioning. I will also provide examples of how I am currently using these packages to streamline my release workflow and project maintenance.
-
Does it make sense to write commit messages that include notes to yourself on how the project is going?
I use Commitizen to enforce a strict commit message. It's not required - but it makes my life easier. It adheres to a standard - but it's certainly not "the" standard.
-
What is the relation between commitizen-tools/commitizen and commitizen/cz-cli?
When I googled, I found cz-cli project first: https://github.com/commitizen/cz-cli
-
Ideas for minimum PHP pipeline for a small team
Same thing with git commits. Something like commitizen. It forces a specific format of your commits. And if you're using an associated issue/bug tracker that can automatically link to commits you can set up to format like that.
-
How do I learn modern web development?
That may also serve as a good entry point for nodeJS via the tools: commitizen, commitLint. That is you implement them within your project, and then also think about how to implement via CI/CD remotely.
JSDoc
-
Eloquent JavaScript 4th edition (2024)
I wholeheartedly agree. At most, I introduce JSDoc[1] to newer developers as standardising how parameters and whatnot are commented at least gets you better documentation and _some_ safety without adding any TS knowledge overhead.
[1] https://jsdoc.app/
-
Learn how to document JavaScript/TypeScript code using JSDoc & Typedoc
This is where JSDoc comes to save the day.
-
Add typing to your Javascript code (without Typescript, kinda) ✍🏼
The best way to do this, of course, is with JSDoc. But something I always found awkward about jsdoc is defining the object types in the same file. So, after a lot of reading, I found a way to combine JSDoc with declaration type files from Typescript. Let me give you an example:
-
What is JSDoc and why you may not need typescript for your next project?
There is a lot of specific symbols presented on the JSDOC specification that can be found here: https://jsdoc.app
-
TypeScript Might Not Be Your God: Case Study of Migration from TS to JSDoc
JSDoc is a specification for the comment format in JavaScript. This specification allows developers to describe the structure of their code, data types, function parameters, and much more using special comments. These comments can then be transformed into documentation using appropriate tools.
-
Adding a search feature to my app
Working with new features, frameworks, and tools, the experience of reading documentation is a critical part of it. I have been lucky to work with projects that feature really easy to read documentation such as USWDS and Bun, but I've also had the misfortune to work with pretty terrible documentation like JSDoc. The JSDoc documentation lacks a search field which makes searching for specific items an ordeal and also does not cover many hidden use cases. It provides less than the bare minimum for what it needs to do - a lot of the time I am forced to rely on external user documentation elsewhere to use JSDoc effectively. That was why I was drawn to the search field in particular in Docusaurus.
-
JavaScript First, Then TypeScript
The Svelte team followed suit but motivated by the maintainer's developer experience as they migrated the project away from TypeScript in favor of plain JSDoc comments for type annotations instead.
-
No comments. Now what?
Even more relevant, tools like Javadoc, JSDoc, Doxygen, etc. read comments in a specific format to generate documentation. These comments do not affect readability. On the contrary, Javadocs are great for explaining how to use these entities. Combined with tools like my dear Doctest, we even get guarantees of accuracy and correctness!
-
The Complete 2023 Guide to Learning TypeScript - From Beginner to Advanced
Document types with JSDoc annotations
-
My opinionated JavaScript package template repository - zero config, start immediately
📚 JSDoc for documentation and jsdoc-to-markdown to create docs as markdown files
What are some alternatives?
semantic-release - :package::rocket: Fully automated version management and package publishing
ESDoc - ESDoc - Good Documentation for JavaScript
tig - Text-mode interface for git
documentation.js - :book: documentation for modern JavaScript
commitizen - Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
Docusaurus - Easy to maintain open source documentation websites.
tortoisegit - Windows Explorer Extension to Operate Git; Mirror of official repository https://tortoisegit.org/sourcecode
apiDoc - RESTful web API Documentation Generator.
release-please - generate release PRs based on the conventionalcommits.org spec
YUIDoc - YUI Javascript Documentation Tool
standard-version - :trophy: Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
storybook - Storybook is a frontend workshop for building UI components and pages in isolation. Made for UI development, testing, and documentation.