Package Exports
- aifs-commander-tui
- aifs-commander-tui/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aifs-commander-tui) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
AIFS Commander TUI
A powerful Terminal User Interface for AIFS Commander - a cross-cloud file manager that supports local filesystems, AWS S3, Google Cloud Storage, Azure Blob Storage, and AIFS (AI-centric File System).
Features
- Dual-pane file browser - Norton Commander-style interface
- Cross-cloud support - Local, S3, GCS, Azure, and AIFS storage
- File operations - Copy, move, delete, create directories
- Provider configuration - Easy setup for cloud storage providers
- State persistence - Remembers your last directories and selections
- Keyboard shortcuts - Efficient navigation and operations
- Progress tracking - Real-time status updates for operations
Installation
Global Installation
npm install -g aifs-commander-tuiLocal Installation
npm install aifs-commander-tuiUsage
Command Line Interface
# Start the TUI
aifs-tui
# Show help
aifs-tui --help
# Use custom configuration
aifs-tui --config ./my-config.json
# Show version
aifs-tui --versionProgrammatic Usage
import { TuiApplication } from 'aifs-commander-tui';
const app = new TuiApplication({
configPath: './config.json'
});
app.start().catch(console.error);Configuration
The TUI can be configured through a JSON file or environment variables:
{
"providers": {
"aws": {
"enabled": true,
"region": "us-west-2"
},
"gcp": {
"enabled": true,
"projectId": "my-project"
},
"azure": {
"enabled": true,
"accountName": "mystorageaccount"
},
"aifs": {
"enabled": true,
"endpoint": "localhost:50052"
}
},
"ui": {
"theme": "dark",
"showHiddenFiles": false
}
}Keyboard Shortcuts
Navigation
Tab- Switch between panes↑/↓- Navigate filesEnter- Open file/directoryBackspace- Go to parent directory
File Operations
F5- Copy selected filesF6- Move selected filesF8- Delete selected filesF7- Create new directoryInsert- Select/deselect files
Configuration
F9- Open configuration menuCtrl+Q- Quit application
Provider Setup
AWS S3
- Configure AWS credentials via AWS CLI or environment variables
- Enable S3 provider in configuration
- Select S3 bucket in the file browser
Google Cloud Storage
- Configure GCP credentials via
gcloud auth application-default login - Enable GCS provider in configuration
- Select GCS bucket in the file browser
Azure Blob Storage
- Configure Azure credentials via Azure CLI
- Enable Azure provider in configuration
- Select Azure container in the file browser
AIFS
- Set AIFS endpoint in configuration
- Provide authentication token if required
- Connect to AIFS namespace in the file browser
Development
Building from Source
git clone https://github.com/aifs-ngclient/aifs-commander.git
cd aifs-commander-tui
npm install
npm run buildRunning in Development
npm run devAPI Reference
TuiApplication
Main application class for the TUI.
class TuiApplication {
constructor(options?: {
configPath?: string;
theme?: 'light' | 'dark';
showHiddenFiles?: boolean;
});
start(): Promise<void>;
stop(): Promise<void>;
getState(): ApplicationState;
setState(state: ApplicationState): void;
}Configuration
interface TuiConfig {
providers: {
aws?: AwsConfig;
gcp?: GcpConfig;
azure?: AzureConfig;
aifs?: AifsConfig;
};
ui: {
theme: 'light' | 'dark';
showHiddenFiles: boolean;
};
}Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- GitHub Issues: https://github.com/aifs-ngclient/aifs-commander/issues
- Documentation: https://github.com/aifs-ngclient/aifs-commander#readme
- Email: team@aifs.dev