linkedin-apply-assistant 0.1.1 → 0.1.3

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/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ This file follows the spirit of Keep a Changelog and uses semantic version label
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.3] - 2026-06-13
10
+
11
+ ### Changed
12
+
13
+ - Replaced the README and npm package-page PowerShell installer command with
14
+ the shorter `irm ... | iex` form.
15
+ - Kept the inspectable temp-file PowerShell installer form in the detailed
16
+ install guide for optional installer arguments.
17
+
18
+ ## [0.1.2] - 2026-06-13
19
+
20
+ ### Changed
21
+
22
+ - Simplified README and npm package-page install instructions to one npm
23
+ command plus one direct PowerShell installer command.
24
+ - Kept extended Python, Playwright, source checkout, and troubleshooting details
25
+ in the canonical install guide instead of duplicating them in the README.
26
+
9
27
  ## [0.1.1] - 2026-06-13
10
28
 
11
29
  ### Added
package/README.md CHANGED
@@ -7,7 +7,7 @@ LinkedIn-apply-assistant is an experimental local browser automation assistant f
7
7
 
8
8
  The package is local-first. It does not require credentials in config, copied browser profiles, private documents, or generated reports to import, inspect, or run its deterministic tests.
9
9
 
10
- Current package metadata version: `0.1.1`.
10
+ Current package metadata version: `0.1.3`.
11
11
 
12
12
  ## Safety Boundary
13
13
 
