원클릭으로
commit-and-push
// Commit code changes and push via Git. Use when the user asks to commit, push, or save their work to the repository.
// Commit code changes and push via Git. Use when the user asks to commit, push, or save their work to the repository.
Review code for quality, correctness, and security vulnerabilities. Use when the user asks to review code, audit for security issues, or check for bugs and anti-patterns.
Writing/updating project documentation (README, PRIVACY-POLICY, NOTICES, changelogs) and maintaining F-Droid metadata. Use when the user asks to update docs, write changelogs, or modify F-Droid store listings.
Release engineering tasks including version bumping, building release APKs, creating git tags, writing changelogs, and preparing F-Droid releases. Use when the user asks to prepare a release, bump version, tag a release, or build for distribution.
| name | commit-and-push |
| description | Commit code changes and push via Git. Use when the user asks to commit, push, or save their work to the repository. |
| argument-hint | commit message or description of changes |
You are committing and pushing code changes for MakeMeDown Text Reader.
This project uses Conventional Commits-style prefixes. Look at git log before writing a message — every existing commit follows this pattern.
<type>: <imperative summary>, lowercase after the colon, no trailing period.Signed-off-by trailer. This project's commits are GPG-signed (-S), not DCO-signed-off. Don't add --signoff unless the user asks for it.Co-Authored-By trailer unless the user asks for one. Existing commits don't carry one and adding one silently changes the project's authorship pattern.Match the prefixes already in the log:
feat: — a new user-visible featurefix: — a bug fixdocs: — documentation only (README, comments, license headers)chore: — tooling, build config, ignores, license headers, dependency bumpsrefactor: — code restructuring with no behavior changestyle: — formatting / cosmetictest: — adding or fixing testsperf: — performance workIf a change spans multiple types, pick the dominant one. If you can't, that's a hint the change should be split into multiple commits.
feat: add gated share/export from the private space
feat: add biometric-locked private space to reader
docs: cover the locked private space, share gate, and FileProvider
chore: extend GPL v3+ headers to kept Gradle/resource files
chore: relicense project under GPL v3 or later
git status and git diff (and git diff --cached if anything is already staged) to understand what will be committed. Read the actual diff before writing the message; do not infer from filenames.git add -A or git add .. Be careful not to stage:
local.properties (contains sdk.dir — already gitignored, but double-check)app/build/, build/, .gradle/, .cxx/ (already gitignored).idea/ (entire directory is gitignored per the project's chore: ignore the entire .idea directory commit — do not re-add files from there)*.jks, *.keystore, keystore.properties, or anything resembling signing material.env, secrets.*, anything with credentials.kt, .kts, or significant resource files, verify the GPL v3+ header is present. The project deliberately extends GPL v3+ headers across the tree (see chore: extend GPL v3+ headers to kept Gradle/resource files). The Android Studio copyright profile lives at .idea/copyright/GPLv3_or_later.xml.git commit -S -m "$(cat <<'EOF'
feat: <imperative summary>
Optional body explaining why.
EOF
)"
The -S flag triggers GPG signing. The user's signing key is configured in their git config and may prompt for a passphrase via gpg-agent / pinentry — that's expected. Do not pass --no-gpg-sign or -c commit.gpgsign=false to bypass it; if signing fails, stop and report the error rather than producing an unsigned commit.git log -1 --show-signature to confirm the commit landed and the signature is valid.origin → git@github.com:hiroshiyui/MakeMeDownTextReader.git.main. There is no master, no current, no develop.git push origin main (or the user's current branch name if they're working on a feature branch).main without an explicit, unmistakable request. Never use --force when --force-with-lease would do.--no-verify. If a pre-push hook fails, investigate and fix the underlying issue.The repo currently has only main. If you need to create a feature branch, use a descriptive lowercase-with-dashes name (e.g. private-space-export-cache, epub-zip-slip-fix). Branch off main and target main for the eventual merge.