A collection of devtools

Stars 2
Current release commitlint-config-v0.0.0
View on GitHub

ls-age devtools

A collection of devtools




Like @commitlint/config-conventional, but with a sentence-cased subject

Following commit message guidelines makes it easier to follow semantic versioning, both if you manually publish releases or use a tool like @ls-age/bump-version to automate this. The commit message contains a type, a subject and (optionally) a scope:

fix(package): This is what happened

              ^ subject
    ^ scope
^ type
  • The type describes what kind of change was made. It should be one of the following: 'build', 'ci', 'chore', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test'.
  • The scope can optionally be set to the name of the sub-package or service that is affected by this commit.
  • The subject contains a human-readable description of the changes made. It should start with an uppercase letter.


Rollup plugin to check for unused files


This plugin helps you to keep your repository clean: It checks for source files that are not imported during a rollup build and reports them.


Update a section of a file


@ls-age/update-section provides an easy way to update files that are party generated.


<!-- -->

# My monorepo

## Packages

<!-- BEGIN packages -->
<!-- END packages -->
/* scripts/update-readme.js */

const Template = require('@ls-age/update-section');

// Update the packages list
const packages = [
  { name: 'First', description: 'My first package' },
  { name: 'Second', description: 'Another package' },

async function updateReadme() {
  // Generate a list of packages
  const packageList = => `- **${}** - ${p.description}`).join('\n');

  // ...and write it to the readme file
  await Template.updateSection('./', 'packages', packageList);

updateReadme().catch((error) => {
  process.exitCode = 1;

Running node scripts/update-readme.js results in:

<!-- -->

# My monorepo

## Packages

<!-- BEGIN packages -->
<!-- This section is generated, do not edit it! -->

- **First** - My first package
- **Second** - Another package

<!-- END packages -->