tSM Sync VS Code Extension
Synchronise your tSM configuration files using a cache-based approach with RESTful API.
| Command |
What it does |
| tSM: Download from Server |
Downloads configured entities, caches them locally, and shows differences with workspace files. |
| tSM: Upload to Server |
Uploads all changed JSON files to the server using RESTful bulk operations. |
| Right‑click diff file → Accept Remote |
Copy the remote version to workspace (overwrite local changes). |
| Right‑click diff file → Open Diff |
Open side‑by‑side compare for that item. |
Configuration
Authentication Settings
tsmSync.serverUrl – e.g. https://tsm.datalite.cloud
tsmSync.username – your tSM username
tSM: Set/Change Password – stores password securely in VS Code secrets
Project Configuration
Create a .tsm-sync.json file in your workspace root:
{
"targets": [
{
"entity": "test_config",
"filter": {},
"include": ["*.json"],
"exclude": [],
"subdir": "configs"
}
]
}
Configuration Options
entity – tSM entity type (e.g., "test_config", "form")
filter – API filter criteria (currently unused)
include – File patterns to include (e.g., ["*.json"])
exclude – File patterns to exclude
subdir – Subdirectory within workspace for this entity type
searchLimit – Maximum records to fetch (default: 10,000)
Features
- Cache-based sync – Downloads are cached locally for fast comparison
- Case-insensitive comparison – Handles case differences correctly
- RESTful operations – Uses modern REST API for all operations
- Tree view – Shows file differences in Explorer sidebar
- Auto-refresh – Tree updates automatically when files change
- Pagination detection – Automatically detects when there are more records than the limite Extension
Constitutional Compliance
This extension adheres to tSM Studio Constitution v1.0.0 principles:
- Extension-First Architecture: All features integrate natively with VS Code
- Configuration-Driven Development: Server connections via JSON configuration files
- Cache-First Synchronization: Intelligent caching minimizes server requests
- Type-Safe Implementation: Full TypeScript strict mode compliance
- Observable Operations: Progress indicators and status updates via VS Code notifications
Development Standards
Quality Assurance Requirements
- Minimum 90% test coverage for all new features
- TypeScript strict mode enabled for type safety
- ESLint and Prettier configuration for code consistency
- Security vulnerability scans must be clean
- Response time under 2 seconds for all sync operations
- Memory usage monitoring and optimization
- Efficient handling of large tSM datasets (10,000+ records)
Governance Workflow
Feature Branch Strategy
- Create feature branches from
main using naming convention: feature/feature-name
- Use
hotfix/issue-name for urgent bug fixes
- Submit pull requests for all changes with clear descriptions
Code Review Requirements
- All pull requests require at least one approved review
- Changes must pass all automated checks (linting, tests, security scans)
- Documentation updates required for new features
- Breaking changes must be clearly communicated in PR descriptions
Quality Gates
- Code coverage must not decrease below 90%
- All TypeScript compilation errors must be resolved
- Security vulnerabilities must be addressed before merge
- Performance benchmarks must meet established thresholds
Synchronise your tSM configuration with a Git workspace.
| Command |
What it does |
| tSM: Backup from Server |
Downloads selected entity (default Form) as ZIP, commits to a temp branch, shows diff. |
| tSM: Restore to Server |
Uploads all changed JSON files to the server. |
| Right‑click diff file → Upload |
Push just that one config. |
| Right‑click diff file → Open Diff |
Open side‑by‑side compare for that item. |
## Settings
tsmSync.serverUrl – e.g. https://tsm.datalite.cloud
tsmSync.username
tSM: Set/Change Password – stores password securely
| |