Use this checklist when turning repo changes into a visible version.
The project uses Semantic Versioning while pre-1.0:
0.MINOR.0 for meaningful feature additions or workflow changes.0.MINOR.PATCH for fixes, small docs improvements, and compatibility updates.1.0.0.icm/__init__.pypyproject.tomlCHANGELOG.mdRun:
python -m pytest
python tools/check_packaged_assets.py
python tools/check_docs_site.py
python tools/check_release_readiness.py
python -m icm validate templates/icm-workspace --strict
python -m icm validate examples/completed-content-plan --strict
python -m icm validate examples/completed-research-brief --strict
python -m icm validate examples/completed-documentation-refresh --strict
python -m icm validate examples/completed-project-plan --strict
rm -rf /tmp/icm-existing-smoke
mkdir -p /tmp/icm-existing-smoke
printf '# Existing\n' > /tmp/icm-existing-smoke/README.md
python -m icm init /tmp/icm-existing-smoke --name "Existing Smoke" --with-common-artifacts
python -m icm validate /tmp/icm-existing-smoke --strict
python -m icm status examples/completed-content-plan
python -m icm status examples/completed-content-plan --json
python -m icm next examples/completed-content-plan
python -m icm explain stages/01_discovery --workspace examples/completed-content-plan
python -m icm review stages/01_discovery --workspace examples/completed-content-plan
python -m icm review stages/01_discovery --workspace examples/completed-content-plan --json
python -m pytest tests/test_cli.py::test_cli_accept_marks_handoff_in_plain_file
python -m icm review stages/01_discovery --workspace examples/completed-research-brief
python -m icm review stages/01_discovery --workspace examples/completed-documentation-refresh
python -m icm review stages/05_validation --workspace examples/completed-documentation-refresh
python -m icm review stages/01_discovery --workspace examples/completed-project-plan
python -m icm review stages/05_validation --workspace examples/completed-project-plan
python -m icm doctor examples/completed-content-plan --strict
python -m icm doctor examples/completed-content-plan --json
python -m icm doctor examples/completed-research-brief --strict
python -m icm doctor examples/completed-documentation-refresh --strict
python -m icm doctor examples/completed-project-plan --strict
python -m pytest tests/test_dashboard.py
python tools/validate_icm_workspace.py templates/icm-workspace --strict
python examples/completed-content-plan/tools/validate_icm_workspace.py examples/completed-content-plan --strict
python examples/completed-research-brief/tools/validate_icm_workspace.py examples/completed-research-brief --strict
python examples/completed-documentation-refresh/tools/validate_icm_workspace.py examples/completed-documentation-refresh --strict
python examples/completed-project-plan/tools/validate_icm_workspace.py examples/completed-project-plan --strict
rm -rf dist build *.egg-info
python -m build
python -m twine check dist/*
Check:
CHANGELOG.md names the user-facing changes.twine check dist/* passes before publishing.icm new works outside the source checkout.rm -rf .tmp/wheelhouse .tmp/install-venv
python -m build --outdir .tmp/wheelhouse
python -m venv .tmp/install-venv
.tmp/install-venv/bin/python -m pip install .tmp/wheelhouse/*.whl
rm -rf /tmp/icm-install-smoke
cd /tmp
/path/to/repo/.tmp/install-venv/bin/icm new /tmp/icm-install-smoke --name "Install Smoke"
/path/to/repo/.tmp/install-venv/bin/icm init /tmp/icm-install-smoke --name "Install Smoke" --with-common-artifacts
/path/to/repo/.tmp/install-venv/bin/icm validate /tmp/icm-install-smoke --strict
/path/to/repo/.tmp/install-venv/bin/icm status /tmp/icm-install-smoke --json
test -f /tmp/icm-install-smoke/shared/acceptance-log.md
test -f /tmp/icm-install-smoke/shared/source-inventory.md
test -f /tmp/icm-install-smoke/shared/release-calendar.md
python /tmp/icm-install-smoke/tools/validate_icm_workspace.py /tmp/icm-install-smoke --strict
Unreleased into the release version.git tag -a vX.Y.Z -m "vX.Y.Z"
git push origin main
git push origin vX.Y.Z
Unreleased section if needed.Use this only after a tagged GitHub release exists and the PyPI Trusted Publisher is configured.
Owner: stickwithfiddle-sys
Repository: interpretable-context-methodology-template
Workflow: publish.yml
Environment: testpypi or pypi
Publish Python Package from the release tag.testpypi first.icm new.Publish Python Package again from the same tag and choose pypi.pip install icm-workspace-template.Use these settings once the project has collaborators:
main.main branch /docs folder for the visual docs site.