SkillAgentSearch skills...

Sparo

Sparo optimizes performance of Git operations for your large frontend monorepo.

Install / Use

/learn @tiktok/Sparo
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img width="380" src="./common/assets/sparo-380.png" alt="Sparo" />

Monorepo for Sparo toolkit

<!-- Text below this line should stay in sync with the website index.md --> <!-- ------------------------------------------------------------------ -->

Sparo optimizes performance of Git operations for your large frontend monorepo.

Key features

  • Familiar interface: The sparo command-line interface (CLI) wrapper offers better defaults and performance suggestions without altering the familiar git syntax. (The native git CLI is also supported.)

  • A proven solution: Git provides quite a lot of ingredients for optimizing very large repos; Sparo is your recipe for combining these features intelligently.

  • Simplified sparse checkout: Work with sparse checkout profiles instead of confusing "cones" and globs

  • Frontend integration: Sparo leverages Rush and PNPM workspace configurations, including the ability to automatically checkout project dependencies

  • Dual workflows: The sparo-ci tool implements a specialized checkout model optimized for continuous integration (CI) pipelines

  • Extra safeguards: Avoid common Git mistakes such as checkouts with staged files outside the active view

  • Go beyond Git hooks: Optionally collect anonymized Git timing metrics in your monorepo, enabling your build team to set data-driven goals for local developer experience (not just CI!)

    (Metrics are transmitted to your own service and are not accessible by any other party.)

<!-- ------------------------------------------------------------------ --> <!-- Text above this line should stay in sync with the website index.md -->

For details, consult the Sparo documentation.

<!-- GENERATED PROJECT SUMMARY START -->

Published Packages

<!-- the table below was generated using the ./repo-scripts/repo-toolbox script -->

| Folder | Version | Changelog | Package | | ------ | ------- | --------- | ------- | | /apps/sparo | npm version | changelog | sparo | | /apps/sparo-lib | npm version | | sparo-lib |

Unpublished Local Projects

<!-- the table below was generated using the ./repo-scripts/repo-toolbox script -->

| Folder | Description | | ------ | -----------| | /apps/website | The Sparo documentation website | | /build-tests/sparo-output-test | Building this project tests Sparo command-line outputs | | /build-tests/sparo-real-repo-test | Building this project tests Sparo by cloning a real repository | | /build-tests/test-utilities | Code shared between the build test projects in this repository |

<!-- GENERATED PROJECT SUMMARY END -->

Contributing

Building the projects in this monorepo:

  1. Install the RushJS tool:

    npm install -g @microsoft/rush
    
  2. Clone the repo:

    git clone https://github.com/tiktok/sparo.git
    
  3. Install the dependencies

    cd sparo
    rush install
    
  4. Build all projects

    rush build
    

How to invoke your locally build sparo command:

cd apps/sparo
node lib/start.js

Related Skills

View on GitHub
GitHub Stars249
CategoryDevelopment
Updated7d ago
Forks15

Languages

TypeScript

Security Score

100/100

Audited on Mar 21, 2026

No findings