Open Issues Need Help
View All on GitHubAI Summary: The task is to improve the frate CLI by combining the `sync` and `install` commands into a single `install` command. This involves modifying the frate codebase to check for synchronization between `frate.toml` and `frate.lock` before installation, and potentially adding a `--no-sync` flag for advanced users. The `uninstall` command might also require adjustments depending on the implementation.
AI Summary: Implement support for custom and local registries in the frate package manager, allowing users to define and use registries beyond the default GitHub registry. This involves designing a mechanism for specifying and loading registry configurations (potentially leveraging existing caching infrastructure), ensuring compatibility with the frate standard, and handling both local file-system and remote (e.g., custom GitHub) registries.
AI Summary: Implement a caching mechanism for the frate registry to reduce network requests and improve performance. This involves creating a local cache directory to store downloaded registry data and modifying the installer to utilize this cache. Consider using either git2 or reqwest for efficient data handling, and potential changes to the frate-registry repository may be necessary.
AI Summary: Refactor frate's test suite to eliminate network dependencies by replacing real network calls with mocks. This involves identifying network-dependent test cases, creating appropriate mocks, and updating the tests to use these mocks. CLI tests, which are difficult to mock, should be excluded from the automated test runs using the `ci_skip` attribute.
AI Summary: Implement frate and frate-registry functionality to handle and register GitHub releases using uni archives (single archive files). This involves adding the capability to download, extract, and correctly identify the installation directory from these archives, ensuring proper registration and installation within the frate package manager.