cruiser 0.2.0

Solana code generation
Documentation
![Cruiser Logo](img/cruiser.png)

# Cruiser

Cruiser is a framework for helping build programs on Solana. The main focuses are extensibility and composability.
It is currently in an early alpha state with little documentation.

## Features
| Feature                       | Description                                                                                   | State                | Version |
|-------------------------------|-----------------------------------------------------------------------------------------------|----------------------|---------|
| Extensible Instruction System | Instruction data and accounts are built on a extensible tree system                           | Released             | `0.1.0` |
| Rust Code Generation          | Generates rust code for individual traits                                                     | Released             | `0.1.0` |
| All Code Generation Optional  | All the code generation is optional, if something doesn't do what you want you can replace it | Released             | `0.1.0` |
| Client Support                | Allows exporting your program as client code for others to call with                          | Released             | `0.2.0` |
| Auto Size implementation      | Automatically figures out the size of your accounts                                           | Partial Release      | `0.1.0` |
| IDL Generation                | Creates and IDL from rust code for client calling                                             | Not Started          | N/A     |
| Extensible IDL                | IDL can be extended to support any types                                                      | Not Started          | N/A     |
| Static Typescript From IDL    | Generates Static Typescript from an IDL Definition                                            | Not Started          | N/A     |
| In-Place Data Access          | Similar to Zero Copy, allows direct access to data rather than serde-ing it                   | Experimental         | N/A     |
| Anchor Support                | Hooks to allow some components in Cruiser to be used in anchor programs                       | Can be done manually | N/A     |
| Interface System              | Interface system allowing for generic interfaces across programs                              | Experimental         | N/A     |
| Full Testing Framework        | Testing framework in rust to allow for easy integration tests and fuzz testing                | Not Started          | N/A     |