---
# System prepended metadata

title: TACo API Refactor
tags: [nucypher]

---

# TACo API 

![](https://hackmd.io/_uploads/H1lo1X-23.png)
[Miro board](https://miro.com/app/board/uXjVOMMu51E=/)


## Roadmap

### Before Beta Testing

- Simplify the TDec API
    - Remove state when possible
    - Functional design
    - Expose new `taco.{encrypt,decrypt}` module
        - Encrypt methods
            - Lightweight
            - Blockchainy
        - Consider using a container for shared arguments across encrypt methods
        - **Create code samples for the new API first and validate them**
- Finalizing `nucypher-core` & `nucypher-contracts` and feature-freezing `nucypher-ts`
- Improve developer experience when working with WASM
    - Reserach WASM inlining into package
    - Document common pain points to date
- Traige feedback from Masterfile into actionable items
    - https://github.com/nucypher/nucypher-ts/issues/258
        - Static typing for condition types 
            - Replaces unergonomic JSON usage
        - Replace duck-typing in conditions with condition type in metadata
            - Simplifies handling opaque conditions
    - Other issues relevant here?

### After Beta Testing


- Deploying `nucypher-ts` to different platforms
    - Test, document, and create integrations example for multiple platforms
        - Web, mobile, nodejs
    - Create examples for popular frameworks and build tools
- Refactor `nucypher-ts` into a monorepo
    - Rename GH repo
        - Suggestions welcome
            - `threshold-client`?
    - Packages
        - `threshold-network/taco`
        - `threshold-network/pre`
        - `threshold-network/core`
        - `threshold-network/examples`
            - Alternatively
                - `threshold-network/examples-taco`
                - `threshold-network/examples-pre`
