Files
headlamp-sealed-secrets-plugin/CONTRIBUTING.md
T
DevContainer User af95c3795c chore: move source to repo root and standardize config
Phase 1 — Structural overhaul:
- Move all source from headlamp-sealed-secrets/ subdirectory to repo root
- Delete 23 AI-generated docs, 8 pre-built tarballs, release snapshots dir
- Remove all working-directory refs from CI/release workflows
- Update install-plugin.sh and typedoc.json paths

Phase 2 — Config standardization:
- Create .eslintrc.js and .prettierrc.js (standard Headlamp configs)
- Remove inline eslintConfig/prettier from package.json (drop jsx-a11y, prettier extends)
- Rewrite tsconfig.json (package name extend, add compilerOptions.types)
- Create vitest.config.mts and vitest.setup.ts (standard from polaris)
- Replace headlamp-plugin CLI scripts with direct tool invocation
- Rewrite .gitignore with standard baseline

Phase 3 — MCP & Claude settings:
- Create .mcp.json with github/kubernetes/flux/playwright servers
- Create .claude/settings.local.json
- Remove 7 specialized agents, keep 3 meta-orchestration agents

Phase 4 — Documentation:
- Rewrite CLAUDE.md (remove subdirectory refs, standard format)
- Add ArtifactHub badge, Architecture section, standardized install methods to README.md
- Create CONTRIBUTING.md and SECURITY.md
- Fix pre-existing test bugs in validators.test.ts (isValidNamespace returns boolean,
  not ValidationResult; error message string mismatches)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:31:12 +00:00

1.9 KiB

Contributing to Headlamp Sealed Secrets Plugin

Thank you for your interest in contributing! This document provides guidelines for contributing to the project.

Development Setup

Prerequisites

  • Node.js 20 or later
  • npm
  • Access to a Kubernetes cluster with Headlamp and Sealed Secrets installed (for testing)
  • Git

Getting Started

  1. Fork and clone the repository:

    git clone https://github.com/YOUR_USERNAME/headlamp-sealed-secrets-plugin.git
    cd headlamp-sealed-secrets-plugin
    
  2. Install dependencies:

    cd headlamp-sealed-secrets
    npm install
    
  3. Start development mode:

    npm start
    
  4. Run tests:

    npm test
    
  5. Build the plugin:

    npm run build
    

Before Submitting

Before creating a pull request, run all checks locally:

npm run build        # Verify build succeeds
npm run lint         # Check for linting errors
npm run tsc          # Type-check TypeScript
npm test             # Run unit tests
npm run format:check # Check formatting

Also ensure:

  • Tests are added or updated for any new or changed functionality
  • Documentation (README.md, CLAUDE.md) is updated if you added features or changed behavior
  • Your branch is up to date with main

Coding Conventions

  • TypeScript strict mode -- no any, use unknown with type guards at API boundaries
  • Functional React components only -- no class components
  • Headlamp components -- use @kinvolk/headlamp-plugin/lib/CommonComponents, not raw MUI
  • Named exports -- prefer named exports over default exports
  • Conventional Commits -- use feat:, fix:, docs:, chore:, etc. for commit messages
  • Import order -- React, third-party libraries, Headlamp imports, local imports

License

By contributing, you agree that your contributions will be licensed under the Apache-2.0 License.