aifs-commander-tui
v1.0.3
Published
Terminal User Interface for AIFS Commander - A cross-cloud file manager
Maintainers
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: [email protected]
