kract
v1.0.23
Published
KRACT is a powerful CLI tool for project management and Blender extension development workflows.
Readme
kract
KRACT is a powerful CLI tool for project management and Blender extension development workflows.
Installation
Global Installation
npm install -g kract@latestUsage without Installation
npx kract@latest <command>CLI Commands
Blender Extension Development
# Initialize or reset configuration
kract blender init
# Package extensions into ZIP files
kract blender package
# Deploy packaged extensions
kract blender deployBlender Extension Development
# Initialize or reset configuration
kract blender init
# Package extensions into ZIP files
kract blender package
# Deploy packaged extensions
kract blender deployOther Commands
# Retrieve secret data
kract secret
# or
kract sFeatures
📁 Project Management
Note: Project creation functionality has been moved to the create-kract package. Use npx create-kract@latest to create new projects.
For project management commands, see:
- packages/create-kract/README.md for project creation
- Custom project structure configuration via
project.jsonis supported bycreate-kract
🎬 Blender Extension Development
Streamlined workflow for Blender extension development:
- Automatic Blender Detection: Automatically finds and sets up Blender installations (4.2+)
- Configuration Management: Manages Development Repository (required) and API Repository Directory (optional) paths
- Packaging: Automatically packages extensions with proper naming conventions
- Deployment: Deploys to remote repositories with index.json generation
- Packaging-Only Mode: Supports packaging without deployment when API Repository is not set
Note: Blender extension template creation is handled by create-kract. Use npx create-kract@latest --blender to create extension templates.
Naming Standards
Project Folders
- Format:
[ProjectID]_[ClientName]_[ProjectName] - Project IDs:
K[YY][NNN]format - Standard subfolders:
comp/,in/,out/ - Post-project:
portfolio/folder creation
Application Support
- Graphics: ae (After Effects), ai (Illustrator), ps (Photoshop)
- 3D: b3d (Blender), c4d (Cinema 4D), unity, zbrush
- Video: resolve (DaVinci Resolve), fusion
- Other: md (MarkDown), sbp (Substance Painter)
Version Naming
- Use
_v1,_v2(single digit preferred) - No leading zeros in version numbers
Configuration Files
.kract - Project Configuration
Stores project metadata in ENV format (no header comments):
PROJECT_ID="K25123"
CLIENT_NAME="ClientName"
PROJECT_NAME="ProjectName"
APPS="ae,ps,b3d"
CREATED_AT="2025-01-01T00:00:00.000Z"Important: Do not delete the .kract file. It is required for the project to function correctly.
.kractrc - Blender Extension Configuration
Stored in home directory, ENV format:
BLENDER_DEV_REPO_DIR="/path/to/dev/repo"
BLENDER_REMOTE_REPO_DIR="/path/to/api/repo"project.json - Custom Project Structure
JSON format for customizing project directory structures:
{
"$schema": "https://example.com/create/schema.json",
"base": ["comp", "in", "out"],
"apps": {
"ae": ["export", "footage", "(old)"],
"b3d": {
"temp": ["render", "tex"],
"(old)": []
}
}
}Auto-Generated README.md
When creating a new project, a README.md file is automatically generated with:
- Project name as title
- Instructions for adding applications using
npx create-kract@latest --add - Important note about not deleting the
.kractfile
