Thanks for taking an interest in improving easy-git-annex. Here are some suggestions to help you get started.
- Start your work on a new branch.
- The linter,
npm run lint
, is your friend. - When you're done, submit a pull request.
- I'll work with you to prepare for release.
- Update the tests as necessary.
- The script
npm run test
runs all tests. - The script
npm run test:noanx
skips the git-annex tests. - To view test coverage, use the command
npm run test:coverage
.
- To regenerate the documentation, use the command
npm run typedoc
.
- Add an empty entry for the foo command in the appropriate src/helpers/command-options.ts map.
- If the foo command has options, add interface FooOptions stub in src/interfaces/FooOptions.ts and export the interface in src/index.ts.
- Add the foo method to src/interfaces/git-annex-api.ts.
- Create the necessary stub test file(s) under tests/commands-*.
- Implement the foo method in src/git-annex-accessor.ts.
- One at a time, add any command options to FooOptions.ts, command-options.ts, and foo.test.ts (in the ApiOptions.noOp list).
- Write tests to demonstrate the other parameters are correctly connected to the actual foo command.
- Add a link and description line to the Documentation section of README.md.
- Yalc may be installed globally to test your easy-git-annex changes in your application.
- After building easy-git-annex with the
npm run build
command, use the commandnpm run yalc
to push the build. - Run
yalc add easy-git-annex
in your dependent project. - Rebuild your application and test normally.
- Create a build VM on GitHub by creating a codespace using the dev container defined in the repository.
- sets up a clean build environment
- Update the version number and release date in CHANGELOG.md and commit the file.
- $ npm version major|minor|patch
- runs package script preversion
- bumps package version per the version command parameter
- runs package script version
- git commit and tag
- runs package script postversion
- $ npm login
- $ npm publish
- Shut down and delete the codespace.
The easy-git-annex package uses the MIT license in LICENSE.md. Your contribution is included as described by the Contributor License Agreement in CLA.md.
You may contact me by e-mail, if desired. Please use the address in package.json.