Skip to content

hitoshura25/claude-devtools

Repository files navigation

Claude DevTools

A comprehensive collection of skills and commands for enforcing quality gates in software development with Claude Code.

Overview

This repository provides Claude Code with systematic workflows for implementing features with proper quality assurance. Every code change goes through mandatory quality gates:

  1. Testing - Write and run tests
  2. Linting - Check code style and quality
  3. Security - Scan for vulnerabilities

Quick Start

Installation

  1. Clone this repository:
git clone https://github.com/hitoshura25/claude-devtools.git ~/.claude-devtools
  1. Run the installer:
cd ~/.claude-devtools
chmod +x install.sh
./install.sh

This installs skills and commands globally - they work in ALL projects!

Options:

  • Default (symlinks): Updates auto-propagate with git pull
  • ./install.sh --copy: Independent installation (won't auto-update)
  1. Restart Claude Code or start a new session

Usage

In Claude Code, use these commands:

Commands work in all projects automatically:

Create a specification for a feature:

/devtools:spec "Plan user authentication system with JWT"

Implement a feature with full quality gates:

/devtools:develop "Add user authentication with JWT"

Run quality checks on existing code:

/devtools:validate

Just run tests:

/devtools:test

Just run linting:

/devtools:lint

Just run security scans:

/devtools:security

Setup PyPI publishing:

/devtools:setup-pypi

Setup npm publishing:

/devtools:setup-npm

Why /devtools: prefix? Prevents name conflicts - you can still have your own /test command!

Skills

Planning & Specification

  • spec-creation - Create specification documents in ./specs/ for context retention across sessions

Quality Gates (Granular)

These skills handle individual quality checks:

  • testing-setup - Configure test framework if not already setup
  • testing-tdd - Write tests, run them, fix failures
  • linting-setup - Configure linter if not already setup
  • linting-check - Run linter, fix issues
  • security-setup - Configure security tools if not already setup
  • security-check - Run security scans, address findings

Orchestration

  • feature-development - Master workflow that runs all quality gates in sequence (includes spec creation)

Workflow Generation

  • pypi-publishing - Setup automated PyPI publishing with GitHub Actions
  • npm-publishing - Setup automated npm publishing with GitHub Actions

Android Release & Publishing

Comprehensive Android app release and Play Store deployment:

  • android-release-build-setup - Complete release build configuration (keystores, ProGuard, signing)
  • android-e2e-testing-setup - End-to-end testing with Espresso
  • android-release-validation - Validate release builds before publishing
  • android-playstore-setup - Google Play Console integration
  • android-playstore-publishing - GitHub Actions workflow for Play Store deployment
  • android-playstore-pipeline - Complete end-to-end setup in one command

How It Works

When you run /devtools:develop "feature description", Claude:

  1. Assesses complexity → Creates spec in ./specs/ if needed (spec-creation)
  2. Implements the feature according to your specification
  3. Checks if tests exist → Sets up test framework if needed (testing-setup)
  4. Writes tests → Runs them → Fixes failures (testing-tdd)
  5. Checks if linter exists → Sets up linter if needed (linting-setup)
  6. Runs linter → Fixes issues (linting-check)
  7. Checks if security tools exist → Sets up tools if needed (security-setup)
  8. Runs security scans → Addresses findings (security-check)
  9. Updates spec with completion status (if spec was created)
  10. Reports completion only when ALL gates pass

Spec Creation: Claude intelligently decides when to create a spec based on complexity. You can explicitly request or decline with:

  • /devtools:develop "feature (create spec)" - Always creates spec
  • /devtools:develop "feature (no spec)" - Never creates spec
  • /devtools:develop "feature" - AI decides based on complexity

Supported Languages

  • TypeScript/JavaScript - Jest/Vitest, ESLint, Prettier, Semgrep, npm audit
  • Python - pytest, Ruff/Pylint, Semgrep, pip-audit, bandit
  • Kotlin/Android - JUnit, ktlint, Detekt, Semgrep, OWASP Dependency-Check

Commands Reference

/devtools:spec

Create a specification document for a feature without implementing it.

Usage:

/devtools:spec "Plan user authentication system"
/devtools:spec "Design API for payment processing"

What it does:

  • Analyzes feature requirements
  • Explores codebase for context
  • Creates spec file in ./specs/YYYY-MM-DD-feature-name.md
  • Chooses appropriate detail level (1, 2, or 3)
  • Enables session resumption for complex work

/devtools:develop

Implement a feature with complete quality gates.

Usage:

/devtools:develop "Add password reset functionality"
/devtools:develop "Fix bug where users can't upload images"
/devtools:develop "Refactor authentication module (create spec)"
/devtools:develop "Simple typo fix (no spec)"

What it does:

  • Assesses complexity and creates spec if needed
  • Implements the feature
  • Sets up testing/linting/security if needed
  • Writes and runs tests
  • Runs linting and fixes issues
  • Runs security scans
  • Updates spec with completion status
  • Only completes when all gates pass

Spec control:

  • Add (create spec) to force spec creation
  • Add (no spec) to skip spec creation
  • Omit for AI to decide based on complexity

/devtools:validate

Run all quality gates on existing code without implementing new features.

Usage:

/devtools:validate

What it does:

  • Runs tests (sets up if needed)
  • Runs linting (sets up if needed)
  • Runs security scans (sets up if needed)
  • Reports all issues found

/devtools:test

Focus on testing only.

Usage:

/devtools:test "the authentication module"
/devtools:test

What it does:

  • Sets up test framework if needed
  • Writes/updates tests
  • Runs tests until all pass

/devtools:lint

Focus on linting only.

Usage:

/devtools:lint

What it does:

  • Sets up linter if needed
  • Runs linting checks
  • Auto-fixes what's possible
  • Reports remaining issues

/devtools:security

Focus on security scanning only.

Usage:

/devtools:security

What it does:

  • Sets up security tools if needed
  • Runs Semgrep (static analysis)
  • Runs OSV-Scanner (dependency vulnerabilities)
  • Reports all security findings

/devtools:setup-pypi

Setup automated PyPI publishing workflow for Python projects.

Usage:

/devtools:setup-pypi

What it does:

  • Gathers project information (package name, author, etc.)
  • Creates pyproject.toml and setup.py if needed
  • Generates 3 GitHub Actions workflows (release, PR testing, reusable)
  • Creates version calculation script
  • Provides instructions for PyPI Trusted Publishers setup

Features:

  • PyPI Trusted Publishers (no API tokens needed)
  • Automatic versioning with setuptools_scm
  • TestPyPI publishing for pull requests
  • Fail-safe tag creation (only after successful publish)

/devtools:setup-npm

Setup automated npm publishing workflow for TypeScript/JavaScript packages.

Usage:

/devtools:setup-npm

What it does:

  • Reads package.json for package information
  • Supports monorepos with package-specific paths
  • Generates GitHub Actions workflow
  • Provides instructions for NPM_TOKEN setup

Features:

  • Automatic publishing on push to main
  • RC (release candidate) versions for pull requests
  • Monorepo support with path-based triggers
  • Automatic version bumping

/devtools:android-release-setup

Setup complete Android release build configuration with dual keystore strategy.

Usage:

/devtools:android-release-setup

What it does:

  • Analyzes Android project structure
  • Generates production keystore (CI/CD only)
  • Generates local development keystore
  • Configures ProGuard/R8 minification
  • Updates build.gradle.kts with signing config
  • Creates gradle.properties.template
  • Updates .gitignore for security

Features:

  • Dual keystore strategy (production + local dev)
  • Auto-generated secure passwords
  • Base64 encoding for GitHub Secrets
  • ProGuard safe defaults with library-specific rules
  • Dual-source credentials (env vars + gradle.properties)
  • Comprehensive security warnings and documentation

Configuration

Project-Specific Commands

You can customize commands per project by editing .claude/commands.json:

{
  "commands": [
    {
      "name": "develop",
      "description": "Custom develop workflow",
      "prompt": "Follow /Users/vinayakmenon/claude-devtools/skills/feature-development/SKILL.md but skip security checks for now"
    }
  ]
}

Skill Customization

Skills are just markdown files. You can:

  • Fork and modify for your needs
  • Add project-specific requirements
  • Adjust quality thresholds

Architecture

claude-devtools/
├── skills/                    # The intelligence
│   ├── testing-setup/        # Setup test framework
│   ├── testing-tdd/          # Write and run tests
│   ├── linting-setup/        # Setup linter
│   ├── linting-check/        # Run linting
│   ├── security-setup/       # Setup security tools
│   ├── security-check/       # Run security scans
│   ├── feature-development/  # Orchestrates all gates
│   ├── pypi-publishing/      # PyPI workflow generation
│   │   └── templates/        # Workflow templates
│   └── npm-publishing/       # npm workflow generation
│       └── templates/        # Workflow templates
│
├── commands/                  # Claude Code commands
│   └── commands.json         # Command definitions
│
└── configs/                   # Reusable configurations (future)
    ├── semgrep/              # Security rules
    ├── eslint/               # Linting rules
    └── jest/                 # Test configs

Why This Approach?

Skills over CLI:

  • No dependencies to install
  • Works across all languages
  • Transparent - you can read what Claude will do
  • Easy to customize per project

Granular skills over monolithic:

  • Reusable components
  • Can run individually (/test, /lint, /security)
  • Easy to debug when something fails
  • Can compose into different workflows

Mandatory quality gates:

  • Catches bugs early
  • Prevents security vulnerabilities
  • Maintains code quality
  • No shortcuts - quality is enforced

Best Practices

  1. Always use /develop for new features - ensures quality gates run
  2. Run /validate before pushing - catches issues locally
  3. Don't skip security scans - critical/high findings must be addressed
  4. Document exceptions - if you disable a rule, explain why
  5. Keep tools updated - regular updates catch new vulnerabilities

Troubleshooting

Skills not found:

# Check symlink exists
ls -la ~/.config/claude-code/skills/user/devtools

# Recreate if needed
ln -s ~/.claude-devtools/skills ~/.config/claude-code/skills/user/devtools

Commands not working:

# Ensure commands.json exists in project
ls .claude/commands.json

# Copy from template
cp ~/.claude-devtools/commands/commands.json .claude/

Quality gates taking too long:

  • Consider running only changed files for linting
  • Use test filtering for large test suites
  • Configure security tool exclusions

Roadmap

Phase 1 (Complete)

  • ✅ Core quality gate skills (testing, linting, security)
  • ✅ Feature development orchestration
  • ✅ Claude Code commands

Phase 2 (Complete)

  • ✅ Workflow generation skills (PyPI, npm)
  • ✅ PyPI Trusted Publishers support
  • ✅ npm monorepo support

Phase 3 (Complete) ✅

  • ✅ Android Play Store deployment workflows
  • ✅ Skills architecture refactoring
  • ✅ Atomic skills decomposition
  • ✅ ~95% reliability per skill

Phase 4 (Future)

  • Project scaffolding templates
  • Reusable config files
  • CI/CD integration helpers
  • Pre-commit hook generation
  • Quality metrics tracking

Contributing

Contributions welcome! Please:

  1. Follow existing skill format
  2. Test skills on real projects
  3. Document any new patterns
  4. Submit PR with clear description

License

Apache-2.0

Author

Vinayak Menon

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published