Feature Workspace

Create a feature workspace to add new functionallity to a unified platform from small indepednent workspaces while being able to test the effect of changes and develop in the context of the platform.

Feature workspace, used by teams or individuals extending the platform
Feature workspace, used by teams or individuals extending the platform

Create the Workspace

Create a new Bit workspace:

bit new basic my-feature -d my-org.my-feature
CopiedCopy

Head to the workspace and import the platform component:

bit import wayne.wayne/wayne-cloud
CopiedCopy

You can now create the Aspect representing the feature you are looking to build:

bit create aspect billing --scope my-org.billing
CopiedCopy

Compose the Aspect to your platform aspects property key to start seeing effect on the platform:

import { HarmonyPlatform } from '@bitdev/harmony.harmony-platform';
import { PeopleAspect } from '@bitdev/harmony.examples.people';
import { BillingAspect } from '@my-org/billing.billing';

/**
 * compose the wayne cloud platform.
 */    
export const WayneCloud = HarmonyPlatform.from({
  name: 'wayne-cloud',

  platform: [WaynePlatformAspect],

  /** 
   * features to compose
   */
  aspects: [
    PeopleAspect,
    BillingAspect
  ],
});

export default WayneCom;
CopiedCopy

Run the platform:

bit run wayne-cloud
CopiedCopy

Output will show the used for running the platform, head to it to see the platform running.

Change existing Aspects

You can import aspects needs to changed or tested locally against your changes. To test or change an aspect, run the following command:

bit import wayne.wayne/people
CopiedCopy

After importing the Aspect will automaticlly link the platform for development and testing.

In most cases, it is useful to see and measure change impact with Change Requests using Ripple CI and import only upon need.

Testing

You can test the effect of changes on the platform component. To run tests of effect on other Aspects use Ripple CI.

bit test
CopiedCopy

You can also use Change requests and Ripple CI for the affect of your changes on the platform aspects and components.

Deployment

It is common to deploy to staging during snap and to production using tag. Lanes can be used to propose a set of changes.

You can use Lanes to prospose your changes, test change impact, and

bit lane create introducing-billing
CopiedCopy

Version your changes:

bit snap --message 'building the billing aspect'
CopiedCopy

Learn more on setting your platform deployment.

Production

You can tag a new SemVer version to the platform and release a version using the following command:

bit tag --message 'releasing my feature'
CopiedCopy

It is recommended to release using the Bit Cloud change request after testing change effect and product review.