af95c3795c
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>
1.9 KiB
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
-
Fork and clone the repository:
git clone https://github.com/YOUR_USERNAME/headlamp-sealed-secrets-plugin.git cd headlamp-sealed-secrets-plugin -
Install dependencies:
cd headlamp-sealed-secrets npm install -
Start development mode:
npm start -
Run tests:
npm test -
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, useunknownwith 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.