v0.2.0
linkedin moves onto the any-cli/kit framework: a new readable list view, the standard -o/--output flag, and the shared exit-code taxonomy.
This release rebuilds the command layer on the shared any-cli/kit framework, the same one the other tamnd site CLIs use. The data and parsing are unchanged; what changes is the command surface and the output, which now match the family conventions. cobra and fang are gone from the direct dependencies; kit wraps them internally.
What is new
- A readable list view by default. On a terminal, records now print as a
short per-record section (a heading from the first column, then a
- **key**: valuelist) instead of a bordered grid. Piping still gives you JSONL. The bordered table is one flag away with-o table, and-o markdownprints a paste-ready GitHub table. - The standard output flag. Choose a format with
-o/--output(auto|table|markdown|list|json|jsonl|csv|tsv|url|raw).--fields,--no-header, and--templatework the same as before. - The shared exit-code taxonomy. Scripts can branch on a stable set of codes
that mean the same thing across every tool:
0ok,1error,2usage,3no results,4auth required (the page is behind the sign-in wall),5rate limited,6not found.
What changed for you
-f/--formatis now-o/--output. The-jshorthand is gone; use-o jsonl.--delayis now--rate(same meaning, same 2s default).- A walled page now exits
4(was5); a sustained HTTP 429 exits5; a 404 or unknown id exits6. - A multi-argument run that partly fails now prints the records that parsed and
exits
0, logging each failure on stderr. It only takes a failure's exit code when every input failed. (The old "partial" code4is gone.) --storeand--workerswere removed. The store lives at a fixed<data-dir>/linkedin.db; point--data-dirat a per-project directory to keep separate corpora.
What stayed the same
Every command keeps its name, arguments, and flags: profile, company, job,
jobs, post, id, url, db, cache, info, and version, along with
--save, --posts, --articles, --locations, --affiliated, --hydrate,
--cookies, --cache-ttl, --refresh, and the job-search filters. The parsing,
the no-referer unblock, and the polite client are untouched.