4d-publish-github
4D Publish to GitHub
Publish a 4D project to GitHub with CI/CD workflows.
Scripts
Two scripts available, both support interactive and non-interactive modes.
1. publish.py - Publish to GitHub
Creates GitHub repository from 4D project.
Interactive mode:
python3 "<skill_path>/scripts/publish.py"
Non-interactive mode (with arguments):
python3 "<skill_path>/scripts/publish.py" --yes [options]
| Argument | Description |
|---|---|
--yes, -y |
Non-interactive mode |
--public |
Create public repository (default: private) |
--description "...", -d |
Repository description |
Examples:
# Interactive
python3 publish.py
# Private repo, no questions
python3 publish.py --yes
# Public repo with description
python3 publish.py --yes --public --description "My 4D component"
2. install_workflows.py - Add CI/CD Workflows
Installs build and release workflows.
Interactive mode:
python3 "<skill_path>/scripts/install_workflows.py"
Non-interactive mode (with arguments):
python3 "<skill_path>/scripts/install_workflows.py" --yes [options]
| Argument | Description |
|---|---|
--yes, -y |
Non-interactive mode |
--build |
Install build.yml |
--release-on-tag |
Install release workflow (triggered on tag push) |
--release-on-create |
Install release workflow (triggered on manual release) |
--no-push |
Don't commit and push changes |
Examples:
# Interactive
python3 install_workflows.py
# Build workflow only
python3 install_workflows.py --yes --build
# Build + auto-release on tag
python3 install_workflows.py --yes --build --release-on-tag
# Release on manual create only
python3 install_workflows.py --yes --release-on-create
Creating Releases
With release-on-tag workflow
git tag v1.0.0
git push origin v1.0.0
With release-on-create workflow
- Go to repository → Releases → Create new release
- Fill release details and publish
- Workflow builds and attaches
.zipto the release
More from e-marchand/skills
4d-check-syntax
Check syntax and compile a 4D project to find errors and type issues. Use this skill when the user wants to compile, check syntax, or validate a 4D project. Creates a _compile method if not present, then runs it using tool4d. Returns compilation errors in JSON format for easy parsing.
114d-run
Run a 4D project method. Use tool4d by default for fast dataless execution, and fall back to a user-provided 4D executable path when the method needs a real database or runtime features unavailable in tool4d. Includes Python helpers for macOS and Windows.
94d-find-command
Find 4D commands by keyword. Use this skill when the user wants to search for, find, or discover 4D commands matching a term. Searches the gram.4dsyntax file from tool4d.app to list matching command names and uses bundled syntax metadata for readable signatures and summaries. Filters out deprecated commands.
94d-clean-project
Clean a 4D project by removing generated files, caches, and system artifacts.
64d-add-dependency
Add dependencies to a 4D project. Use when the user wants to add a component, library, or dependency to their 4D project. Supports GitHub repos (owner/repo format), GitHub URLs (with automatic tag extraction from release URLs), and local folder paths. Handles dependencies.json and environment4d.json configuration.
64d-create-project
Create a new 4D project from scratch. Use this skill when the user wants to initialize, create, or start a new 4D project. Creates the required folder structure and .4DProject configuration file.
6