diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 00000000..0cd956f9 --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,107 @@ +# Changesets + +This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos or single-package repos to help version and publish code. Full documentation is available in the [Changesets repository](https://github.com/changesets/changesets). + +## What are Changesets? + +Changesets are a way to track changes to packages in your repository. Each changeset: + +- Describes the changes you've made +- Specifies the type of version bump needed (patch, minor, or major) +- Connects these changes with release notes +- Automates the versioning and publishing process + +## How to Use Changesets in Task Master + +### 2. Making Changes + +1. Create a new branch for your changes +2. Make your code changes +3. Write tests and ensure all tests pass + +### 3. Creating a Changeset + +After making changes, create a changeset by running: + +```bash +npx changeset +``` + +This will: + +- Walk you through a CLI to describe your changes +- Ask you to select impact level (patch, minor, major) +- Create a markdown file in the `.changeset` directory + +### 4. Impact Level Guidelines + +When choosing the impact level for your changes: + +- **Patch**: Bug fixes and minor changes that don't affect how users interact with the system + - Example: Fixing a typo in output text, optimizing code without changing behavior +- **Minor**: New features or enhancements that don't break existing functionality + - Example: Adding a new flag to an existing command, adding new task metadata fields +- **Major**: Breaking changes that require users to update their usage + - Example: Renaming a command, changing the format of the tasks.json file + +### 5. Writing Good Changeset Descriptions + +Your changeset description should: + +- Be written for end-users, not developers +- Clearly explain what changed and why +- Include any migration steps or backward compatibility notes +- Reference related issues or pull requests with `#issue-number` + +Examples: + +```md +# Good + +Added new `--research` flag to the `expand` command that uses Perplexity AI +to provide research-backed task expansions. Requires PERPLEXITY_API_KEY +environment variable. + +# Not Good + +Fixed stuff and added new flag +``` + +### 6. Committing Your Changes + +Commit both your code changes and the generated changeset file: + +```bash +git add . +git commit -m "Add feature X with changeset" +git push +``` + +### 7. Pull Request Process + +1. Open a pull request +2. Ensure CI passes +3. Await code review +4. Once approved and merged, your changeset will be used during the next release + +## Release Process (for Maintainers) + +When it's time to make a release: + +1. Ensure all desired changesets are merged +2. Run `npx changeset version` to update package versions and changelog +3. Review and commit the changes +4. Run `npm publish` to publish to npm + +This can be automated through Github Actions + +## Common Issues and Solutions + +- **Merge Conflicts in Changeset Files**: Resolve just like any other merge conflict +- **Multiple Changes in One PR**: Create multiple changesets if changes affect different areas +- **Accidentally Committed Without Changeset**: Create the changeset after the fact and commit it separately + +## Additional Resources + +- [Changesets Documentation](https://github.com/changesets/changesets) +- [Common Questions](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 00000000..d88011f6 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "restricted", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.changeset/flat-candies-wonder.md b/.changeset/flat-candies-wonder.md new file mode 100644 index 00000000..3256a26f --- /dev/null +++ b/.changeset/flat-candies-wonder.md @@ -0,0 +1,5 @@ +--- +"task-master-ai": patch +--- + +Added changeset config #39