# Holochain Development Guideline
Any place you see "holochain" here, we are refferring to the holochain binary, which is the main code written in rust that does most of the job in networking, data structure and data integrity.
## Binaries
- [**lair-keystore**](https://github.com/holochain/lair): generate and manages private/public keys pairs.
- [**holochain**](https://github.com/holochain/holochain): core platform that runs holochain applications
- Exposes two endpoints: ports to connect through WebSocket
- Admin Interface: to install and manage happs. Not accessible from the app's code, just from the launcher's admin UI or CLI
- Install App
- Uninstall App
- App Interface: call functions defined in happ. Accessible from the app's code or any JS
- CallZome
- CloneCell
- ArchiveCell
- AppInfo
- Use @holochain/client to connect to these interfaces
## SDKs
- [**hdi**](https://docs.rs/hdi): rust crate that allows you to build integrity zomes.
- [**hdk**](https://docs.rs/hdk): rust crate that allows you to build coordinator zomes.
## Client
- [**@holochain/client**](https://npmjs.com/package/@holochain/client): nodejs library to easily connect to the holochain conductor.
- [**holochain_client_rust**](https://docs.rs/holochain_client): rust crate to easily connect to the holochain conductor. Only needed if you are write applications that connect to the holochain conductor in rust.
## Testing
- [**@holochain/tryorama**](https://npmjs.com/package/@holochain/tryorama): happ integration tests for nodejs.
- **sweettest**: happ integration tests for rust.
- NO DOCUMENTATION
## Development Tooling
- [**hc**](https://crates.io/crates/holochain_cli): CLI tool, with these subcommands:
- hc web-app pack: package your app to a .webhapp
- hc sandbox: work with sandboxed environments for testing and development
- hc scaffold: code generation tool to help you to quickly and easily create
- hc launch: launch a webhapp application in the launcher environment in development mode.
- [Walkthrough on how to scaffold an app](https://developer.holochain.org/get-started/#4-zero-to-built-creating-a-forum-app)
## Development environment
- **nix develop**: development environment, includes:
- lair_keystore
- holochain
- hc
## Production
- [**launcher**](https://github.com/holochain/launcher): desktop application that end-users download and install happs.
- [**DevHub**](https://github.com/holochain/devhub-gui): similar to an app store. One standalone happ to publish your application's .webhapp . It comes prepackaged with the launcher.