@@ -28,56 +28,30 @@ Read [SAFETY.md](SAFETY.md) before using visible-browser workflows. Read [LEGAL.
28
28
 
29
29
  ## Install
30
30
 
31
- NPM global launcher:
31
+ NPM:
32
32
 
33
- ```powershell
33
+ ```bash
34
34
  npm install -g linkedin-apply-assistant
35
- linkedin-apply-assistant --help
36
35
  ```
37
36
 
38
- The npm package is a Node launcher plus bundled Python source. If the launcher
39
- reports missing Python imports, install the bundled Python package from the
40
- global npm package directory:
37
+ Windows PowerShell:
41
38
 
42
39
  ```powershell
43
- $pkg = Join-Path (npm root -g) 'linkedin-apply-assistant'
44
- py -3 -m pip install $pkg
40
+ irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
45
41
  ```
46
42
 
47
- PowerShell no-admin installer:
43
+ Verify:
48
44
 
49
45
  ```powershell
50
- $script = Join-Path $env:TEMP 'install-linkedin-apply-assistant.ps1'
51
- Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
52
- powershell -ExecutionPolicy Bypass -File $script
53
- ```
54
-
55
- From the package directory:
56
-
57
- ```powershell
58
- python -m pip install -e ".[dev]"
59
- linkedin-apply-assistant --help
60
- ```
61
-
62
- For Bash/macOS/Linux:
63
-
64
- ```bash
65
- python -m pip install -e ".[dev]"
66
46
  linkedin-apply-assistant --help
67
47
  ```
68
48
 
69
- For editable local development, this module fallback is available from the package root:
70
-
71
- ```powershell
72
- $env:PYTHONPATH=(Resolve-Path 'src').Path
73
- python -m linkedin_apply_assistant.cli --help
74
- ```
75
-
76
- Use Python 3.11 or newer. Install Playwright Chromium before visible-browser workflows such as `search`, `assist`, or browser-dependent `apply` preparation. Browser-free `dry-run` and `report` do not require Chromium.
77
-
78
- The package also includes a local npm launcher shape for package dry-run validation. It delegates to the Python CLI and still requires Python 3.11+ and the package dependencies to be installed or importable.
79
-
80
- Source checkout is available at <https://github.com/MohammedGhazal09/linkedin-apply-assistant>. See [docs/install-and-configuration.md](docs/install-and-configuration.md) for the full npm, PowerShell, source, Python, and Playwright install matrix. PyPI remains a future package channel; the package-channel decision is documented in the [registry publication strategy](docs/registry-publication-strategy.md).
49
+ Use Python 3.11 or newer. The npm package is the current public registry path;
50
+ the PowerShell command downloads and runs the installer from GitHub.
51
+ See [docs/install-and-configuration.md](docs/install-and-configuration.md) for
52
+ source, Python, Playwright, and troubleshooting details. PyPI remains a future
53
+ package channel; the package-channel decision is documented in the
54
+ [registry publication strategy](docs/registry-publication-strategy.md).
81
55
 
82
56
  ## Quick Start
83
57
 
@@ -354,6 +354,95 @@ Distribution safety boundary:
354
354
  - PyPI and TestPyPI uploads stay out of this release.
355
355
  - `v0.1.0` remains source-only and is not backfilled to any registry.
356
356
 
357
+ ## v0.1.2 Install Documentation Simplification Release
358
+
359
+ This patch refreshes the npm package page, README, and GitHub Release wording so
360
+ the default install path matches common open-source README conventions: one npm command, one direct PowerShell installer command, and a link to detailed setup docs.
361
+
362
+ Scope:
363
+
364
+ - Package version: `0.1.2`
365
+ - npm package: `linkedin-apply-assistant`
366
+ - npm dist-tag: `latest`
367
+ - GitHub Release: `v0.1.2`
368
+ - Repository: `MohammedGhazal09/linkedin-apply-assistant`
369
+ - Runtime behavior, browser safety posture, and public CLI contract are unchanged.
370
+ - PyPI and TestPyPI remain future channels.
371
+
372
+ Required local evidence before public sync:
373
+
374
+ ```powershell
375
+ python -m pytest tests\test_distribution_metadata.py tests\test_docs_smoke.py tests\test_registry_publication_strategy.py tests\test_release_readiness.py tests\test_npm_launcher.py tests\test_distribution_smoke.py tests\test_release_manifest.py -q
376
+ python scripts\release.py clean
377
+ python scripts\release.py manifest --check
378
+ python scripts\release.py verify
379
+ npm pack --dry-run --json
380
+ ```
381
+
382
+ Post-publish verification:
383
+
384
+ ```powershell
385
+ npm view linkedin-apply-assistant version --json
386
+ npm view linkedin-apply-assistant dist-tags --json
387
+ gh release view v0.1.2 --repo MohammedGhazal09/linkedin-apply-assistant --json tagName,name,url,isDraft,isPrerelease,targetCommitish
388
+ ```
389
+
390
+ Distribution safety boundary:
391
+
392
+ - this is a docs-only package refresh to update the immutable npm README for the
393
+ latest package version
394
+ - no lifecycle install, publish, or token scripts are added to `package.json`
395
+ - `install.ps1` continues to avoid `Invoke-Expression` pipe-install behavior
396
+ - PyPI and TestPyPI uploads stay out of this release
397
+
398
+ ## v0.1.3 PowerShell Short Installer Command Release
399
+
400
+ This patch refreshes the README, npm package page, and GitHub Release wording to
401
+ use the shorter PowerShell installer command:
402
+
403
+ ```powershell
404
+ irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
405
+ ```
406
+
407
+ Scope:
408
+
409
+ - Package version: `0.1.3`
410
+ - npm package: `linkedin-apply-assistant`
411
+ - npm dist-tag: `latest`
412
+ - GitHub Release: `v0.1.3`
413
+ - Repository: `MohammedGhazal09/linkedin-apply-assistant`
414
+ - Runtime behavior, browser safety posture, and public CLI contract are unchanged.
415
+ - The longer temp-file PowerShell installer form remains documented for optional
416
+ arguments such as `-InstallBrowser`.
417
+ - PyPI and TestPyPI remain future channels.
418
+
419
+ Required local evidence before public sync:
420
+
421
+ ```powershell
422
+ python -m pytest tests\test_distribution_metadata.py tests\test_docs_smoke.py tests\test_registry_publication_strategy.py tests\test_release_readiness.py tests\test_npm_launcher.py tests\test_distribution_smoke.py tests\test_release_manifest.py -q
423
+ python scripts\release.py clean
424
+ python scripts\release.py manifest --check
425
+ python scripts\release.py verify
426
+ npm pack --dry-run --json
427
+ ```
428
+
429
+ Post-publish verification:
430
+
431
+ ```powershell
432
+ npm view linkedin-apply-assistant version --json
433
+ npm view linkedin-apply-assistant dist-tags --json
434
+ gh release view v0.1.3 --repo MohammedGhazal09/linkedin-apply-assistant --json tagName,name,url,isDraft,isPrerelease,targetCommitish
435
+ ```
436
+
437
+ Distribution safety boundary:
438
+
439
+ - this is a docs-only package refresh to update the immutable npm README for the
440
+ latest package version
441
+ - no lifecycle install, publish, or token scripts are added to `package.json`
442
+ - `install.ps1` itself is unchanged; the shorter command only changes how users
443
+ download and run that public script
444
+ - PyPI and TestPyPI uploads stay out of this release
445
+
357
446
  ## Required Public Metadata
358
447
 
359
448
  `package.json` must include exactly these public project fields:
@@ -407,7 +496,7 @@ Do not publish while any hard blocker remains unresolved.
407
496
  - `LEGAL.md` and `SAFETY.md` remain linked from README.
408
497
  - `MIGRATION.md` explains extraction scope and excluded root surfaces.
409
498
  - `CONTRIBUTING.md` and `SECURITY.md` are standalone-scoped.
410
- - Changelog has `Unreleased`, `0.1.1`, and `0.1.0`.
499
+ - Changelog has `Unreleased`, `0.1.3`, `0.1.2`, `0.1.1`, and `0.1.0`.
411
500
  - Source, Python, npm launcher, and PowerShell installer docs are current and tested.
412
501
  - Phase 21 terminal UX docs and help stay current: `docs\commands.md`, `tests\test_cli_help.py`, and `tests\test_config_diagnostics.py`.
413
502
  - Public package metadata points to the canonical GitHub repository and issue tracker.
package/SECURITY.md CHANGED
@@ -34,4 +34,4 @@ Never attach browser profiles, cookies, credentials, screenshots, private docume
34
34
 
35
35
  ## Supported Versions
36
36
 
37
- The initial standalone GitHub source release is `0.1.0`. Current package metadata is `0.1.1`. Security guidance applies to the current unreleased, `0.1.1`, and `0.1.0` package-local surfaces.
37
+ The initial standalone GitHub source release is `0.1.0`. Current package metadata is `0.1.3`. Security guidance applies to the current unreleased, `0.1.3`, `0.1.2`, `0.1.1`, and `0.1.0` package-local surfaces.
@@ -4,13 +4,32 @@ This package runs locally. You install the Python package, choose a local worksp
4
4
 
5
5
  This file is the canonical install matrix. The README keeps only a short quick start.
6
6
 
7
- Current package metadata version: `0.1.1`.
7
+ Current package metadata version: `0.1.3`.
8
8
 
9
- The npm launcher and PowerShell installer are the current quick-install paths.
9
+ The npm launcher and PowerShell no-admin installer are the current quick-install paths.
10
10
  PyPI remains a future package channel. The package-channel decision, approval
11
11
  gates, and `v0.1.0` no-backfill policy are documented in the
12
12
  [registry publication strategy](registry-publication-strategy.md).
13
13
 
14
+ ## Fast Install
15
+
16
+ NPM:
17
+
18
+ ```bash
19
+ npm install -g linkedin-apply-assistant
20
+ linkedin-apply-assistant --help
21
+ ```
22
+
23
+ Windows PowerShell without npm:
24
+
25
+ ```powershell
26
+ irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
27
+ ```
28
+
29
+ The PowerShell command is the short `Invoke-RestMethod` pipe-to-`Invoke-Expression`
30
+ form. It downloads [install.ps1](../install.ps1) from GitHub raw content and
31
+ runs it in the current PowerShell session.
32
+
14
33
  ## Prerequisites
15
34
 
16
35
  - Python 3.11 or newer.
@@ -53,15 +72,23 @@ local virtual environment, installs the Python package, and writes
53
72
  does not require admin rights.
54
73
 
55
74
  ```powershell
56
- $script = Join-Path $env:TEMP 'install-linkedin-apply-assistant.ps1'
57
- Invoke-WebRequest -UseBasicParsing https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
58
- powershell -ExecutionPolicy Bypass -File $script
75
+ irm https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 | iex
76
+ ```
77
+
78
+ Inspectable temp-file equivalent:
79
+
80
+ ```powershell
81
+ $script = Join-Path $env:TEMP 'linkedin-apply-assistant-install.ps1'
82
+ iwr https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
83
+ & $script
59
84
  ```
60
85
 
61
86
  Optional visible-browser setup during install:
62
87
 
63
88
  ```powershell
64
- powershell -ExecutionPolicy Bypass -File $script -InstallBrowser
89
+ $script = Join-Path $env:TEMP 'linkedin-apply-assistant-install.ps1'
90
+ iwr https://raw.githubusercontent.com/MohammedGhazal09/linkedin-apply-assistant/main/install.ps1 -OutFile $script
91
+ & $script -InstallBrowser
65
92
  ```
66
93
 
67
94
  ## Current Source Checkout
@@ -6,18 +6,19 @@ registry token, log in to a registry, create a tag, upload a GitHub Release
6
6
  asset, or grant publish-capable workflow permissions.
7
7
 
8
8
  The first GitHub source release, `v0.1.0`, remains source-only and is not a
9
- registry backfill candidate. The npm launcher release starts at `0.1.1`; PyPI
10
- and TestPyPI remain future channels.
9
+ registry backfill candidate. The npm launcher release starts at `0.1.1`; the
10
+ current PowerShell short-command npm package page refresh is `0.1.3`. PyPI and
11
+ TestPyPI remain future channels.
11
12
 
12
13
  ## Current Boundary
13
14
 
14
- - Current package metadata version: `0.1.1`.
15
+ - Current package metadata version: `0.1.3`.
15
16
  - Current install path: npm global launcher, PowerShell installer, source
16
17
  checkout, local Python install, local editable install, and local npm launcher
17
18
  dry-run validation.
18
19
  - Current public channel: GitHub repository source checkout and GitHub source
19
- release archives; npm launcher package for `0.1.1` after the approved npm
20
- publish step verifies successfully.
20
+ release archives; npm launcher package for `0.1.3` after the approved npm
21
+ patch publish step verifies successfully.
21
22
  - Not current: PyPI package, TestPyPI package, GitHub Packages package, PyPI
22
23
  trusted-publisher setup, npm trusted-publisher setup, registry automation,
23
24
  release asset uploads, artifact attestations, provenance, or signing.
@@ -33,14 +34,14 @@ action, and exact mutation.
33
34
  | GitHub Releases | Current source-only channel for `v0.1.0`. No wheel, sdist, npm tarball, or other release asset is attached. | Keep as the source-of-truth release record. Future assets require explicit approval. | Users can inspect and install from source without introducing registry auth or package-name ownership. | Clean local verification, changelog, release checklist, source manifest, approved tag or release mutation. | Explicit GitHub Release approval naming repo, tag, target commit, release state, and assets, if any. | `gh release view`, `gh release list`, source archive inspection, release manifest verification. | Remove mistaken assets from the release, correct the release notes, or delete a draft. Source tags need separate explicit remediation because asset removal does not undo a tag. |
34
35
  | PyPI | Not published and not reserved. | Primary future Python registry for direct package publication. | The project is a Python CLI with Playwright-driven browser automation, so PyPI is the natural long-term install path. | Maintainer or maintainer-controlled organization ownership, account 2FA where supported, PyPI Trusted Publishing with GitHub Actions OIDC, protected `pypi` environment, clean build and metadata gates. | Explicit PyPI approval naming repository, version, PyPI project, workflow or manual action, and exact upload mutation. | Read-only JSON API check, `python -m build`, `twine check dist/*`, local wheel install smoke, release scan, manifest verification. | Prefer yanking a broken release where appropriate. Deletion is disruptive and permanent; never rely on deleting and reusing the same version. |
35
36
  | TestPyPI | Not published and not reserved. | Required preflight for the first registry release and for publish-workflow changes. Routine patch preflights can become optional only after a proven release cycle. | It exercises package metadata, artifacts, and installer behavior before the real PyPI release. | Same artifact gates as PyPI, protected `testpypi` environment, explicit preflight approval, no production token. | Explicit TestPyPI approval naming repository, version, TestPyPI project, workflow or manual action, and exact upload mutation. | TestPyPI JSON API check, metadata validation, test-index install smoke, package contents review. | Clean up mistaken TestPyPI releases where possible and move forward with a new version if needed. Do not treat TestPyPI cleanup as production rollback proof. |
36
- | npm | Public thin-launcher channel for `0.1.1`. | Keep as the JavaScript ecosystem convenience launcher; use PyPI later for direct Python package installs. | npm provides a familiar global command on systems that already have Node.js, but the launcher delegates to the Python CLI and cannot install Python itself. | Maintainer or maintainer-controlled ownership, account 2FA where supported, first-publish token bootstrap if trusted publishing cannot create the package, exact package contents review. | Explicit npm approval naming repository, version, npm package, workflow or manual action, and exact registry mutation. | `npm pack --dry-run --json`, package contents inspection, no lifecycle install/publish scripts, npm read-only registry check after publication. | Prefer deprecation for bad packages when unpublish criteria are not met. A used npm `package@version` cannot be reused, even after unpublish. |
37
- | PowerShell installer | Current GitHub-hosted installer script at `install.ps1`. | Keep as the no-admin Windows convenience path for users who prefer a single script. | It can create a local virtual environment, install dependencies from the public source archive, create command shims, and optionally install Chromium. | Public GitHub source archive availability, Python 3.11+, script syntax validation, no `Invoke-Expression` pipe-install pattern, and local install smoke. | Push the verified installer to the public repository; no registry mutation is required. | PowerShell parser check, temp-directory install smoke, command shim help smoke, and docs link checks. | Fix forward in `main`; users can reinstall from the corrected script or pin `-Ref` to a known tag. |
37
+ | npm | Public thin-launcher channel for `0.1.3`; `0.1.1` was the first npm and PowerShell distribution release. | Keep as the JavaScript ecosystem convenience launcher; use PyPI later for direct Python package installs. | npm provides a familiar global command on systems that already have Node.js, but the launcher delegates to the Python CLI and cannot install Python itself. | Maintainer or maintainer-controlled ownership, account 2FA where supported, first-publish token bootstrap if trusted publishing cannot create the package, exact package contents review. | Explicit npm approval naming repository, version, npm package, workflow or manual action, and exact registry mutation. | `npm pack --dry-run --json`, package contents inspection, no lifecycle install/publish scripts, npm read-only registry check after publication. | Prefer deprecation for bad packages when unpublish criteria are not met. A used npm `package@version` cannot be reused, even after unpublish. |
38
+ | PowerShell installer | Current GitHub-hosted installer script at `install.ps1`; the README uses `irm ... \| iex` and the detailed install doc keeps a temp-file equivalent. | Keep as the no-admin Windows convenience path for users who prefer a single script. | It can create a local virtual environment, install dependencies from the public source archive, create command shims, and optionally install Chromium. | Public GitHub source archive availability, Python 3.11+, script syntax validation, and local install smoke. | Push the verified installer/docs to the public repository; no registry mutation is required for installer-only changes. | PowerShell parser check, temp-directory install smoke, command shim help smoke, and docs link checks. | Fix forward in `main`; users can reinstall from the corrected script or pin `-Ref` to a known tag. |
38
39
  | GitHub Packages | Not used. | Deferred. | It adds `packages: write` and authenticated consumption friction without improving the primary Python install path. | A future reason to publish a package to GitHub Packages, explicit package type, permission model, and install documentation. | Separate approval naming package type, repository, version, and exact mutation. | GitHub Packages read-only checks and package permission review. | Delete or deprecate only according to the package type's GitHub Packages support. This is not a substitute for PyPI/npm remediation. |
39
40
 
40
41
  ## Package Names
41
42
 
42
43
  The target package name for PyPI, TestPyPI, and npm publication is
43
- `linkedin-apply-assistant`. The current npm launcher version is `0.1.1`.
44
+ `linkedin-apply-assistant`. The current npm launcher version is `0.1.3`.
44
45
 
45
46
  If the unscoped npm name becomes unavailable or ownership changes later, the
46
47
  fallback is a future scoped npm package under a maintainer-controlled scope.
@@ -53,6 +54,10 @@ fallback is a future scoped npm package under a maintainer-controlled scope.
53
54
  - The npm launcher release uses `0.1.1` because it changes distribution
54
55
  metadata, includes the Python source in the npm tarball, and adds the
55
56
  PowerShell installer without changing the browser workflow contract.
57
+ - The docs-only npm package page refresh uses `0.1.2` because published npm
58
+ README content is immutable for an existing package version.
59
+ - The PowerShell short-command README refresh uses `0.1.3` because the npm
60
+ package page must be republished to replace the prior command.
56
61
  - If user-visible behavior changes before registry publication, the default
57
62
  future version example is `0.2.0`.
58
63
  - Future behavior changes remain SemVer decisions at the publish phase.
@@ -124,7 +129,7 @@ Use these templates verbatim before any future registry or release mutation.
124
129
  ### npm Launcher Release
125
130
 
126
131
  - Repository: `MohammedGhazal09/linkedin-apply-assistant`
127
- - Version: `0.1.1`
132
+ - Version: `<version>`
128
133
  - Channel: npm
129
134
  - Workflow or manual action: `<workflow filename or manual command owner>`
130
135
  - Exact mutation: publish the verified npm launcher package for `<version>` to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkedin-apply-assistant",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Thin npm launcher for the Python LinkedIn apply assistant package",
5
5
  "license": "MIT",
6
6
  "repository": {
package/pyproject.toml CHANGED
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "linkedin-apply-assistant"
7
- version = "0.1.1"
7
+ version = "0.1.3"
8
8
  description = "Local LinkedIn application assistant with user-visible browser workflows"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -1,6 +1,6 @@
1
1
  """Package identity for the standalone LinkedIn application assistant."""
2
2
 
3
- __version__ = "0.1.1"
3
+ __version__ = "0.1.3"
4
4
 
5
5
  APP_DISPLAY_NAME = "LinkedIn-apply-assistant"
6
6
  APP_PACKAGE_NAME = "linkedin-apply-assistant"