oauth-init 0.8.0 → 0.11.0

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.
@@ -0,0 +1,35 @@
1
+ # Using References
2
+
3
+ Templates are your primary tool for writing READMEs. References provide depth - use them to refine your understanding or handle edge cases.
4
+
5
+ **Tip:** Don't load all references at once. Pick the one most relevant to your situation.
6
+
7
+ ---
8
+
9
+ ### art-of-readme.md
10
+ `references/art-of-readme.md`
11
+
12
+ **Why:** The philosophy behind great READMEs - understanding how readers actually scan and evaluate projects
13
+ **What:** Cognitive funneling (broad → specific), brevity as a feature, README as the "one-stop shop" that keeps users out of source code
14
+
15
+ ---
16
+
17
+ ### make-a-readme.md
18
+ `references/make-a-readme.md`
19
+
20
+ **Why:** Practical, section-by-section guidance for what to include
21
+ **What:** Walks through each common section (Name, Description, Installation, Usage, etc.) with concrete suggestions. Good reminder: "too long is better than too short"
22
+
23
+ ---
24
+
25
+ ### standard-readme-spec.md
26
+ `references/standard-readme-spec.md`
27
+
28
+ **Why:** Formal specification when consistency or compliance matters
29
+ **What:** Required vs optional sections, exact ordering, formatting rules. Useful for OSS projects wanting a standardized format.
30
+
31
+ Examples:
32
+ - `references/standard-readme-example-minimal.md` - Bare minimum compliant README
33
+ - `references/standard-readme-example-maximal.md` - Full-featured with badges, ToC, all optional sections
34
+
35
+
package/README.md CHANGED
@@ -1,15 +1,69 @@
1
- # oauth-init
1
+ <img width="474" height="110" alt="image" src="https://github.com/user-attachments/assets/57dc1bf8-19b5-45ba-b7fd-d4fb6dd111d3" />
2
2
 
3
- To install dependencies:
3
+ ## What This Does
4
+
5
+ Setting up OAuth involves navigating multiple console pages, copying IDs, and managing credentials. This CLI walks you through the entire process interactively - fetching your Google Cloud projects, opening the right console pages, validating your inputs, and saving credentials wherever you need them.
6
+
7
+ ## Features
8
+
9
+ - **Google OAuth** - Fetches your GCP projects, opens consent screen and credentials pages, captures client ID/secret
10
+ - **GitHub OAuth Apps** - One-click GitHub App manifest or manual OAuth App setup
11
+ - **Smart defaults** - Remembers your current gcloud project, suggests callback URLs
12
+ - **Flexible output** - Save to `.env`, `.env.local`, `.json`, or just print to console
13
+ - **Non-interactive mode** - `--no-open` flag for CI/automated environments
14
+
15
+ ## Installation
4
16
 
5
17
  ```bash
6
- bun install
18
+ # Using bun (recommended)
19
+ bun install -g oauth-init
20
+
21
+ # Using npm
22
+ npm install -g oauth-init
7
23
  ```
8
24
 
9
- To run:
25
+ ## Usage
10
26
 
11
27
  ```bash
12
- bun run src/cli.ts
28
+ # Run interactive setup
29
+ oauth-init
30
+
31
+ # Run without opening browser pages
32
+ oauth-init --no-open
33
+
34
+ # Minimal output
35
+ oauth-init --quiet
13
36
  ```
14
37
 
15
- This project was created using `bun init` in bun v1.3.9. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
38
+ The CLI will:
39
+ 1. Ask for your project name
40
+ 2. Select which OAuth providers to configure
41
+ 3. Guide you through each provider's setup flow
42
+ 4. Save credentials to your chosen location
43
+
44
+ ## Supported Providers
45
+
46
+ | Provider | Setup Type |
47
+ |----------|------------|
48
+ | Google | OAuth 2.0 (External) |
49
+ | GitHub | OAuth App, GitHub App |
50
+
51
+ ## Tech Stack
52
+
53
+ - **Runtime**: Bun
54
+ - **CLI UI**: @clack/prompts
55
+ - **Shell**: execa
56
+ - **Browser**: open
57
+
58
+ ## How It Works
59
+
60
+ The CLI orchestrates the OAuth setup by:
61
+
62
+ 1. **Discovery** - Uses `gcloud` CLI to fetch your Google Cloud projects
63
+ 2. **Navigation** - Opens the correct Google Cloud Console and GitHub pages
64
+ 3. **Capture** - Prompts for client ID and secret with validation
65
+ 4. **Output** - Writes credentials to the chosen format
66
+
67
+ ## License
68
+
69
+ MIT