KnitCalc Dmitry Mezhnov
winget install --id=Dmezhnov.KnitCalc -e KnitCalc is a knitting calculator: gauge conversion, increases/decreases distribution, yarn estimation and project notes with photos.
winget install --id=Dmezhnov.KnitCalc -e KnitCalc is a knitting calculator: gauge conversion, increases/decreases distribution, yarn estimation and project notes with photos.
KnitCalc is a Flutter calculator for knitting. It converts a sample swatch into target stitch, row, and yarn-length estimates. The interface is available in Russian and English.
The web app runs at . Native builds for every platform are attached to GitHub Releases; package managers are served from this repository directly:
# Windows (Scoop; this repo doubles as the bucket)
scoop bucket add knitcalc https://github.com/dmezhnov/knitcalc
scoop install knitcalc
# macOS (Homebrew; this repo doubles as the tap — the build is unsigned)
brew tap dmezhnov/knitcalc https://github.com/dmezhnov/knitcalc
brew install --cask --no-quarantine knitcalc
# Linux
sudo snap install knitcalc # Snap Store
yay -S knitcalc-bin # AUR
Linux users can also take the AppImage (with zsync delta updates) from the release assets, or add the apt repository hosted on the GitHub Pages site — setup commands for it and the remaining channels (winget, Chocolatey, IzzyOnDroid, openSUSE Build Service, nixpkgs) are collected in packaging/README.md. Android APKs (universal and per-ABI) ship with every release.
The project pins tool versions in mise.toml.
Install project tools and hooks:
mise install
Run the app:
mise dev
Run linters:
mise lint
Format files supported by Trunk:
mise format
Run Flutter tests:
mise test
The release workflow runs mise lint before mise test. If linting
fails, the workflow stops before tests and builds.
Build one target with:
mise build
Supported targets:
apk
apk-split
appbundle
web
linux
windows
macos
ios
On NixOS, the Linux build and mise dev wrap themselves in an ad-hoc
nix-shell that provides the GTK toolchain; other distros and CI use the
system toolchain directly. Windows, macOS, and iOS builds must be run on their
native GitHub Actions runners or on matching local machines.
Examples:
mise build apk
mise build web
mise build linux
The Web build uses --base-href /knitcalc/ for GitHub Pages.
Publishing is driven by the test branch:
mise publish "1.1.1+3" "Release commit message"
mise publish writes the given version into pubspec.yaml, commits all
working-tree changes, pushes to origin/test, and streams the release run
until it finishes. The part of the version before + is the public app
version; the number after + is the platform build number and should
increase for every release.
On push to test, GitHub Actions:
.zsync, and a .deb plus a signed apt repository.main, renders the package-manager manifests that live on
main (Scoop bucket, Homebrew cask, flatpak metainfo), and recreates the
release/ folder with the current version's artifacts.A pre-commit hook blocks commits that reuse an already-published git tag.
The iOS artifact is unsigned because signed iOS releases require an Apple Developer Program account, certificates, and provisioning profiles.
The GitHub Pages site is published at:
https://dmezhnov.github.io/knitcalc/
This project is licensed under the MIT License. See LICENSE.