* fix: redesign and compact Signed-off-by: Leonid Kaganov <lleo@lleo.me> * fix: comments Signed-off-by: Leonid Kaganov <lleo@lleo.me> * fix: correctly dropping connections in timeout Signed-off-by: Leonid Kaganov <lleo@lleo.me> * feature: loglevel in config Signed-off-by: Leonid Kaganov <lleo@lleo.me> * fix: loglevel in config Signed-off-by: Leonid Kaganov <lleo@lleo.me> * features lopt: direct personal messages between websockets by username Signed-off-by: Leonid Kaganov <lleo@lleo.me> * fix collaborator security query Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> * Fix svelte warnings Signed-off-by: Artem Savchenko <armisav@gmail.com> * Change log Signed-off-by: Artem Savchenko <armisav@gmail.com> * Add workspace permissions enum Signed-off-by: Artem Savchenko <armisav@gmail.com> * Add changelog Signed-off-by: Artem Savchenko <armisav@gmail.com> * Permission methods Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update core and account versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix predicate Signed-off-by: Artem Savchenko <armisav@gmail.com> * Add changelog Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix object clone Signed-off-by: Artem Savchenko <armisav@gmail.com> * Bump and add changelog Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix exception in getTypeOf Signed-off-by: Artem Savchenko <armisav@gmail.com> * Disable changelog check Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix failed to fetch errors in account client Signed-off-by: Artem Savchenko <armisav@gmail.com> * Clean up Signed-off-by: Artem Savchenko <armisav@gmail.com> * Support in-memory mode for hulypulse Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update platform-rig Signed-off-by: Artem Savchenko <armisav@gmail.com> * Comment change log verification Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update pnpm lock Signed-off-by: Artem Savchenko <armisav@gmail.com> * Sync with foundation Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update platform-rig Signed-off-by: Artem Savchenko <armisav@gmail.com> * Sync with foundation and bump versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Sync with foundations Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update and increment versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Skip change log verification Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix hulypulse connections Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix formatting and ci Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix validation warnings Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix formatting Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix validation Signed-off-by: Artem Savchenko <armisav@gmail.com> * Fix pnpm lock Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update versions Signed-off-by: Artem Savchenko <armisav@gmail.com> * Update hulypulse version Signed-off-by: Artem Savchenko <armisav@gmail.com> --------- Signed-off-by: Leonid Kaganov <lleo@lleo.me> Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> Signed-off-by: Artem Savchenko <armisav@gmail.com> Co-authored-by: Leonid Kaganov <lleo@lleo.me> Co-authored-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
Huly Core
⭐️ Your star shines on us. Star us on GitHub!
About
Huly Core is a collection of core packages extracted from the Huly Platform. This repository contains fundamental building blocks and libraries that power the Huly ecosystem, including core data models, client libraries, text processing engines, and platform utilities.
These packages are designed to be reusable, modular, and framework-agnostic, making them suitable for building custom applications on top of the Huly Platform or integrating Huly functionality into existing projects.
Packages
This repository includes the following core packages:
Core Packages
- @hcengineering/core - Core data models, types, and fundamental platform abstractions
- @hcengineering/platform - Platform runtime, plugin system, and dependency injection
- @hcengineering/model - Data model definitions and schema management
Client Libraries
- @hcengineering/client - Client-side data access and synchronization layer
- @hcengineering/client-resources - Shared client resources and utilities
- @hcengineering/api-client - API client for programmatic access to Huly Platform (WebSocket and REST)
- @hcengineering/account-client - Account management client
- @hcengineering/collaborator-client - Real-time collaboration client
- @hcengineering/hulylake-client - HulyLake data warehouse client
- @hcengineering/analytics - Analytics and tracking
- @hcengineering/analytics-service - Analytics service implementation
Text Processing
- @hcengineering/text - High-level text processing utilities
- @hcengineering/text-core - Core text processing engine
- @hcengineering/text-html - HTML text rendering and parsing
- @hcengineering/text-markdown - Markdown support
- @hcengineering/text-ydoc - Yjs document integration for collaborative editing
Utilities
- @hcengineering/query - Query language and execution engine
- @hcengineering/storage - Storage abstractions and implementations
- @hcengineering/rank - Ranking and ordering utilities
- @hcengineering/retry - Retry logic and resilience patterns
- @hcengineering/rpc - RPC communication layer
- @hcengineering/token - Token management and authentication utilities
Pre-requisites
Before proceeding, ensure that your system meets the following requirements:
Installation
You need Microsoft's rush to install the application.
- Install Rush globally using the command:
npm install -g @microsoft/rush
- Navigate to the repository root and run the following commands:
rush install
rush build
Build
To build all packages:
rush build
To rebuild (ignoring cache):
rush rebuild
Build & Watch
For development purposes, rush build:watch action could be used:
rush build:watch
It includes build and validate phases in watch mode.
Update project structure
If the project's structure is updated, it may be necessary to relink and rebuild the projects:
rush update
rush build
Troubleshooting
If a build fails, but the code is correct, try to delete the build cache and retry:
rm -rf common/temp/build-cache
rush rebuild
Tests
To execute all tests:
rush test
For individual test execution inside a package directory:
rushx test
Package Publishing
To bump a package version:
node ./common/scripts/bump.js -p projectName
API Client Usage
If you want to interact with Huly programmatically, check out the API Client documentation. The API client provides a typed interface for all Huly operations and can be used to build integrations and custom applications.
You can find API usage examples in the Huly examples repository.
Related Projects
- Huly Platform - The main Huly Platform repository
- Huly Self-Host - Self-hosting solution for Huly
- Huly Examples - API usage examples
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
Licensed under the EPL-2.0 license.
Additional Links
© 2025 Hardcore Engineering Inc.