# 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: ```bash git clone fjtui cd fjtui npm install ``` Build the project: ```bash npm run build ``` Link globally (optional): ```bash npm link ``` You can then run the tool anywhere using `gitea-tui`. ## Usage You can start the interactive setup wizard by simply running: ```bash npm start ``` Or, if installed globally: ```bash gitea-tui ``` ### Direct Connection You can also use command-line options to connect directly and bypass the setup wizard: ```bash npm start -- --url "https://forgejo.example.com" --userid "myuser" --repo "myuser/myrepo" --token "my-access-token" ``` ### Command-Line Options - `-u, --url `: Forgejo/Gitea instance base URL (e.g. `https://forgejo.freshbrewed.science`) - `-i, --userid `: Forgejo/Gitea user ID / username - `-r, --repo `: Repository path (e.g. `owner/repo`) - `-t, --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 the `dist/` directory. - `npm start`: Runs the built `dist/index.js` file. ## Technologies Used - **TypeScript** / **Node.js** - **Commander:** Command-line argument parsing. - **Chalk:** Terminal styling. - **Axios:** API interactions.