diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json new file mode 100644 index 0000000..0332cc8 --- /dev/null +++ b/.claude-plugin/marketplace.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json.schemastore.org/claude-code-marketplace.json", + "name": "dev-productivity-kit", + "version": "1.0.0", + "description": "A collection of high-quality skills and utilities for mobile and backend developers.", + "owner": { + "name": "Nikita Vasilev", + "email": "nv3212@gmail.com" + }, + "plugins": [ + { + "name": "git-suite", + "source": "./", + "description": "A comprehensive suite of Git workflow skills, including automated conventional commits generation, automated pull request descriptions, smart merge conflict resolution guides, and interactive rebase assistance.", + "keywords": ["git", "conventional-commit", "workflow", "automation", "pull-request"], + "category": "development", + "skills": [ + "./skills/conventional-commits" + ] + } + ] +} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..95fca65 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,37 @@ +name: lint + +on: + push: + branches: + - main + pull_request: + paths: + - "skills/**" + +concurrency: + group: lint-${{ github.head_ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + discover-typos: + name: discover-typos + runs-on: macos-26 + env: + DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer + steps: + - uses: actions/checkout@v6 + + - name: Set up Python environment + run: | + python3 -m venv .venv + source .venv/bin/activate + pip install --upgrade pip + pip install codespell + + - name: Discover typos + run: | + source .venv/bin/activate + codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*" \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 0ed9fe1..a407081 100644 --- a/README.md +++ b/README.md @@ -1 +1,30 @@ -# skills \ No newline at end of file +

skills

+ +## Description +Dev Productivity Kit is a curated ecosystem of production-ready **Skills** and plugins tailored specifically for **Claude Code**. It enables mobile, backend, and platform engineers to automate daily boilerplate processes, enforce team formatting standards, and optimize cognitive load directly inside the terminal interface. + +## Available Plugins & Skills + +| Plugin Name | Skill Command | Description | +|-----------|----------------|----------------| +| git-suite | `/conventional-commits` | Generates semantic commits adhering to Conventional Commits 1.0.0. Max 50 chars for headers, 72 chars hard wrap for bodies, auto-detects BREAKING CHANGE. | + +## Author + +**Nikita Vasilev** +- Email: nv3212@gmail.com +- GitHub: [@ns-vasilev](https://github.com/ns-vasilev) + +## License + +`skills` is released under the MIT license. See [LICENSE](https://github.com/space-code/skills/blob/main/LICENSE) for details. + +--- + +
+ +**[⬆ back to top](#log)** + +Made with ❤️ by [space-code](https://github.com/space-code) + +
\ No newline at end of file diff --git a/skills/conventional-commits/SKILL.md b/skills/conventional-commits/SKILL.md new file mode 100644 index 0000000..6f10d85 --- /dev/null +++ b/skills/conventional-commits/SKILL.md @@ -0,0 +1,27 @@ +--- +name: conventional-commits +description: Generates structured git commit messages (header, body, and breaking changes) based on Conventional Commits. Trigger on "write a commit", "commit changes", or "сделай коммит". +--- + +# Conventional Commits Writer + +You are an automated tool for generating strict Conventional Commit messages. + +## Operational Workflow +1. Run `git diff --cached` to see staged changes. If empty, ask to stage or check unstaged changes. +2. Read the allowed types from `./references/specification.md` to classify the change correctly. +3. Generate the final commit message using the format below. + +## Formatting Constraints (Strict) +* **Header Line:** + * Format: `(): ` + * Max Length: **50 characters**. + * Case: Entirely lowercase. No trailing period. + * Verb: Must use the **imperative mood** (e.g., "add", "fix", "refactor" — NOT "added", "fixes"). +* **Body Section:** + * Must be separated from the header by a blank line. + * Line Wrapping: Hard wrap lines at **72 characters**. + * Content: Explain *why* and *what*, not *how*. Use bullet points if changing multiple areas. + +## Output Requirement +Return **only** the commit message inside a markdown code block. No conversational filler. \ No newline at end of file diff --git a/skills/conventional-commits/references/specification.md b/skills/conventional-commits/references/specification.md new file mode 100644 index 0000000..3218ad3 --- /dev/null +++ b/skills/conventional-commits/references/specification.md @@ -0,0 +1,18 @@ +# Conventional Commits Specification Reference + +## 1. Allowed Types +* `feat`: A new feature for the user (not for build scripts/tools). +* `fix`: A bug fix for the user (not for build scripts/tools). +* `docs`: Documentation only changes. +* `style`: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.). +* `refactor`: A code change that neither fixes a bug nor adds a feature. +* `perf`: A code change that improves performance. +* `test`: Adding missing tests or correcting existing tests. +* `build`: Changes that affect the build system or external dependencies (e.g., CocoaPods, Swift Package Manager, Gradle). +* `ci`: Changes to CI configuration files and scripts (e.g., GitHub Actions, GitLab CI). +* `chore`: Other changes that don't modify src or test files. + +## 2. Breaking Changes +If a change breaks backward compatibility, it must be marked: +1. Append `!` after the type/scope in the header. +2. Include `BREAKING CHANGE:` at the very beginning of the footer section, followed by a space and the description of what was broken and how to migrate. \ No newline at end of file