Skip to content

Commit 85334a1

Browse files
committed
inital commit: gitm - manage multiple git accounts seamlessly
0 parents  commit 85334a1

38 files changed

+12840
-0
lines changed

.eslintrc.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"extends": [
4+
"eslint:recommended",
5+
"plugin:@typescript-eslint/recommended"
6+
],
7+
"parserOptions": {
8+
"ecmaVersion": 2022,
9+
"sourceType": "module",
10+
"project": "./tsconfig.json"
11+
},
12+
"env": {
13+
"node": true,
14+
"es2022": true
15+
},
16+
"rules": {
17+
"@typescript-eslint/explicit-function-return-type": "off",
18+
"@typescript-eslint/no-explicit-any": "warn",
19+
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
20+
"no-console": "off"
21+
}
22+
}

.gitignore

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Dependencies
2+
node_modules/
3+
4+
# Environment files
5+
.env
6+
.env.local
7+
.env.*.local
8+
9+
# Build output
10+
dist/
11+
build/
12+
out/
13+
14+
# Test coverage
15+
coverage/
16+
*.lcov
17+
.nyc_output/
18+
19+
# Logs
20+
*.log
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
pnpm-debug.log*
25+
lerna-debug.log*
26+
27+
# Editor directories and files
28+
.vscode/
29+
.idea/
30+
*.swp
31+
*.swo
32+
*~
33+
34+
# OS files
35+
.DS_Store
36+
Thumbs.db
37+
38+
# Config directories
39+
.config/
40+
41+
# Temporary files
42+
tmp/
43+
temp/
44+
.tmp/
45+
.temp/
46+
47+
# Test artifacts
48+
test-results/
49+
playwright-report/
50+
test-report/
51+
52+
# Cache directories
53+
.cache/
54+
.parcel-cache/
55+
.turbo/
56+
57+
# TypeScript cache
58+
*.tsbuildinfo
59+
60+
# Optional npm cache directory
61+
.npm/
62+
63+
# Optional eslint cache
64+
.eslintcache
65+
66+
# Optional REPL history
67+
.node_repl_history
68+
69+
# Output of 'npm pack'
70+
*.tgz
71+
72+
# Yarn files
73+
.yarn-integrity
74+
.yarn/
75+
76+
# pnpm
77+
.pnpm-store/
78+
79+
# Local testing files
80+
test-*.js
81+
test-*.ts
82+
!test/**/*.ts
83+
test-repo/
84+
test-repos/
85+
test-gitm-*/
86+
**/test-output/

.prettierrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"singleQuote": true,
3+
"trailingComma": "es5",
4+
"tabWidth": 2,
5+
"semi": true,
6+
"printWidth": 100,
7+
"arrowParens": "avoid",
8+
"endOfLine": "auto"
9+
}

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.0.0] - 2024-12-30
9+
10+
### Added
11+
- Initial release of gitm
12+
- Multi-account management for GitHub, GitLab, and Bitbucket
13+
- Automatic SSH key generation and management
14+
- Smart account detection based on repository URL
15+
- Commands: add, list, use, init, clone, remove, status, auth, verify
16+
- TypeScript implementation with full type safety
17+
- Security-focused design with command injection protection
18+
- Interactive authentication setup with persistent state
19+
- Support for both HTTPS and SSH workflows
20+
- Comprehensive documentation and examples

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 loopgrid
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)