autogit-tool 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +343 -24
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,42 +1,361 @@
|
|
|
1
|
-
#
|
|
2
|
-
Automate project documentation, GitHub publishing, and social media content generation
|
|
1
|
+
# AutoGit
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/autogit-tool)
|
|
4
|
+
[](https://www.npmjs.com/package/autogit-tool)
|
|
5
|
+
[](https://github.com/membranegaming/autogit-cli/blob/main/LICENSE)
|
|
6
|
+
[](https://www.npmjs.com/package/autogit-tool)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
- TypeScript
|
|
9
|
-
- Package Manager: npm
|
|
10
|
-
- Build System: npm scripts
|
|
8
|
+
> Run `autogit` in any project folder. It reads your code, writes your docs, commits, pushes to GitHub, updates your resume, and generates your LinkedIn post — in one command.
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g autogit-tool
|
|
12
|
+
autogit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What it does
|
|
18
|
+
|
|
19
|
+
When you run `autogit` inside a project directory it:
|
|
20
|
+
|
|
21
|
+
1. Scans the codebase and detects languages, frameworks, databases, CI/CD, deployment config
|
|
22
|
+
2. Generates or improves your README
|
|
23
|
+
3. Creates `PROJECT_SUMMARY.md`, `ARCHITECTURE.md`, and `CONTRIBUTING.md` if missing
|
|
24
|
+
4. Generates a commit message using AI (Conventional Commits format)
|
|
25
|
+
5. Stages, commits, and pushes to GitHub — creating the repository if it doesn't exist
|
|
26
|
+
6. Updates your LaTeX resume with an AI-written project entry
|
|
27
|
+
7. Generates a LinkedIn post, X (Twitter) post, DEV.to draft, and resume bullet
|
|
28
|
+
|
|
29
|
+
Everything is previewed and requires confirmation before writing. Pass `--yes` to skip all prompts.
|
|
30
|
+
|
|
31
|
+
---
|
|
16
32
|
|
|
17
33
|
## Installation
|
|
18
|
-
|
|
19
|
-
1. **Clone the repository**:
|
|
34
|
+
|
|
20
35
|
```bash
|
|
21
|
-
|
|
36
|
+
npm install -g autogit-tool
|
|
22
37
|
```
|
|
23
|
-
|
|
38
|
+
|
|
39
|
+
**npm page:** https://www.npmjs.com/package/autogit-tool
|
|
40
|
+
|
|
41
|
+
**Requirements:** Node.js 18+, Git
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
24
47
|
```bash
|
|
25
|
-
|
|
48
|
+
# 1. Go to any project folder
|
|
49
|
+
cd my-project
|
|
50
|
+
|
|
51
|
+
# 2. Set up your GitHub token (first time only)
|
|
52
|
+
autogit login
|
|
53
|
+
|
|
54
|
+
# 3. Set up your AI provider (first time only)
|
|
55
|
+
autogit config
|
|
56
|
+
|
|
57
|
+
# 4. Run
|
|
58
|
+
autogit
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## AI Providers
|
|
64
|
+
|
|
65
|
+
AutoGit supports 13 AI providers. Configure via `autogit config` or environment variables.
|
|
66
|
+
|
|
67
|
+
| Provider | Env Variable | Default Model | Free Tier |
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
| **Groq** | `GROQ_API_KEY` | `llama-3.3-70b-versatile` | ✔ Yes |
|
|
70
|
+
| **OpenAI** | `OPENAI_API_KEY` | `gpt-4o-mini` | ✘ No |
|
|
71
|
+
| **Anthropic** | `ANTHROPIC_API_KEY` | `claude-sonnet-4-20250514` | ✘ No |
|
|
72
|
+
| **Google Gemini** | `GEMINI_API_KEY` | `gemini-1.5-flash` | ✔ Yes |
|
|
73
|
+
| **Mistral** | `MISTRAL_API_KEY` | `mistral-large-latest` | ✔ Limited |
|
|
74
|
+
| **DeepSeek** | `DEEPSEEK_API_KEY` | `deepseek-chat` | ✔ Limited |
|
|
75
|
+
| **Perplexity** | `PERPLEXITY_API_KEY` | `llama-3.1-sonar-large-128k-online` | ✘ No |
|
|
76
|
+
| **Together AI** | `TOGETHER_API_KEY` | `meta-llama/Llama-3.3-70B-Instruct-Turbo` | ✔ Limited |
|
|
77
|
+
| **Cohere** | `COHERE_API_KEY` | `command-r-plus-08-2024` | ✔ Limited |
|
|
78
|
+
| **xAI (Grok)** | `XAI_API_KEY` | `grok-3-fast-beta` | ✘ No |
|
|
79
|
+
| **OpenRouter** | `OPENROUTER_API_KEY` | `anthropic/claude-sonnet-4-20250514` | ✔ Free models |
|
|
80
|
+
| **Ollama** | `OLLAMA_ENDPOINT` | `llama3.1` | ✔ Local |
|
|
81
|
+
| **Azure OpenAI** | `AZURE_OPENAI_KEY` | your deployment | — |
|
|
82
|
+
|
|
83
|
+
**Recommended for free usage:** [Groq](https://console.groq.com) — fastest free API, no credit card required.
|
|
84
|
+
|
|
85
|
+
### Configure interactively
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
autogit config
|
|
89
|
+
# → AI Provider & Keys → select provider → paste key
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Configure via environment variable
|
|
93
|
+
|
|
94
|
+
```powershell
|
|
95
|
+
# PowerShell
|
|
96
|
+
$env:AUTOGIT_AI_PROVIDER = "groq"
|
|
97
|
+
$env:GROQ_API_KEY = "gsk_your_key_here"
|
|
26
98
|
```
|
|
27
|
-
|
|
99
|
+
|
|
28
100
|
```bash
|
|
29
|
-
|
|
101
|
+
# Bash / Zsh
|
|
102
|
+
export AUTOGIT_AI_PROVIDER=groq
|
|
103
|
+
export GROQ_API_KEY=gsk_your_key_here
|
|
30
104
|
```
|
|
31
105
|
|
|
106
|
+
```cmd
|
|
107
|
+
# Windows CMD
|
|
108
|
+
set AUTOGIT_AI_PROVIDER=groq
|
|
109
|
+
set GROQ_API_KEY=gsk_your_key_here
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Verify your key
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
autogit config --test
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## GitHub Authentication
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
autogit login
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The login wizard will:
|
|
127
|
+
- Auto-import your token if the [GitHub CLI](https://cli.github.com) is installed and authenticated
|
|
128
|
+
- Otherwise prompt you to paste a Personal Access Token
|
|
129
|
+
|
|
130
|
+
**Create a token:** https://github.com/settings/tokens/new
|
|
131
|
+
Required scopes: `repo`, `read:user`
|
|
132
|
+
|
|
133
|
+
You can also set it via environment variable:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
export GITHUB_TOKEN=github_pat_your_token_here
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Troubleshooting bad credentials:**
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
autogit login --check # shows which token source is active and verifies it
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
If `GITHUB_TOKEN` is set in your environment and invalid, clear it:
|
|
146
|
+
|
|
147
|
+
```powershell
|
|
148
|
+
# PowerShell — current session only
|
|
149
|
+
Remove-Item Env:GITHUB_TOKEN
|
|
150
|
+
|
|
151
|
+
# PowerShell — permanent (removes from Windows user environment)
|
|
152
|
+
[System.Environment]::SetEnvironmentVariable("GITHUB_TOKEN", $null, "User")
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Resume Auto-Update
|
|
158
|
+
|
|
159
|
+
AutoGit can automatically add a project entry to your LaTeX resume every time you run `autogit`.
|
|
160
|
+
|
|
161
|
+
### Setup (one time)
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
autogit resume --setup
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Point it at your `.tex` resume file. AutoGit will:
|
|
168
|
+
- Detect your `\section{Projects}` block
|
|
169
|
+
- Insert an AI-generated `\resumeProjectHeading` entry at the top
|
|
170
|
+
- Create a timestamped `.backup-<timestamp>.tex` before writing
|
|
171
|
+
- Offer to copy the updated file to `~/Documents/resume/`
|
|
172
|
+
|
|
173
|
+
### Usage
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
autogit resume # update resume for current project
|
|
177
|
+
autogit resume --no-ai # use template bullets instead of AI
|
|
178
|
+
autogit resume --show # check configured path
|
|
179
|
+
autogit resume --setup # reconfigure
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
The resume step runs automatically in the main pipeline. Skip it with:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
autogit --skip-resume
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## All Commands
|
|
191
|
+
|
|
192
|
+
| Command | Description |
|
|
193
|
+
|---|---|
|
|
194
|
+
| `autogit` | Full pipeline: scan → docs → resume → commit → push → social |
|
|
195
|
+
| `autogit init` | Initialize Git and generate `.gitignore` |
|
|
196
|
+
| `autogit docs` | Generate `PROJECT_SUMMARY.md`, `ARCHITECTURE.md`, `CONTRIBUTING.md` |
|
|
197
|
+
| `autogit readme` | Generate or update README only |
|
|
198
|
+
| `autogit publish` | Commit and push to GitHub |
|
|
199
|
+
| `autogit github` | Create GitHub repository |
|
|
200
|
+
| `autogit linkedin` | Generate all social content (short/medium/long LinkedIn, Twitter, DEV.to, resume bullet) |
|
|
201
|
+
| `autogit release` | Create a GitHub release with tag and notes |
|
|
202
|
+
| `autogit resume` | Update LaTeX resume with current project |
|
|
203
|
+
| `autogit analyze` | Project score card: documentation, code quality, maintainability |
|
|
204
|
+
| `autogit doctor` | Check that Git, Node.js, GitHub token, and AI keys are all working |
|
|
205
|
+
| `autogit config` | Interactive configuration wizard |
|
|
206
|
+
| `autogit login` | Authenticate with GitHub |
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## All Flags
|
|
211
|
+
|
|
212
|
+
| Flag | Description |
|
|
213
|
+
|---|---|
|
|
214
|
+
| `--yes` | Skip all confirmation prompts |
|
|
215
|
+
| `--dry-run` | Preview all changes without writing anything |
|
|
216
|
+
| `--verbose` | Show detailed output |
|
|
217
|
+
| `--quiet` | Suppress non-essential output |
|
|
218
|
+
| `--private` | Create private GitHub repository |
|
|
219
|
+
| `--public` | Create public GitHub repository |
|
|
220
|
+
| `--skip-readme` | Skip README generation |
|
|
221
|
+
| `--skip-github` | Skip GitHub operations |
|
|
222
|
+
| `--skip-linkedin` | Skip social content generation |
|
|
223
|
+
| `--skip-resume` | Skip resume auto-update |
|
|
224
|
+
| `--no-ai` | Use templates instead of AI for all generation |
|
|
225
|
+
| `--regenerate` | Force-regenerate existing documentation files |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
32
229
|
## Configuration
|
|
33
|
-
No environment variables are required for this project.
|
|
34
230
|
|
|
35
|
-
|
|
36
|
-
|
|
231
|
+
Settings are stored in `~/.autogit/config.json`.
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
autogit config # interactive wizard
|
|
235
|
+
autogit config --list # view current config (secrets masked)
|
|
236
|
+
autogit config --debug # show which env vars and config keys are active
|
|
237
|
+
autogit config --test # verify active AI provider key with a live call
|
|
238
|
+
autogit config --set ai.provider=groq # set a single value
|
|
239
|
+
autogit config --get ai.provider # read a single value
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Full config structure
|
|
243
|
+
|
|
244
|
+
```json
|
|
245
|
+
{
|
|
246
|
+
"github": {
|
|
247
|
+
"token": "github_pat_..."
|
|
248
|
+
},
|
|
249
|
+
"ai": {
|
|
250
|
+
"provider": "groq",
|
|
251
|
+
"model": "",
|
|
252
|
+
"groqKey": "gsk_..."
|
|
253
|
+
},
|
|
254
|
+
"defaults": {
|
|
255
|
+
"visibility": "public",
|
|
256
|
+
"branch": "main",
|
|
257
|
+
"license": "MIT",
|
|
258
|
+
"commitStyle": "conventional",
|
|
259
|
+
"autoConfirm": false,
|
|
260
|
+
"linkedinStyle": "professional"
|
|
261
|
+
},
|
|
262
|
+
"resume": {
|
|
263
|
+
"path": "/Users/you/Documents/resume/resume.tex",
|
|
264
|
+
"ownerName": "Your Name",
|
|
265
|
+
"ownerEmail": "you@email.com",
|
|
266
|
+
"enabled": true
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Project Detection
|
|
274
|
+
|
|
275
|
+
AutoGit auto-detects the following without any configuration:
|
|
276
|
+
|
|
277
|
+
**Languages:** TypeScript, JavaScript, Python, Rust, Go, Java, Kotlin, C#, PHP, Ruby, Swift, C/C++, Dart, Elixir, Scala
|
|
278
|
+
|
|
279
|
+
**Frameworks:** React, Next.js, Vue, Nuxt, Angular, Svelte, Express, Fastify, NestJS, Django, Flask, FastAPI, Spring Boot, Actix, Axum, Gin, Echo and more
|
|
280
|
+
|
|
281
|
+
**Databases:** PostgreSQL, MySQL, MongoDB, Redis, SQLite, DynamoDB, Supabase, Firebase
|
|
282
|
+
|
|
283
|
+
**Deployment:** Docker, Vercel, Netlify, Fly.io, Render, Heroku, AWS SAM, Terraform, Serverless Framework
|
|
284
|
+
|
|
285
|
+
**CI/CD:** GitHub Actions, GitLab CI, CircleCI, Jenkins, Travis CI, Azure Pipelines
|
|
286
|
+
|
|
287
|
+
Ignored directories: `node_modules`, `.git`, `dist`, `build`, `coverage`, `.next`, `vendor`, `target`, `__pycache__` and more
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Dry Run
|
|
292
|
+
|
|
293
|
+
Preview everything before it runs:
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
autogit --dry-run
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Shows what would be changed without touching any file, making any commit, or calling GitHub.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Use Without AI
|
|
304
|
+
|
|
305
|
+
Every feature has a template fallback. Run with `--no-ai` to skip all API calls:
|
|
306
|
+
|
|
37
307
|
```bash
|
|
38
|
-
|
|
308
|
+
autogit --no-ai
|
|
39
309
|
```
|
|
40
310
|
|
|
311
|
+
README, docs, commit messages, resume entries, and social posts are all generated from templates based on the project analysis. Quality is lower but it works offline with no API keys.
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
41
315
|
## Contributing
|
|
42
|
-
|
|
316
|
+
|
|
317
|
+
Pull requests are welcome.
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
git clone https://github.com/membranegaming/autogit-cli.git
|
|
321
|
+
cd autogit-cli
|
|
322
|
+
npm install
|
|
323
|
+
npm run build # compile TypeScript → dist/
|
|
324
|
+
npm link # install autogit globally from this local folder
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Development scripts:**
|
|
328
|
+
|
|
329
|
+
| Script | What it does |
|
|
330
|
+
|---|---|
|
|
331
|
+
| `npm run build` | Compile TypeScript to `dist/` (required before running) |
|
|
332
|
+
| `npm run dev` | Watch mode — recompiles automatically on every file save |
|
|
333
|
+
| `npm start` | Run the CLI directly via `node dist/cli.js` |
|
|
334
|
+
| `npm run lint` | Run ESLint across `src/` |
|
|
335
|
+
| `npm link` | Register `autogit` as a global command pointing at this local build |
|
|
336
|
+
| `npm publish --access public` | Publish a new version to npm |
|
|
337
|
+
|
|
338
|
+
**Project structure:**
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
src/
|
|
342
|
+
├── cli.ts # Entry point — all commands registered here
|
|
343
|
+
├── commands/ # One file per subcommand
|
|
344
|
+
├── config/manager.ts # Config file + env var resolution
|
|
345
|
+
├── scanner/ # File scanner + project analyzer
|
|
346
|
+
├── ai/ # Provider abstraction + prompts
|
|
347
|
+
├── services/ # readme, docs, git, github, resume, social, insights
|
|
348
|
+
├── pipeline/main-pipeline.ts # Orchestrates the full autogit flow
|
|
349
|
+
└── utils/ # Logger, platform helpers
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
## License
|
|
355
|
+
|
|
356
|
+
MIT © [Vardh Chhajer](https://github.com/membranegaming)
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
**npm:** https://www.npmjs.com/package/autogit-tool
|
|
361
|
+
**GitHub:** https://github.com/membranegaming/autogit-cli
|
package/package.json
CHANGED