Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/otanriverdi/ismetjs
🐙 A tool to automatically generate and manage git repo issues from TODO/FIXME comments.
https://github.com/otanriverdi/ismetjs
automation cli comment generator issue javascript nodejs pre-commit
Last synced: 5 days ago
JSON representation
🐙 A tool to automatically generate and manage git repo issues from TODO/FIXME comments.
- Host: GitHub
- URL: https://github.com/otanriverdi/ismetjs
- Owner: otanriverdi
- License: mit
- Created: 2020-11-09T18:50:51.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-10T03:39:22.000Z (almost 2 years ago)
- Last Synced: 2024-10-03T23:35:52.473Z (about 1 month ago)
- Topics: automation, cli, comment, generator, issue, javascript, nodejs, pre-commit
- Language: TypeScript
- Homepage: https://npmjs.com/ismetjs
- Size: 622 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![ismetjs](https://raw.githubusercontent.com/otanriverdi/ismetjs/master/assets/banner.png)](https://github.com/otanriverdi/ismetjs)
>_ A CLI tool to automatically generate and manage git repository issues from TODO/FIXME comments.
## Overview
```javascript
// TODO I'm going to become a Github issue!
console.log('Hello, World!');
````ismet` is a project management tool for small to medium sized teams. It combines the ease of use of TODO comments with the practicality of Github issues.
It creates and deletes Github issues by parsing your project for TODO/FIXME comments. TODO comments can be used as usual and `ismet` will handle the rest. Deleted comments will be removed from issues and duplicated comments will be stacked into a single issue automatically. No manual work needed!
## Quick Start
Install `ismet` to your project:
```sh
npm install -save-dev ismetjs
```Install [husky](https://github.com/typicode/husky/tree/master) to manage your git hooks:
```sh
npm install --save-dev husky
```Add `ismet` to your `package.json` scripts:
```
"ismet": "ismet"
```Add `ismet` to your post-commit hook inside the `package.json`:
```json
// package.json
{
"husky": {
"hooks": {
"post-commit": "npm run ismet",
}
}
}
```**Now, use TODO/FIXME comments as you normally would and `ismet` will do the rest!**
## Installation
### Install globally
```sh
npm install -g ismetjs
```Verify your installation:
```sh
ismet --version
```### Install locally
```sh
npm install -D ismetjs
```Add the script to your `package.json`:
```
"ismet": "ismet "
```## Project Setup
**It is recommended to run Ismet either in a post-commit hook or in CI.**
### Configuring for CI
Running `ismet` in CI requires a Github personal access token to be set as an environment variable called `GITHUB_TOKEN`. More information on how to create a personal access token can be found [here](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
**Your personal access token needs to have `repo` access.**
With that, you can add the `ismet ` command anywhere in your CI setup.
### Configuring to run in a post-commit hook
You can use a library like [husky](https://github.com/typicode/husky) to run `ismet` automatically post-commit. It is recommended to run it post-commit to have the latest updated code as the source.
You can use the command `ismet ` in your git hooks setup.
## Usage
To see all available commands:
```sh
ismet --help
```### Allowing access
`ismet` will start the login sequence using the Github OAuth API first time the command is run. Your token will be saved for later use.
If you don't want to login, you can use the `GITHUB_TOKEN` environment variable. See the **Configuring for CI** section to find out how to get a token.
### Listing all comments
You can use the list functionality to find the locations of comments to work on or if you want to see issues that will be created before submitting them on Github:
```sh
ismet --list
ismet -l
```### Issue generation
Add `TODO` or `FIXME` commands to your code.
```javascript
// TODO this is an ismet comment/* FIXME so is this */
```To run `ismet` and create your issues. By default, `node_modules` and everything inside `.gitignore` is ignored automatically:
```sh
ismet
```### Logging out
To log out from `ismet` and delete your access token:
```sh
ismet --logout
```## WiP for 3.0
- [ ] TypeScript support.
- [ ] GitLab support.
- [ ] Link to code in `list` output.