| type | skill |
| lifecycle | stable |
| inheritance | inheritable |
| name | project-deployment |
| description | Universal deployment patterns for any project type. |
| tier | standard |
| applyTo | **/*project*,**/*deployment* |
| currency | "2026-04-22T00:00:00.000Z" |
| lastReviewed | "2026-04-30T00:00:00.000Z" |
Project Deployment Skill
Universal deployment patterns for any project type.
Inheritance: inheritable — Available to all heirs
Purpose
Generic deployment knowledge that helps with releasing, publishing, and deploying any type of project. Works across package managers, languages, and platforms.
Quick Reference
Deployment Decision Tree
Need to deploy?
├─ Is it a package/library?
│ ├─ npm → npm publish
│ ├─ PyPI → twine upload
│ ├─ NuGet → dotnet nuget push
│ └─ Cargo → cargo publish
├─ Is it a web app?
│ ├─ Static → Deploy to CDN/hosting
│ ├─ Server → Container or VM deployment
│ └─ Serverless → Function deployment
└─ Is it a desktop app?
├─ Installer → Build & sign installer
└─ App store → Platform-specific process
Pre-Deployment Checklist
Always complete before deploying:
Common Package Managers
npm (Node.js)
npm pack --dry-run
npm publish
npm publish --access public
npm publish --tag beta
PyPI (Python)
python -m build
twine check dist/*
twine upload dist/*
twine upload --repository testpypi dist/*
NuGet (.NET)
dotnet pack -c Release
dotnet nuget push *.nupkg --api-key YOUR_API_KEY --source https://api.nuget.org/v3/index.json
Cargo (Rust)
cargo publish --dry-run
cargo publish
Versioning
Semantic Versioning (SemVer)
MAJOR.MINOR.PATCH
MAJOR = Breaking changes (1.0.0 → 2.0.0)
MINOR = New features, backward compatible (1.0.0 → 1.1.0)
PATCH = Bug fixes, backward compatible (1.0.0 → 1.0.1)
Pre-release Versions
1.0.0-alpha.1 # Early testing
1.0.0-beta.1 # Feature complete, testing
1.0.0-rc.1 # Release candidate
Version Commands
npm version patch
npm version minor
npm version major
Changelog Best Practices
Keep a CHANGELOG Format
# Changelog
## [Unreleased]
## [1.1.0] - 2026-02-01
### Added
- New feature X
### Changed
- Improved performance of Y
### Fixed
- Bug in Z
### Deprecated
- Old API method (use new method instead)
### Removed
- Legacy support for A
### Security
- Fixed vulnerability in B
Categories
| Category | When to Use |
|---|
| Added | New features |
| Changed | Changes in existing functionality |
| Deprecated | Features that will be removed |
| Removed | Features that were removed |
| Fixed | Bug fixes |
| Security | Security-related fixes |
CI/CD Patterns
GitHub Actions Release
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Build
run: npm ci && npm run build
- name: Publish
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Azure Pipelines Release
trigger:
tags:
include:
- v*
pool:
vmImage: 'ubuntu-latest'
steps:
- task: NodeTool@0
inputs:
versionSpec: '20.x'
- script: npm ci && npm run build
- script: npm publish
env:
NODE_AUTH_TOKEN: $(NPM_TOKEN)
Rollback Strategies
npm
npm unpublish package@version
npm deprecate package@version "Security issue, use version X"
PyPI
General Rollback
- Don't panic — Most package managers support quick fixes
- Document the issue — Update changelog
- Publish fix — New patch version with fix
- Communicate — Notify users if critical
Troubleshooting
Authentication Errors
| Error | Likely Cause | Solution |
|---|
| 401 Unauthorized | Token expired | Generate new token |
| 403 Forbidden | Wrong permissions | Check token scopes |
| 404 Not Found | Wrong registry URL | Verify registry config |
Common Issues
| Issue | Solution |
|---|
| "Package already exists" | Bump version number |
| "Invalid package name" | Check naming conventions |
| "Missing files" | Check .npmignore or equivalent |
| "Build failed" | Run build locally first |
Project-Specific Deployment
When deploying a specific project type, ask the AI assistant to help identify:
- What type of project is this? (library, app, service)
- Where does it deploy to? (npm, PyPI, Azure, AWS, etc.)
- What are the project's deployment scripts? (check package.json, Makefile, etc.)
- Are there environment-specific configs? (staging vs production)
the AI assistant will adapt this general knowledge to your specific project context.
Related Skills
- git-workflow — Version control and tagging
- infrastructure-as-code — Cloud resource deployment
- security-review — Pre-deployment security checks