From aaa2fc089c76403511b893f451796ba24468fca7 Mon Sep 17 00:00:00 2001 From: Azlam <43767972+azlam-abdulsalam@users.noreply.github.com> Date: Thu, 29 Feb 2024 20:44:10 +1100 Subject: [PATCH] fix(docs): Update README.md [ci skip] --- README.md | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 7dd49310d..580f3708e 100644 --- a/README.md +++ b/README.md @@ -29,40 +29,22 @@ [![Join slack](https://i.imgur.com/FZZmA3g.png)](https://launchpass.com/flxblio) -A build system for package based development in Salesforce, delivered as a node cli that can be implemented in any CI/CD system of choice.Read more about the cli and details here - https://docs.flxbl.io +sfp is an purpose built cli based tool specifically designed for modular Salesforce development and release management. sfp is aimed at streamlining and automating the build, test, and deployment processes of Salesforce metadata, code and data. It extends sf cli functionalities, focusing on artifact-driven development to enhance DevOps practices within Salesforce projects. -#### Features +## Key Aspects of sfp: -- Features an Orchestrator, which utilizes sfdx-project.json as the source of truth for driving the build system, ensuring very low maintenance on programs often dealing with multiple number of packages -- Builds packages in parallel by respecting dependencies -- Ability to selectively build changed packages in a mono repo -- Ability to deploy only packages that are changed in repo -- Pooling commands to prepare a pool of scratch org's with packages pre installed for optimized Pull/Merge Request validation -- Artifacts Driven, all create commands produce an artifact or operate on an artifact -- Integrate with any CI/CD system of choice -- All commands are enabled with statsD, for collecting metrics about your pipeline. +- Artifact-Centric Approach: sfp packages Salesforce code and metadata into artifacts, along with deployment details, ensuring consistent deployments and simplified version management across environments. +- Best-in-Class Mono Repo Support: Offers robust support for mono repositories, facilitating streamlined development, integration, and collaboration +- Support for Multiple Package Types: sfp accommodates various Salesforce package types with streamlined commands, enabling modular development, independent versioning, and flexible deployment strategies. +- Orchestrate Across Entire Lifecycle: sfp provides an extensive set of functionality across the entire lifecycle of your Salesforce development. +- End-to-End Observability: sfp is built with comprehensive metrics that are emitted on every commands providing unparalleled visibility into your ALM process. +Commands -There are lot more features to explore. Read more at https://docs.flxbl.io +sfp is comprised of a suite of commands to aid in your end to end development cycle for Salesforce. Starting with the core commands, you are able to perform basic work flows to to build and deploy artifacts (locally to start, and to a NPM artifact repository after) across environments through the command line. As you progress in your understanding of the core commands, you can utilized more advanced commands and flags in your CI/CD platform of choice to drive a more complete release process leveraging release definitions, change logs, metrics and much more. -The project is delivered as a CLI that can be deployed in any CI/CD system, The module is available in [NPM](https://www.npmjs.com/package/@flxblio/sfp) or can be -used by using the [docker image](https://github.com/flxblio/sfp/pkgs/container/sfp) +sfp is constantly evolving and being driven by the passionate community that has embraced our ways of working. We have introduced key utility commands over the years to solve pain points specific to the Salesforce Platform. The commands have been successfully tested and used on large enterprise-scale implementations. As we continue to grow the toolset, we hope to introduced more commands to address the future wave of challenges. - - - -#### Motivation - -- Need for artifact driven build system for package based development models especially on complex and large programs - -- Providing additional functionality that is either not supported by the sf cli, such as data packages or automatically understanding tests in a given package - -- Ease of use, one should not be spending too much time scripting a pipeline. - -#### CI/CD Reference Implementation - -Getting started guides for popular CI/CD platforms along with reference pipelines are available [here](https://docs.flxbl.io/implementing-your-ci-cd/github) - #### Installing sfp locally sfp can be installed on your local device using npm @@ -74,9 +56,9 @@ npm i -g @flxblio/sfp #### Docker -Docker images for sfp are available at [GitHub Container Registry](https://github.com/flxblio/sfp/pkgs/container/sfp). +Docker images for sfp are available at [GitHub Container Registry](https://github.com/flxbl-io/sfp/pkgs/container/sfp). -We recommend using the sfp docker image to avoid breakages in your CI/CD pipelines due to updates in sfp or any of its dependencies such as the SFDX CLI. +We recommend using the sfp docker image to avoid breakages in your CI/CD pipelines due to updates in sfp #### Build Instructions To build sfp execute the following on the terminal: