GithubHelp home page GithubHelp logo

codefreshdemo / bit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from teambit/bit

0.0 6.0 0.0 30.11 MB

⚡⚡ Language-agnostic and distributed code component manager

Home Page: https://bitsrc.io

License: Other

JavaScript 97.11% Shell 1.57% Ruby 0.15% PowerShell 1.12% Batchfile 0.05%

bit's Introduction

Bit

Language-agnostic and distributed code component manager

Appveyor Status Appveyor Status

Bit allows you to easily create a dynamic set of fully-managed code components ready to be used or deployed anywhere.

Bit enables you to make components reusable without having to worry about boilerplating (docs, configs, build and test execution), versioning, dependency management and CI.

Bit takes care of everything for you so that extracting a component from your code and using it across repositories can take less than 30 seconds.

TL:DR

  • Easily export components from your code in seconds using simple commands and with only 2 files: impl. and specs.
  • Maintain your components end-to-end including simple versioning, faster dependency management and CI.
  • Find and deploy tested and ready-to-go components created by you or your team in a fully distributed system.

Installation

For the different installation methods, please check out our wiki's installation section.

Get started

Create the component left-pad

bit create string/left-pad -s

Edit your component's code and tests using your favorite IDE

vim inline_components/string/left-pad/impl.js
vim inline_components/string/left-pad/spec.js

Commit your component to your Bit scope

bit commit string/left-pad 'initial commit'

Export your newly created component to a remote scope

bit export @this/string/left-pad @my-scope

After exporting a component you can easily import it anywhere using:

bit import @my-scope/string/left-pad

In case you would like to modify this component, you can just use:

bit modify @my-scope/string/left-pad

Features

  • Export components with one command. A single CLI command to export a reusable component with only two files: impl and specs.

  • Component CI. Bit‘s scoping mechanism takes care of your component’s build and test execution.

  • Simple versioning management. Bit takes care of version management with a simplified incremental versioning for easier update and maintenance.

  • On-export dependency resolution. A faster, more reliable dependency resolution as dependencies are kept within the component itself.

  • Super fast component installation Components are lighter and faster to install depending on bandwidth alone.

  • Built-in semantic search engine. Easily find and use components created by your or your friends.

  • Quick modification and update of components. Using simple commands such as import, modify etc. to modify and update your components.

  • Scope distribution enables you to create a Bit scope, anywhere with a single bit init command.

  • Bit is language agnostic so that competable drivers can be added for any language, and ultimately components of different languages can be composed together to build anything.

Why Bit?

Today, we often find ourselves re-implementing or copy-pasting pieces of code in multiple places. This wastes time and effort while turning our code base into a maintenance nightmare.

The alternative, spending hours on boilerplating and publishing a package + git repository + CI for every small component is simply too much overhead. Packages are also hard to find and add unnecessary weight and complexity.

This compelled us to build a single tool that allows us to easily extract code components from our code and use them anywhere we want. We also made sure our components would be taken care of through their entire lifecycle, so that they can be trusted and deployed anywhere.

Finally, we made sue our team can collaborate by importing and exporting each other’s components to build and maintain our projects.

Ultimately, bit allows you to create a dynamic collection of fully managed and good-to-go components ready to be used anywhere. This is something we truly believe in.

Learn more

Here is a Quick getting started manual.

You can also head over to Bit's wiki pages for more information.

Contributing to Bit

Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.

See Contributing.

bit's People

Contributors

davidfirst avatar ran-y avatar itaymendel avatar jonisar avatar amitgilad3 avatar ranm8 avatar jonnysas avatar

Watchers

Oleg Verhovsky avatar James Cloos avatar Raziel avatar Itai Gendler avatar Nikolai avatar Alon Diamant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.