Skip to content

Repository files navigation

Career OS

An Agent-native, local-first, and embeddable career development operating system for Obsidian.

Career OS keeps career evidence, strategy, market sensing, opportunity decisions, capability readiness, and career communication in one locally owned system. Agents operate the workflows, Obsidian renders the knowledge, and a deterministic CLI validates and maintains the system.

Start here

  • Work with your career data: open the root Career Home in Obsidian, choose the language at the top, describe the outcome to an Agent, and use the five live Workbenches. The fixed career/README.md, dashboard, and all-records Base remain lightweight text and inventory fallbacks.
  • Install or maintain Career OS: start from the framework documentation map, then follow the installation or contributor guidance for the task at hand.

Design

  • Agent-native: describe the outcome; the Agent selects and composes Skills.
  • Local-first: canonical data is Markdown and open files under user-owned career/.
  • Embeddable: use Career OS as its own Vault or nest it inside an existing Vault.
  • System/data separation: versioned implementation lives in system/; user data has one fixed project-relative authority at career/.
  • Multilingual data: framework text is English while user content supports Unicode and BCP 47 language tags.
  • Bilingual Workbenches: the five operational Bases ship as system-owned English and Chinese presentation pairs over identical record queries.
  • Evidence-led: mechanism health, evidence maturity, readiness, applications, and outcomes remain separate states.

Visual overview

Agent-native architecture

Career OS architecture map

Open the full-size PNG · Open the source Canvas

Outcome-first workflow guide

Career OS outcome-first workflow guide

Open the full-size PNG · Open the source Canvas

These reviewed PNGs are native Obsidian Full canvas exports of the tracked Canvas sources. The Canvas files remain canonical; see docs/assets/README.md for the export contract.

Recommended installation

Repository relationship

This public checkout declares development_topology = "standalone-framework" and contains framework assets, synthetic fixtures, and deterministic validation only. Keep real career records, identity, attachments, font binaries, active Obsidian state, and generated outputs in an initialized private Career Home, never in a public GitHub fork.

v0.1.0 supports clean installations only. It does not define an in-place upgrade path from any v0.1.0-rc.* checkout.

For an embedded installation, keep the private Career Home beside the existing Obsidian Vault and mount it through a host-tracked relative directory symlink. upstream is the conventional optional remote name for the canonical public framework repository, sean2077/career-os. When retained in the private downstream it must be fetch-only with remote.upstream.pushurl=DISABLED. A personal origin is appropriate only after its owner has confirmed the hosted repository is private.

Install the core prerequisites described in the installation requirements before starting. Obsidian and the XeLaTeX resume stack have separate readiness gates.

Clone the public framework:

git clone https://github.com/sean2077/career-os.git career-home
cd career-home

Cloning initially creates a pushable public origin. Before adding personal data, choose one of these local remote policies:

# Keep the optional public update remote:
git remote rename origin upstream
git remote set-url --push upstream DISABLED

# Or keep no public remote:
git remote remove origin

Then initialize the private Career Home:

uv sync --locked
# Create and stage the relative Vault symlink described in the guide first.
uv run career-os init --mode embedded --root . --vault-root ../obsidian-vault --vault-mount Career/career-home --languages en
uv run career-os doctor --json
uv run career-os check
uv run career-os views build

Read the private downstream guide when operating in split-downstream mode. It defines the cross-platform symlink, remote-safety guard, and exact-tag update workflow.

Quick start

uv sync --locked
uv run career-os init --mode standalone --root . --languages en
uv run career-os doctor --json
uv run career-os check

Resume support is optional and requires the XeLaTeX dependencies documented in the installation requirements:

uv run career-os resume fonts fetch
uv run career-os resume doctor --json

For installation inside another Obsidian Vault:

uv run career-os init --mode embedded --root . --vault-root C:\path\to\vault --vault-mount Career/career-home --languages en,zh-CN
uv run career-os vault plan --action attach --vault-root C:\path\to\vault
# Review the emitted plan, then:
uv run career-os vault apply --plan .career-os\plans\vault-attach-<id>.json

Review the documentation map before applying a generated plan. The root English Career Home and 中文职业主页, plus the generic public Base, architecture Canvas, workflow-guide Canvas, dashboard, ten paired authority Workbench Bases, and two localized Recent Changes Bases under system/obsidian/, are Git-tracked framework assets. Each homepage embeds its localized Recent Changes view plus five authority Bases. career-os init never creates or overwrites either homepage or any Base. uv run career-os views build validates and lists all eighteen framework assets without creating career/ or runtime copies.

QuickAdd is an optional host-owned adapter for local record capture, active JD/Company/Engagement review, and explicit Engagement-event recording. Career OS generates reviewable choice JSON and ships the scripts, but it never edits the Vault's .obsidian choices or hotkeys. See the embedded-Vault guide.

Create a user-owned direct XeLaTeX resume with uv run career-os resume new my-resume. Internal builds remain under build/; only resume export writes a shareable PDF. Personal roots remain handwritten TeX, are discovered recursively by name, and use the one system-owned, legacy-calibrated class plus adjacent identity.tex. Preview and application are fixed output profiles; Git owns source versions and export receipts compute hashes automatically. Project-wide personal font filenames live in career-os.toml, while binaries remain in ignored .career-os/fonts/ state and are resolved by filename before XeLaTeX. See the resume guide.

Agent Skills

Career OS ships seven project-owned career workflow Skills. career-os init and career-os skills status --json separately report the optional Obsidian Skill group. Only when the report requires a choice does the Agent explain the reviewed source and ask for project, global, or skip plus the target Host; the CLI never installs or downloads a Skill itself. See the Skill catalog for ownership, onboarding, and reviewer boundaries.

Status

The current stable line is v0.7.0; see its verification evidence. Before v1.0, only the interfaces explicitly documented by a release are supported.

License

Project-owned work is licensed under the MIT License. External dependencies retain their original licenses and attribution; see NOTICE, the supply-chain guide, and the deterministic CycloneDX SBOM.

About

An Agent-native, local-first, and embeddable career development operating system for Obsidian.

Topics

Resources

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages