Development workflow
The TEN Framework supports two basic development approaches depending on your project needs and experience level.
Bottom-up development
Build your application from individual components to create a complete solution.
This approach is best for:
- Custom applications with specific requirements
- Learning how TEN Framework components work together
- Projects that require custom functionality not available in existing templates
Follow these steps to develop your solution, based on this approach:
- Create extensions: Develop individual components for specific features, such as speech recognition, AI processing, and text-to-speech.
- Design the graph: Connect extensions to define data flow and communication
- Build the application: Assemble components into a complete TEN application
Example use case: Building a custom voice assistant with specialized industry-specific processing that requires unique extensions and workflows.
Template-based development
Start with an existing application template and customize specific components.
This approach is best for:
- Rapid prototyping and development
- Projects similar to existing TEN applications
- Focusing on specific functionality rather than overall architecture
Follow these steps to develop your solution, based on this approach:
- Choose a template: Select an existing TEN application like TEN-Agent that matches your use case
- Identify components to replace: Determine which extensions need customization
- Develop custom extensions: Customize or create replacement extensions for specific functionality
- Test and integrate: Use the standalone testing framework to ensure compatibility
Example use case: Customizing TEN-Agent to use a different speech recognition service or adding a specific LLM while keeping the overall agent structure.
Choosing your approach
Consider these guidelines when selecting your development approach:
- Start with templates if you're new to TEN Framework or building something similar to existing applications
- Build from scratch if you need complete control over architecture or have unique requirements
- Mix both approaches by starting with a template and gradually replacing more components as you learn
Use extensions from the TEN Cloud Store with either approach to accelerate development.