Add Module
The add-module
command creates a new module in your JaseciStack project with a complete structure including components, API integration, and state management.
Usage
npx create-jaseci-app add-module <module_name> [options]
💡 Tip: Use our CLI Generator tool to generate commands with all available options and get real-time preview.
Options
Option | Description | Default |
---|---|---|
--route | Custom route path | /<module_name> |
--node-type | Custom node type name | <ModuleName>Node |
--api-path | Custom API endpoint path | /<module_name> |
--package-manager | Package manager to use | npm |
What it Creates
The command generates a complete module structure:
-
Module Directory
- Components
- API integration
- State management
- Type definitions
-
API Integration
- API client setup
- Type definitions
- Error handling
-
State Management
- Redux slice
- Actions and reducers
- Type definitions
-
Components
- Main module component
- List component
- Form component
- Type definitions
Examples
# Basic module creation
npx create-jaseci-app add-module users
# Custom route
npx create-jaseci-app add-module users --route /admin/users
# Custom node type
npx create-jaseci-app add-module users --node-type UserNode
# Custom API path
npx create-jaseci-app add-module users --api-path /api/v1/users
# Using yarn
npx create-jaseci-app add-module users --package-manager yarn
Module Structure
src/
├── modules/
│ └── users/ # Module directory
│ ├── components/ # React components
│ │ ├── UserList.tsx # List component
│ │ ├── UserForm.tsx # Form component
│ │ └── index.tsx # Main component
│ ├── api/ # API integration
│ │ ├── usersApi.ts # API client
│ │ └── types.ts # API types
│ ├── store/ # State management
│ │ ├── usersSlice.ts # Redux slice
│ │ └── types.ts # State types
│ └── types.ts # Shared types
Best Practices
-
Module Naming
- Use plural nouns (e.g.,
users
,products
) - Use kebab-case for directory names
- Use PascalCase for component names
- Use plural nouns (e.g.,
-
Route Organization
- Use meaningful route paths
- Follow RESTful conventions
- Consider nested routes
-
Node Type Definitions
- Use descriptive names
- Follow naming conventions
- Include proper documentation
-
API Integration
- Use consistent endpoint patterns
- Implement proper error handling
- Follow API best practices
Troubleshooting
Common Issues
-
Module Creation Fails
- Check module name validity
- Verify directory permissions
- Check for existing modules
-
Route Conflicts
- Check for existing routes
- Verify route path format
- Check for special characters
-
Type Definition Errors
- Check TypeScript configuration
- Verify type imports
- Check for circular dependencies
Getting Help
If you encounter any issues:
- Check the documentation
- Search existing issues
- Create a new issue if needed