Issue setting up Sistent locally on Mac after cloning

Hi! I’m a beginner trying to set up Sistent after cloning it from GitHub. I’m trying to run it locally on my Mac, but I’m a bit stuck on understanding the output I’m receiving.

Environment:

  • macOS

What I tried:

  • Cloned the Sistent repository from GitHub.

  • Ran the make setup command in the terminal to initialize the project.

What I’m seeing:

What I was trying to do:

  • Properly set up and run the Sistent project locally so I can begin contributing. Since I am new to this, I’m unsure if this Employee List screen means the setup was completely successful, or if I missed a step to get the actual application running.

Any help or guidance on next steps would be greatly appreciated!

Hi! Welcome to the community! :tada:
I wasn’t able to reproduce this.

Sistent isn’t meant to be run standalone locally. To see your changes, you’ll need to link it with a consumer repo like Meshery UI.

For the full setup guide and walkthrough, check out:

Hey @Khushi_Agarwal , welcome to the Meshery community!

What you should do next really depends on what you want to do. If you could add a bit more context on what it is that you are trying to do, like the issue that you are working on, you would receive better guidance. Assuming that you want to work with a component in sistent and want to see your changes in meshery, you can follow the “Using your local Sistent Fork in a Project Using your local Sistent Fork in a Project” steps in the README @KhushamBansal linked in his post.

A basic understanding of what npm packages are and how they work is required to work with sistent.

Cheers!

Hi Bharath, thanks for the welcome and the helpful guidance!

You are exactly right—I am trying to work on a component in Sistent and need to be able to view my local changes. Specifically, I am getting set up so I can tackle:
[Bug]: Unreadable text on Native Button Gating demo in light mode #1805

@Khushi_Agarwal Are you able to work with sistent now?

No, I am not able to work with sistent because I didn’t understand the step to setup. Can you guide me step by step from cloning repo.

First off, you would want to confirm the following before you proceed further

  • You forked the sistent repo
  • You have cloned it
  • You created a new local branch
  • You have a basic understanding of what npm packages are and how they work

If you don’t understand any of the above steps or why they have to be done, feel free to ask.

If you are done with the above and are ready to work with sistent

1. Build and pack your local Sistent fork

Navigate to your local Sistent directory, build the project, and bundle it into a package archive:

Bash

cd <path-to-sistent-on-local-machine>

# Build the Sistent package
make build

# Create a tarball package
npm pack

This creates a file named similar to @sistent-sistent-X.Y.Z.tgz (or sistent-sistent-X.Y.Z.tgz) in your Sistent root directory.

2. Install the local tarball in your project

Navigate to your main project directory (e.g., Meshery UI) and install the newly generated .tgz file as a local dependency:

Bash

cd <path-to-your-project>

# Install the tarball directly
npm install <path-to-sistent-on-local-machine>/sistent-sistent-0.14.11.tgz

(Replace sistent-sistent-0.14.11.tgz with the actual name of the file generated in Step 1).

3. Build your project

Run the build command in the project where your local Sistent fork is installed to apply the changes:

Bash

# Example: Meshery UI
make ui-build

Now, your project will reflect the compiled changes from your local Sistent fork.

Verify local installation

To verify that your project is referencing the local tarball package rather than the registry version, inspect package.json or check npm ls:

Bash

npm ls @sistent/sistent

Expected output:

Plaintext

your-project-name@1.0.0 <path-to-your-project>
└── @sistent/sistent@0.14.11 -> file:../../<path-to-local-sistent-fork>/sistent-sistent-0.14.11.tgz

Revert back to the official package

To discard the local tarball build and revert to the official published package from the npm registry:

Bash

npm install @sistent/sistent@latest