Skip to main content

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:

  1. Create extensions: Develop individual components for specific features, such as speech recognition, AI processing, and text-to-speech.
  2. Design the graph: Connect extensions to define data flow and communication
  3. 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:

  1. Choose a template: Select an existing TEN application like TEN-Agent that matches your use case
  2. Identify components to replace: Determine which extensions need customization
  3. Develop custom extensions: Customize or create replacement extensions for specific functionality
  4. 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
info

Use extensions from the TEN Cloud Store with either approach to accelerate development.