{"id":13727894,"url":"https://github.com/WarHub/wham","last_synced_at":"2025-05-08T00:30:59.065Z","repository":{"id":4136407,"uuid":"52120725","full_name":"WarHub/wham","owner":"WarHub","description":"WarHub.ArmouryModel - C# cornerstone library for wargame datafile tools","archived":false,"fork":false,"pushed_at":"2024-04-29T02:39:34.000Z","size":2347,"stargazers_count":21,"open_issues_count":34,"forks_count":4,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-11-06T21:07:23.346Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WarHub.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-19T22:29:17.000Z","updated_at":"2024-03-12T14:31:12.000Z","dependencies_parsed_at":"2023-07-05T18:49:26.734Z","dependency_job_id":"70104220-636b-435c-a05f-fcb919044ca0","html_url":"https://github.com/WarHub/wham","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarHub%2Fwham","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarHub%2Fwham/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarHub%2Fwham/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarHub%2Fwham/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WarHub","download_url":"https://codeload.github.com/WarHub/wham/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224444505,"owners_count":17312226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:00:34.590Z","updated_at":"2024-11-14T19:30:28.164Z","avatar_url":"https://github.com/WarHub.png","language":"C#","funding_links":[],"categories":["Projects using custom Source Generators \"internally\""],"sub_categories":["Other"],"readme":"# wham\n\n[![NuGet packages](https://img.shields.io/nuget/v/WarHub.ArmouryModel.Source.svg?logo=nuget)](https://www.nuget.org/profiles/warhub)\n[![CI GitHub Action](https://github.com/WarHub/wham/workflows/CI/badge.svg)](https://github.com/WarHub/wham/actions?query=workflow%3ACI+branch%3Amain)\n[![License](https://img.shields.io/github/license/WarHub/wham.svg)](https://github.com/WarHub/wham/blob/main/LICENSE.md)\n\n\u003e `WarHub.ArmouryModel` library and `wham` tool\n\nFoundational .NET library for wargame datafile tools, written in C#.\n\n## Overview\n\nThis is the home of the `WarHub.ArmouryModel` library handling wargame roster and data files.\nIt consists of:\n\n* `wham` - a CLI tool (Command Line) used to manage, convert and publish datafiles,\n  distributed as .NET Global Tool (.NET SDK v7+ required)\n* `WarHub.ArmouryModel.Source` library provides API to manage and interact\n  with wargaming data files (game systems, catalogues) and rosters.\n* `WarHub.ArmouryModel.Source.BattleScribe` provides convenient methods to load and save\n  BattleScribe XML datafiles.\n* `WarHub.ArmouryModel.ProjectModel` library provides API to operate on wham workspaces (abstraction)\n  and their configuration (`.whamproj` configuration files).\n* `WarHub.ArmouryModel.Workspaces.BattleScribe` implements project model for BattleScribe format.\n* `WarHub.ArmouryModel.Workspaces.Gitree` implements project model for *gitree* where\n  directory and file structure is a part of datafile shape, building datafile from massive amounts\n  of tiny files. It's mostly designed to work well with VCS (Version Control Systems) such as **git**.\n\nAll libraries, unless otherwise specifed, target `.NET 6`.\n\nThere are also test projects and `WarHub.ArmouryModel.Source.CodeGeneration` project which contains\ncode generator used to build `.Source` library. This code generator uses C# Source Generators.\n\n## Usage\n\n### `wham` installation\n\nTo install `wham` command line tool:\n\n1. please install [`.NET SDK` v7](https://www.microsoft.com/net/download)\n  for your platform.\n1. In your shell/command line run `dotnet tool install wham -g`\n1. You can check if the tool is available: `wham --version` should show what version exactly is running.\n\nThis will install preview of `wham` CLI tool in your user-space (not system global),\nand so it doesn't require root/admin permissions. (Although installation of .NET SDK can).\n\n### `wham` features\n\n* converts BattleScribe workspace (xml files: `.cat`/`.catz`/`.gst`/`.gstz`)\n  into *gitree* workspace (mutliple small files in directory trees) that\n  behaves with **git** well.\n* publishes BattleScribe format distribution files:\n  * `.bsr` repository distribution package - zip archive containing datafiles (`.cat` and `.gst`)\n    and DataIndex `index.xml` file.\n  * `index.bsi` which is DataIndex `index.xml`-containing zip archive.\n  * `index.xml` DataIndex.\n  * `.cat`/`.gst` datafiles\n  * `.catz`/`.gstz` zipped datafiles\n\n### `wham` usage\n\nYou can always run `wham -?` or `wham -h` or `wham [action] -?` to get help about the tool/action.\n\n## Development\n\nThe development branch is the `main` branch. Stable releases are marked via `vX.Y.Z` tags.\nThis project uses `Nerdbank.GitVersioning` package that automatically generates version numbers\nfor assemblies and packages from git tree. It won't work if the git clone is *shallow* or otherwise\nincomplete.\n\n## Credits\n\nThe library is MIT licensed (license in repo root).\nCreated by Amadeusz Sadowski ([**@amis92**](https://github.com/amis92)).\n[**BattleScribe**](https://battlescribe.net/) name is used without permission under fair-use laws.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWarHub%2Fwham","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWarHub%2Fwham","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWarHub%2Fwham/lists"}