From 3ee550125738c7aa6e16afbfcb0c8488f2f9a251 Mon Sep 17 00:00:00 2001 From: Norwin Date: Fri, 2 Oct 2020 15:46:51 +0000 Subject: [PATCH] Common subcommand naming scheme (#208) drop tea mile alias document command schema in CONTRIBUTING.md and update this file, its a plain copy from gitea add "list" as alias for "ls" subcommand add singular command aliases Co-authored-by: Norwin Roosen Reviewed-on: https://gitea.com/gitea/tea/pulls/208 Reviewed-by: 6543 <6543@noreply.gitea.io> Reviewed-by: techknowlogick --- CONTRIBUTING.md | 43 +++++++++++++++++++++++++----------------- cmd/issues.go | 1 + cmd/issues/list.go | 1 + cmd/labels.go | 1 + cmd/login.go | 3 ++- cmd/login/list.go | 1 + cmd/milestones.go | 2 +- cmd/milestones/list.go | 1 + cmd/notifications.go | 2 +- cmd/pulls/list.go | 1 + cmd/releases.go | 4 ++-- cmd/releases/list.go | 1 + cmd/repos.go | 5 +++-- cmd/repos/list.go | 1 + 14 files changed, 43 insertions(+), 24 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 13f1ce4..630f669 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,6 @@ - [Discuss your design](#discuss-your-design) - [Testing redux](#testing-redux) - [Vendoring](#vendoring) - - [Translation](#translation) - [Code review](#code-review) - [Styleguide](#styleguide) - [Sign-off your work](#sign-off-your-work) @@ -21,12 +20,10 @@ ## Introduction This document explains how to contribute changes to the Gitea project. -It assumes you have followed the -[installation instructions](https://docs.gitea.io/en-us/). Sensitive security-related issues should be reported to [security@gitea.io](mailto:security@gitea.io). -For configuring IDE or code editor to develop Gitea see [IDE and code editor configuration](contrib/ide/) +For configuring IDE or code editor to develop Gitea see [IDE and code editor configuration](https://github.com/go-gitea/gitea/tree/master/contrib/ide) ## Bug reports @@ -49,7 +46,7 @@ getting free help. ## Discuss your design The project welcomes submissions. If you want to change or add something, -please let everyone know what you're working on—[file an issue](https://github.com/go-gitea/gitea/issues/new)! +please let everyone know what you're working on—[file an issue](https://gitea.com/gitea/tea/issues/new)! Significant changes must go through the change proposal process before they can be accepted. To create a proposal, file an issue with your proposed changes documented, and make sure to note in the title @@ -87,16 +84,7 @@ an existing upstream commit. You can find more information on how to get started with it on the [dep project website](https://golang.github.io/dep/docs/introduction.html). -## Translation - -We do all translation work inside [Crowdin](https://crowdin.com/project/gitea). -The only translation that is maintained in this git repository is -[`en_US.ini`](https://github.com/go-gitea/gitea/blob/master/options/locale/locale_en-US.ini) -and is synced regularily to Crowdin. Once a translation has reached -A SATISFACTORY PERCENTAGE it will be synced back into this repo and -included in the next released version. - -## Building Gitea +## Building tea Generally, the go build tools are installed as-needed in the `Makefile`. An exception are the tools to build the CSS and images. @@ -128,6 +116,27 @@ Some of the key points: ## Styleguide +### Command naming +- Subcommands should follow the following structure: + ``` + tea [] [] + ``` + + for example: + + ``` + tea issues list + tea pulls create + tea teams add user --team x --user y + ``` +- Commands should accept nouns as singular & plural by making use of the `Aliases` field. +- The default action without a verb is `list`. +- `list` commands always apply pagination where provided by the API. +- Try to reuse as many flag definitions as possible, see `cmd/flags.go`. +- Always make sure that the help texts are properly set, and as concise as possible. + +### Code style +Use `go fmt`, check with `make lint`. For imports you should use the following format (_without_ the comments) ```go import ( @@ -202,7 +211,7 @@ to the maintainers team. If a maintainer is inactive for more than 3 months and forgets to leave the maintainers team, the owners may move him or her from the maintainers team to the advisors team. For security reasons, Maintainers should use 2FA for their accounts and -if possible provide gpg signed commits. +if possible provide gpg signed commits. https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/ https://help.github.com/articles/signing-commits-with-gpg/ @@ -245,7 +254,7 @@ they served: ## Versions -Gitea has the `master` branch as a tip branch and has version branches +tea has the `master` branch as a tip branch and has version branches such as `release/v0.9`. `release/v0.9` is a release branch and we will tag `v0.9.0` for binary download. If `v0.9.0` has bugs, we will accept pull requests on the `release/v0.9` branch and publish a `v0.9.1` tag, diff --git a/cmd/issues.go b/cmd/issues.go index 9987360..8291003 100644 --- a/cmd/issues.go +++ b/cmd/issues.go @@ -17,6 +17,7 @@ import ( // CmdIssues represents to login a gitea server. var CmdIssues = cli.Command{ Name: "issues", + Aliases: []string{"issue"}, Usage: "List, create and update issues", Description: "List, create and update issues", ArgsUsage: "[]", diff --git a/cmd/issues/list.go b/cmd/issues/list.go index 1f7e7b8..6a8b821 100644 --- a/cmd/issues/list.go +++ b/cmd/issues/list.go @@ -19,6 +19,7 @@ import ( // CmdIssuesList represents a sub command of issues to list issues var CmdIssuesList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List issues of the repository", Description: `List issues of the repository`, Action: RunIssuesList, diff --git a/cmd/labels.go b/cmd/labels.go index 4b9a67b..b171614 100644 --- a/cmd/labels.go +++ b/cmd/labels.go @@ -23,6 +23,7 @@ import ( // CmdLabels represents to operate repositories' labels. var CmdLabels = cli.Command{ Name: "labels", + Aliases: []string{"label"}, Usage: "Manage issue labels", Description: `Manage issue labels`, Action: runLabels, diff --git a/cmd/login.go b/cmd/login.go index f1031e1..26010d2 100644 --- a/cmd/login.go +++ b/cmd/login.go @@ -12,7 +12,8 @@ import ( // CmdLogin represents to login a gitea server. var CmdLogin = cli.Command{ - Name: "login", + Name: "logins", + Aliases: []string{"login"}, Usage: "Log in to a Gitea server", Description: `Log in to a Gitea server`, Action: login.RunLoginAddInteractive, // TODO show list if no arg & detail if login as arg diff --git a/cmd/login/list.go b/cmd/login/list.go index 7402677..5359265 100644 --- a/cmd/login/list.go +++ b/cmd/login/list.go @@ -18,6 +18,7 @@ import ( // CmdLoginList represents to login a gitea server. var CmdLoginList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List Gitea logins", Description: `List Gitea logins`, Action: runLoginList, diff --git a/cmd/milestones.go b/cmd/milestones.go index 5a14864..8ac9828 100644 --- a/cmd/milestones.go +++ b/cmd/milestones.go @@ -16,7 +16,7 @@ import ( // CmdMilestones represents to operate repositories milestones. var CmdMilestones = cli.Command{ Name: "milestones", - Aliases: []string{"ms", "mile"}, + Aliases: []string{"milestone", "ms"}, Usage: "List and create milestones", Description: `List and create milestones`, ArgsUsage: "[]", diff --git a/cmd/milestones/list.go b/cmd/milestones/list.go index d3fe60e..52b073d 100644 --- a/cmd/milestones/list.go +++ b/cmd/milestones/list.go @@ -19,6 +19,7 @@ import ( // CmdMilestonesList represents a sub command of milestones to list milestones var CmdMilestonesList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List milestones of the repository", Description: `List milestones of the repository`, Action: RunMilestonesList, diff --git a/cmd/notifications.go b/cmd/notifications.go index fd32af7..69d6d7a 100644 --- a/cmd/notifications.go +++ b/cmd/notifications.go @@ -19,7 +19,7 @@ import ( // CmdNotifications is the main command to operate with notifications var CmdNotifications = cli.Command{ Name: "notifications", - Aliases: []string{"notif"}, + Aliases: []string{"notification", "notif"}, Usage: "Show notifications", Description: "Show notifications, by default based of the current repo and unread one", Action: runNotifications, diff --git a/cmd/pulls/list.go b/cmd/pulls/list.go index 833dbe6..3dc0eb7 100644 --- a/cmd/pulls/list.go +++ b/cmd/pulls/list.go @@ -19,6 +19,7 @@ import ( // CmdPullsList represents a sub command of issues to list pulls var CmdPullsList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List pull requests of the repository", Description: `List pull requests of the repository`, Action: RunPullsList, diff --git a/cmd/releases.go b/cmd/releases.go index 7db2a86..7084173 100644 --- a/cmd/releases.go +++ b/cmd/releases.go @@ -14,8 +14,8 @@ import ( // CmdReleases represents to login a gitea server. // ToDo: ReleaseDetails var CmdReleases = cli.Command{ - Name: "release", - Aliases: []string{"releases"}, + Name: "releases", + Aliases: []string{"release"}, Usage: "Manage releases", Description: "Manage releases", Action: releases.RunReleasesList, diff --git a/cmd/releases/list.go b/cmd/releases/list.go index 9e34903..8703a4e 100644 --- a/cmd/releases/list.go +++ b/cmd/releases/list.go @@ -19,6 +19,7 @@ import ( // CmdReleaseList represents a sub command of Release to list releases var CmdReleaseList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List Releases", Description: "List Releases", Action: RunReleasesList, diff --git a/cmd/repos.go b/cmd/repos.go index d355dc9..8dbeb3d 100644 --- a/cmd/repos.go +++ b/cmd/repos.go @@ -18,8 +18,9 @@ import ( // CmdRepos represents to login a gitea server. var CmdRepos = cli.Command{ Name: "repos", - Usage: "Show repositories details", - Description: "Show repositories details", + Aliases: []string{"repo"}, + Usage: "Show repository details", + Description: "Show repository details", ArgsUsage: "[/]", Action: runRepos, Subcommands: []*cli.Command{ diff --git a/cmd/repos/list.go b/cmd/repos/list.go index 482f5b2..e123c63 100644 --- a/cmd/repos/list.go +++ b/cmd/repos/list.go @@ -20,6 +20,7 @@ import ( // CmdReposList represents a sub command of repos to list them var CmdReposList = cli.Command{ Name: "ls", + Aliases: []string{"list"}, Usage: "List available repositories", Description: `List available repositories`, Action: RunReposList,