2.5 KiB
2.5 KiB
Gitea TUI (fjtui)
A premium interactive CLI TUI Dashboard for exploring Gitea and Forgejo issues directly from your terminal.
Features
- Interactive TUI: A full-featured terminal user interface using Node.js.
- Multiple Screens:
- Setup Wizard: Easy configuration and connection testing.
- Repository Picker: Browse and select repositories seamlessly.
- Issue List: View, filter, sort, and search issues in a repository.
- Issue Details: Read full issue descriptions and comments in a dedicated view.
- Create Issue: Draft and submit new issues directly from the terminal.
- Add Comment: Participate in issue discussions seamlessly.
- Configuration Management: Save your connection settings and tokens securely for future sessions.
- Support for Forgejo & Gitea: Built to integrate smoothly with Forgejo and Gitea APIs.
Installation
Ensure you have Node.js (v20+) installed.
Clone the repository and install dependencies:
git clone <repository-url> fjtui
cd fjtui
npm install
Build the project:
npm run build
Link globally (optional):
npm link
You can then run the tool anywhere using gitea-tui.
Usage
You can start the interactive setup wizard by simply running:
npm start
Or, if installed globally:
gitea-tui
Direct Connection
You can also use command-line options to connect directly and bypass the setup wizard:
npm start -- --url "https://forgejo.example.com" --userid "myuser" --repo "myuser/myrepo" --token "my-access-token"
Command-Line Options
-u, --url <url>: Forgejo/Gitea instance base URL (e.g.https://forgejo.freshbrewed.science)-i, --userid <userid>: Forgejo/Gitea user ID / username-r, --repo <owner/repo>: Repository path (e.g.owner/repo)-t, --token <token>: Personal Access Token (optional for public repositories)-s, --save: Save the provided settings to the global config file (~/.config/fjtui/fjtui.json)
Configuration
Settings can be saved interactively via the Setup Wizard or by passing the -s or --save flag in the CLI. The application configuration file is stored safely at ~/.config/fjtui/fjtui.json.
Development
npm run build: Compiles the TypeScript code to JavaScript in thedist/directory.npm start: Runs the builtdist/index.jsfile.
Technologies Used
- TypeScript / Node.js
- Commander: Command-line argument parsing.
- Chalk: Terminal styling.
- Axios: API interactions.