A TypeScript implementation of the Runar distributed computing framework.
- Bun: Version 1.1.24 or later
- Node.js: Version 18 or 20 (for compatibility testing)
-
Clone the repository:
git clone <repository-url> cd runar-ts
-
Install dependencies:
bun install
-
Setup development environment:
./scripts/dev-setup.sh
This repository contains several TypeScript packages:
runar-ts-common: Common utilities, routing, and loggingrunar-ts-decorators: TypeScript decorators for metadatarunar-ts-schemas: Data schemas and typesrunar-ts-serializer: Serialization and encryptionrunar-ts-node: Core node implementationrunar-ts-bun-ffi: Bun-specific FFI bindings (parked)
bun run build- Build all packagesbun run clean- Clean all build artifactsbun run test- Run tests in all packagesbun run test:watch- Run tests in watch modebun run lint- Run ESLint on all TypeScript filesbun run lint:fix- Fix auto-fixable ESLint issuesbun run format- Format all code with Prettierbun run format:check- Check if code is properly formattedbun run type-check- Run TypeScript type checkingbun run ci- Run full CI pipeline locally
The project uses:
- ESLint for code linting with TypeScript support
- Prettier for code formatting
- TypeScript for type checking
- Husky for git hooks
- lint-staged for pre-commit formatting
- Pre-commit: Runs linting, formatting, and type checking
- Commit-msg: Enforces conventional commit format
GitHub Actions automatically runs on:
- Push to
mainanddevelopbranches - Pull requests to
mainanddevelopbranches
The CI pipeline includes:
- Building all packages
- Running tests
- Linting and formatting checks
- Type checking
- Security audits
- Development Guide - Comprehensive development workflow
- Local Features Plan - Feature roadmap
- Fork the repository
- Create a feature branch
- Make your changes
- Run
bun run cito ensure quality - Submit a pull request
[Add your license information here]