This repository serves as a template for managing software packages in the Platforma ecosystem. It provides a standardized structure for organizing and distributing software binaries across different platforms.
platforma-software-boilerplate/
├── software/ # Main software directory
│ ├── linux-x64/ # Linux x64 binaries
│ │ └── bin/ # Binary files for Linux x64
│ ├── linux-aarch64/ # Linux ARM64 binaries
│ │ └── bin/ # Binary files for Linux ARM64
│ ├── macosx-x64/ # macOS x64 binaries
│ │ └── bin/ # Binary files for macOS x64
│ ├── macosx-aarch64/ # macOS ARM64 binaries
│ │ └── bin/ # Binary files for macOS ARM64
│ ├── windows-x64/ # Windows x64 binaries
│ │ └── bin/ # Binary files for Windows x64
│ └── package.json # Software package configuration
├── package.json # Root package configuration
├── pnpm-workspace.yaml # PNPM workspace configuration
├── turbo.json # Turborepo configuration
├── .gitattributes # Git attributes for LFS
└── .gitignore # Git ignore rules
-
Clone this repository:
git clone <repository-url> cd platforma-software-boilerplate
-
Initialize Git LFS:
git lfs install
-
Ensure
.gitattributes
is properly configured before adding any files:# .gitattributes should contain: software/linux-x64/** filter=lfs diff=lfs merge=lfs -text software/linux-aarch64/** filter=lfs diff=lfs merge=lfs -text software/macosx-x64/** filter=lfs diff=lfs merge=lfs -text software/macosx-aarch64/** filter=lfs diff=lfs merge=lfs -text software/windows-x64/** filter=lfs diff=lfs merge=lfs -text
-
Commit
.gitattributes
to the repository -
Install dependencies:
pnpm install
-
Make sure
.gitattributes
is properly configured (see Initial Setup step 3) -
Place your binary files in the appropriate platform directory:
- For Linux x64:
software/linux-x64/bin/
- For Linux ARM64:
software/linux-aarch64/bin/
- For macOS x64:
software/macosx-x64/bin/
- For macOS ARM64:
software/macosx-aarch64/bin/
- For Windows x64:
software/windows-x64/bin/
- For Linux x64:
-
Update the
software/package.json
with the correct binary names and paths. -
Build the package:
pnpm run build
-
Initialize changesets if not already done:
pnpm run changeset init
-
Add and commit your files:
git add . git commit -m "Add binary files"
This repository uses Changesets for version management:
Create a new changeset:
pnpm run changeset
UNLICENSED - All rights reserved