This guide explains how to package and distribute the LCSC Manager plugin through KiCad's Plugin and Content Manager (PCM).
KiCad PCM uses a standardized package format with metadata to distribute plugins. This plugin is already configured for PCM distribution.
kicad-lcsc-manager-0.1.0/
├── plugins/
│ └── lcsc_manager/ # Plugin code
├── resources/
│ └── icon.png # 64x64 plugin icon
├── metadata.json # PCM metadata
├── README.md # Documentation
├── LICENSE # MIT License
└── INSTALL.md # Installation guide
Update the version in the following files:
plugins/lcsc_manager/__init__.py-__version__metadata.json-versions[0].version
Run the release script:
./create_release.shThis will:
- Create a clean package directory
- Copy all necessary files
- Remove Python cache files
- Create a ZIP archive
- Calculate SHA256 hash
After creating the release package, update metadata.json with:
{
"versions": [
{
"version": "0.1.0",
"download_sha256": "PASTE_SHA256_HASH_HERE",
"download_url": "https://github.com/hulryung/kicad-lcsc-manager/releases/download/v0.1.0/kicad-lcsc-manager-0.1.0.zip",
"download_size": FILE_SIZE_IN_BYTES
}
]
}- Go to https://github.com/hulryung/kicad-lcsc-manager/releases
- Click "Create a new release"
- Tag version:
v0.1.0 - Release title:
LCSC Manager v0.1.0 - Description: List of features and changes
- Upload the ZIP file:
release/kicad-lcsc-manager-0.1.0.zip - Publish release
Test the package locally:
- Copy ZIP to a test location
- Extract and verify contents
- Install in KiCad plugins directory
- Test all functionality
To make the plugin available in KiCad's official PCM:
git clone https://gitlab.com/kicad/addons/metadata.git
cd metadata/packagesCreate com.github.hulryung.kicad-lcsc-manager.json:
cp ../../metadata.json com.github.hulryung.kicad-lcsc-manager.json- Commit your metadata file
- Push to your fork
- Create a merge request to the official repository
- Wait for review and approval
The metadata.json follows KiCad's PCM schema v1:
name: Plugin name (shown in PCM)description: Short description (one line)description_full: Detailed descriptionidentifier: Unique identifier (reverse domain notation)type: "plugin" for Python pluginsauthor: Author informationlicense: License type (MIT)versions: Array of version objects
version: Semantic version (e.g., "0.1.0")status: "stable", "testing", or "deprecated"kicad_version: Minimum KiCad versiondownload_url: Direct download linkdownload_sha256: SHA256 hash of ZIP filedownload_size: File size in bytesinstall_size: Installed size in bytes
Follow Semantic Versioning:
- MAJOR.MINOR.PATCH (e.g., 1.0.0)
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes
Before releasing:
- All tests pass
- Plugin loads in KiCad
- All features work correctly
- Documentation is up to date
- Version numbers are consistent
- ZIP package structure is correct
- SHA256 hash matches
- Installation instructions tested
- GitHub Releases: Primary distribution
- KiCad PCM: Official plugin repository (after approval)
- Manual Download: Direct ZIP download from GitHub
- Issues: https://github.com/hulryung/kicad-lcsc-manager/issues
- Releases: https://github.com/hulryung/kicad-lcsc-manager/releases
- Documentation: https://github.com/hulryung/kicad-lcsc-manager
This plugin is distributed under the MIT License. See LICENSE file.