Skip to content
montasimPublic

About

Browser tool that turns task descriptions into consistent Git branch names with configurable prefixes and separators.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GitNameX

Turn task and ticket titles into consistent Git branch names without leaving the browser.

Live app Support on SupportKori

GitNameX removes the repeated work of cleaning up task titles by hand. Choose a prefix and separator, paste the wording from Jira, Linear, or GitHub, then copy a branch name that is ready for your normal Git workflow.

Open GitNameX · Contact the maintainer

Project status: The Netlify deployment is reachable for normal use. Deployment content may lag changes that have not yet been merged and deployed. The repository currently has no automated test suite, CI workflow, or open-source license file.

Why GitNameX?

Task titles are written for people, while branch names need predictable separators, prefixes, and character handling. Reformatting them manually is small work, but it happens repeatedly and produces inconsistent results across a team.

GitNameX provides one focused browser workflow:

  • Generate the branch name as the task title changes.
  • Use feature, bug, no prefix, or a custom prefix.
  • Separate words with dashes or underscores.
  • Copy the result directly to the clipboard.
  • Clear the current task and restore the default format.
  • Work in a responsive light or dark interface.

Use the application

  1. Open the live application or start it locally.
  2. Enter a task or ticket title.
  3. Select a prefix and word separator.
  4. Review the generated branch name.
  5. Copy it and create the branch with your preferred Git command.

For example:

Task:   Add password reset to account settings
Format: Feature prefix + dash separator
Output: feature/add-password-reset-to-account-settings

You can then use the copied value with Git:

git switch -c feature/add-password-reset-to-account-settings

Privacy and trust boundary

Branch generation runs in client-side React state. Task titles and generated branch names are not sent to the application server by the generator.

The contact form is separate from the generator. When configured, it sends the submitted name, email address, subject, and message through a Next.js Server Action and Resend so the maintainer can reply.

Do not paste credentials, access tokens, private keys, regulated records, or other sensitive information into the generator or contact form. Client-side processing does not protect against untrusted browser extensions, compromised deployments, or future code changes.

Local development

Prerequisites

  • Node.js 20.9.0 or newer
  • pnpm

Install and run

git clone https://github.com/montasim/GitNameX.git
cd GitNameX
pnpm install
pnpm dev

Open http://localhost:3000.

The core generator does not require environment variables. Configure the optional contact form only when you need email delivery.

Contact-form configuration

Copy the provided template:

cp .env.example .env.local

Then replace the example values:

Variable Visibility Purpose
RESEND_API_KEY Server-only Authenticates requests to Resend
EMAIL_FROM Server-only Verified sender address used for outgoing messages
NEXT_PUBLIC_CONTACT_EMAIL Public Contact address displayed in the interface and used as the message recipient

Never prefix the Resend API key with NEXT_PUBLIC_ or commit a real .env.local file.

Without these values, branch generation still works. Contact-form submission returns a configuration error instead of attempting delivery.

Application routes

Route Purpose
/ Branch-name generator and usage explanation
/contact Contact channels and email form
/privacy Data-processing and storage disclosure
/terms Conditions for using the application

Custom 404 and error states provide recovery paths back to the generator.

How it works

The branch workflow stays entirely in the browser:

Task title + prefix + separator
              |
              v
      Client-side normalization
              |
              v
       Generated branch name
              |
              v
          Clipboard copy

The generator lowercases input, removes unsupported punctuation, joins words with the selected separator, trims leading and trailing separators, and adds the selected prefix when applicable.

The contact workflow has a separate boundary:

Contact form -> Next.js Server Action -> Resend -> Maintainer and confirmation email

Technology

Area Technology
Application Next.js 16, React 19, TypeScript 5
Interface Tailwind CSS 4 and owned shadcn/ui components
Accessible primitives Radix UI
Icons Lucide React
Theme next-themes
Contact delivery Resend

Development commands

Command Purpose
pnpm dev Start the Next.js development server
pnpm build Type-check and create an optimized production build
pnpm start Serve the production build
pnpm lint Run ESLint across the repository

There is no test command yet. Before submitting a change, run both pnpm lint and pnpm build.

Project structure

Path Purpose
app/ App Router pages, metadata, global styles, and route-level error states
components/branch-name-generator.tsx Interactive branch-generation workflow
components/layout.tsx Shared navigation, footer, and content primitives
components/ui/ Owned shadcn/ui components
lib/hooks.ts Generator state, normalization, and clipboard behavior
lib/actions.ts Contact-form Server Action
lib/resend.ts Server-only Resend initialization
prototypes/v1/ Approved static HTML and Tailwind design prototype

Deployment

The public application is deployed at gitnamex.netlify.app.

For another deployment:

  1. Install dependencies with pnpm install.
  2. Add the contact variables only if the email form should deliver messages.
  3. Run pnpm build.
  4. Serve the generated Next.js application using the hosting provider's Next.js integration.

The generator remains usable when contact-form variables are omitted.

Limitations

  • Branch transformations are rule-based and do not understand repository-specific policies automatically.
  • Generated names should be reviewed before use in source control or automation.
  • The normalizer is designed around Latin letters, numbers, and common separators; unsupported characters may be removed.
  • The task field is limited to 180 characters in the current interface.
  • The repository has no automated test suite or CI workflow.
  • No private vulnerability-reporting process, contribution guide, security policy, or code of conduct is currently documented.
  • The GitHub repository is not publicly accessible at the time of verification, so clone and issue links require repository access.

Contributing

Repository collaborators can open focused issues and pull requests. Before submitting a change:

pnpm lint
pnpm build

Changes to branch normalization should include tests once a test framework is introduced. Do not include task titles, credentials, or private repository information in public reports.

Support and security

Use the application contact page for general questions. Repository collaborators can use GitHub Issues for reproducible bugs and proposals.

No dedicated private vulnerability-reporting policy exists yet. Coordinate privately with the maintainer before public disclosure, and never include secrets or exploit details in a public issue.

Funding

Optional support through SupportKori helps with continued maintenance. Bug reports, code contributions, documentation improvements, and feedback are also valuable.

Author

Built and maintained by Montasim.

License status

No license file is included. Source visibility does not grant permission to copy, modify, or redistribute this project.

About

Browser tool that turns task descriptions into consistent Git branch names with configurable prefixes and separators.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages