- Notifications
You must be signed in to change notification settings - Fork940
A build system for development of composable software.
License
teambit/bit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Website |Docs |Community |Bit Cloud
Bit is a complete solution for composing highly performant and consistent platforms from independent business features. It empowers developers to seamlessly integrate API-centric features into shell applications while maintaining optimal user experience, performance, safety, and developer experience
Bit supports all tooling in the JS ecosystem and comes out of the box with official dev environments forNodeJS,React,Angular,Vue,React Native,NextJS andfar more. All are native to TypeScript and ESM and equipped with the best dev tooling.
Bit is a fit to every codebase structure. You can use Bit components in a monorepo, polyrepo, or even without repositories at all.
Use the Bit installer to install Bit to be available on your PATH.
npx @teambit/bvm install
Initialize Bit on a new folder or in an existing project by running the following command:
bit init --default-scope my-org.my-project
Make sure to create your scope on the Bit platform and use the right org and project name. After running the command, Bit is initialized on the chosen directory, and ready to be used via Bit commands, your editor or the Bit UI!
Create the application shell to run, compose and deploy your platform:
bit create harmony-platform acme-platform
Run the platform:
bit run acme-platform
Head tohttp://localhost:3000
to view your application shell. You can provide API to ease the integration of features to the platform using Platform aspects. Learn more onbuilding platform aspects or optionally learn maintaining anindependent platform workspace.
Create a feature composingReact,Angular,Vue or other components into your platform:
bit create aspect people
You can find simple guides for creating NodeJS modules, UI components and apps, backend services and more on theCreate Component docs.
You can add API to the people aspect to leverage as introducing new features into the platform. Dive deeper intocreating features or optionally learn to create and maintainindependent feature workspaces.
Compose the feature into the application shell:
// acme-platform.bit-app.tsimport{HarmonyPlatform}from'@bitdev/harmony.harmony-platform';import{SymphonyPlatformAspect}from'@bitdev/symphony.symphony-platform';// import the feature componentimport{PeopleAspect}from'@my-org/people.people';exportconstAcmePlatform=HarmonyPlatform.from({name:'acme-platform',// use the Bit default platform engineering aspectplatform:[SymphonyPlatformAspect],aspects:[// compose the people feature into the platformPeopleAspect],});
Create the components to compose into the feature. Run the following command to create a new React UI component for the platformlogin
route:
bit create react login
Adjust the React login to your needs and finally compose the component into the platform:
// people.browser.runtime.tsximport{SymphonyPlatformAspect,typeSymphonyPlatformBrowser}from'@bitdev/symphony.symphony-platform';// import the login component.import{Login}from'@acme/support.routes.login';exportclassPeopleBrowser{// optionally define people browser runtime APIstaticdependencies=[SymphonyPlatformAspect];staticasyncprovider([symphonyPlatform]:[SymphonyPlatformBrowser]){constsupport=newSupportBrowser();// integrate the login as a route to the platform.symphonyPlatform.registerRoute([{path:'/login',component:()=><Login/>}]);returnsupport;}}
Head tohttp://localhost:3000/login
to view your new login page.
You can usebit templates
to list official templates or find guides for creating React hooks, backend services, NodeJS modules, UI components and more on ourcreate components page.Optionally, usebit start
to run the Bit UI to preview components in isolation.
You can either use hosted scopes onBit Cloud or byhosting scopes on your own. Use the following command to create your Bit Cloud account and your first scope.
bit login
Use semantic versioning to version your components:
bit tag --message"my first release" --major
By default, Bit usesRipple CI to build components. You can use the--build
flag to build the components on the local machine. To tag and export from your CI of choice to automate the release process or useour official CI scripts.
After versioning, you can proceed to release your components:
bitexport
Head over to yourbit.cloud account to see your components build progress. Once the build process is completed, the components will be available for use using standard package managers:
npm install @my-org/my-project.hello-world
Bit is entirely built with Bit and you can find all its components onBit Cloud.
Your contribution, no matter how big or small, is much appreciated. Before contributing, please read thecode of conduct.
SeeContributing.
About
A build system for development of composable software.