From 5064cd6f166706371cc754d7bc1470035e24db76 Mon Sep 17 00:00:00 2001 From: Bhanu Reddy Date: Tue, 23 Sep 2025 15:19:05 +0530 Subject: [PATCH 1/2] Updated contribution document with JFCM --- CONTRIBUTING.md | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index af119d768..194c28f89 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,7 +34,49 @@ On Windows, run: .\build\build.bat ``` -After the build process completes, you will find the `jf` or `jf.exe` executable in the current directory. +After the build process completes, you will find the `jf` (on Unix-based systems) or `jf.exe` (on Windows) executable in the current directory. +If you are unsure of the binary name, check the output of the build script or look for an executable named `jf` or `jfrog-cli` in the project root. + +## Using jfcm (JFrog CLI Manager) + +jfcm (JFrog CLI Manager) is a comprehensive tool for managing JFrog CLI on your development machine. Beyond version management, it provides features like output comparison, command history, and performance benchmarking. It's particularly useful for contributors who need to test changes, compare behavior across versions, and analyze CLI performance. + +### Installing jfcm + +Download the latest jfcm binary for your platform from the [GitHub releases page](https://github.com/jfrog/jfrog-cli-manager/releases). + +For detailed installation instructions and usage examples, visit the [jfcm repository](https://github.com/jfrog/jfrog-cli-manager). + +### Benefits for Local Development + +jfcm is especially valuable for contributors because it allows you to: + +- **Test your local builds**: Link and use your locally built JFrog CLI binary +- **Version isolation**: Keep development work separate from your production CLI usage +- **Easy switching**: Quickly switch between your development version and stable releases +- **Compare outputs**: Compare command outputs between different CLI versions +- **Performance analysis**: Benchmark CLI commands to identify performance improvements or regressions +- **Command history**: Track and review your CLI command history across sessions + +### Using Your Local Build + +After building JFrog CLI from source (as described above), you can register your local build with jfcm: + +```sh +# Link your locally built binary +# Link your locally built binary (replace './jf' with the actual binary name if different) +jfcm link --from jf --name dev + +# Use your development version +jfcm use dev + +# Switch back to a stable version when needed +jfcm use latest +``` + +This workflow allows you to test your changes immediately and compare behavior between your development version and released versions. + +For complete documentation and more examples, please visit the [jfcm repository](https://github.com/jfrog/jfrog-cli-manager). ### Dependencies in other JFrog modules From caeb1935f9ec720dc7974b4b561d401f793978b6 Mon Sep 17 00:00:00 2001 From: Bhanu Reddy Date: Tue, 7 Oct 2025 12:04:24 +0530 Subject: [PATCH 2/2] Improved the contibution doc with jfcm --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 194c28f89..817257a47 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,11 +35,11 @@ On Windows, run: ``` After the build process completes, you will find the `jf` (on Unix-based systems) or `jf.exe` (on Windows) executable in the current directory. -If you are unsure of the binary name, check the output of the build script or look for an executable named `jf` or `jfrog-cli` in the project root. +If you are unsure of the binary name, check the output of the build script or look for an executable named `jf` or `jfrog-cli` in the project root. Once the JFrog CLI is built locally, use JFCM (JFrog CLI Manager) to test and manage it alongside released versions. -## Using jfcm (JFrog CLI Manager) +## Testing and Managing Locally Built jfrog-cli with JFCM -jfcm (JFrog CLI Manager) is a comprehensive tool for managing JFrog CLI on your development machine. Beyond version management, it provides features like output comparison, command history, and performance benchmarking. It's particularly useful for contributors who need to test changes, compare behavior across versions, and analyze CLI performance. +jfcm (JFrog CLI Manager) is a comprehensive tool for managing JFrog CLI on your development machine. Beyond version management, it provides features like jfrog-cli output comparison, command history, and performance benchmarking. It's particularly useful for contributors who need to test changes, compare behavior across versions, and analyze CLI performance. ### Installing jfcm