RFC: End-User Setup Wizard for Local Onboarding #461
syahmiharith
started this conversation in
RFC
Replies: 1 comment
-
|
This looks great. Can you include the article-digest.md as part of the automated setup as well |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
RFC: End-User Setup Wizard for Local Onboarding
References
1. Problem
Career-Ops is powerful, but the first-time setup still assumes users are comfortable creating and editing several local Markdown/YAML files manually.
Today, a new user may need to prepare or configure:
cv.mdconfig/profile.ymlmodes/_profile.mdportals.ymldata/applications.mddata/pipeline.mdreports/,output/, andjds/This is manageable for technical users, but it creates friction for average job seekers.
The project vision in #156 explicitly points toward a simpler setup wizard: paste a CV, pick target roles, and get started. This RFC proposes a local, terminal-based onboarding wizard that supports that direction without changing Career-Ops into a SaaS, web app, or desktop app.
The goal is to make the existing local-first workflow easier to initialize.
2. Proposed Solution
Add a local setup wizard exposed through:
Internally, this would run:
The wizard should help users create missing user-layer files through guided prompts.
The first screen should offer:
The wizard should support three implementation slices:
The first PR should only implement the smallest useful slice unless maintainers prefer a different breakdown.
3. Goals
npm run setupwizard.npm run doctorfor validation instead of duplicating validation logic.4. Non-Goals
This RFC does not propose:
npm run doctor5. User Flow
Entry
Quick setup with existing CV
This path is for users who already have a CV.
Inputs:
.md/.txtfile pathOutputs:
cv.mdconfig/profile.ymlmodes/_profile.mdportals.ymldata/applications.mddata/pipeline.mdGuided setup without existing CV
This path is for users who do not have a ready CV.
Inputs:
Output:
cv.mdThis should create a usable first draft, not a perfect CV.
Optional advanced fine-tuning
After quick or guided setup:
Advanced options may include:
Resume existing setup
This path should detect existing user-layer files and fill gaps only.
Default behavior:
Example prompt:
6. Files Affected
Expected system-layer files
setup.mjspackage.json{ "scripts": { "setup": "node setup.mjs" } }docs/SETUP.mdnpm run setupas the recommended beginner path.docs/SCRIPTS.mdtest-all.mjsUser-layer files created or updated
cv.mdconfig/profile.ymlmodes/_profile.mdportals.ymlarticle-digest.mdif proof points are provideddata/applications.mddata/pipeline.mdDirectories ensured
data/jds/reports/output/interview-prep/Files intentionally not modified
modes/_shared.md7. Data Contract Impact
This change introduces a new system-layer script:
setup.mjsIt also adds a new package script:
npm run setupIt does not introduce a new required user-owned file beyond files already used by the existing workflow.
Data Contract summary:
article-digest.md, only if proof points are providedsetup.mjsThe wizard should only create or update user-layer files. User-specific preferences should stay in
config/profile.yml,modes/_profile.md,portals.yml,cv.md, and optionalarticle-digest.md.8. Phases
Phase 1 — Quick Setup with Existing CV
Add the smallest useful setup wizard.
Scope:
setup.mjsnpm run setup.md/.txtCV importnpm run doctorat the endAcceptance criteria:
node --check setup.mjspassesnpm run setupstarts the wizardcv.md.md/.txtimport createscv.mdconfig/profile.ymlis created from basic inputsmodes/_profile.mdis created with basic role/evaluation preferencesportals.ymlis created or tuned from target rolesdata/applications.mdanddata/pipeline.mdare created if missingnpm run doctorruns at the endPhase 2 — Guided Setup Without Existing CV
Add a beginner path for users without a prepared CV.
Scope:
cv.mdAcceptance criteria:
cv.mdPhase 3 — Advanced Fine-Tuning
Add optional tuning for users who want better evaluation quality.
Scope:
Acceptance criteria:
config/profile.ymlmodes/_profile.mdportals.ymlarticle-digest.mdPhase 4 — Resume Existing Setup
Add gap-filling behavior for partially configured users.
Scope:
Acceptance criteria:
Phase 5 — Documentation and Follow-Up Polish
Document the workflow and finalize validation.
Scope:
docs/SETUP.mddocs/SCRIPTS.mdnpm run setupandnpm run doctorAcceptance criteria:
npm run setup9. Backward Compatibility
Existing users should not be affected.
The wizard should:
This allows current users to ignore the wizard while new users get a simpler onboarding path.
10. Risks and Mitigations
Risk: Wizard becomes too broad
Mitigation:
Risk: Generated YAML is invalid
Mitigation:
npm run doctorat the end.Risk: User files are overwritten accidentally
Mitigation:
Risk: Setup wizard duplicates doctor logic
Mitigation:
npm run doctorafter setup instead of reimplementing validation checks.Risk: User-specific preferences leak into system-layer files
Mitigation:
Risk: Guided CV creation creates low-quality CVs
Mitigation:
11. Test Plan
Manual and automated checks should include:
node --check setup.mjsnpm run setuplaunches successfully.mdfile import creates expectedcv.md.txtfile import creates expectedcv.mdcv.mdprofile.yml,_profile.md, andportals.ymlnpm run doctor12. Deferred Slices
These should remain out of the first implementation:
These can be proposed later once the baseline wizard is accepted.
13. Open Questions
article-digest.mdbe created by default, or only when proof points are provided?setup.mjs, or under a scripts directory?npm run setupalways runnpm run doctor, or ask first?docs/SETUP.md,docs/SCRIPTS.md, or both document this command?14. Suggested PR Breakdown
setup.mjs,npm run setup, quick CV import, basic user-layer file creation, and doctor handoff.If maintainers prefer smaller review units, PR 1 can be split into:
Beta Was this translation helpful? Give feedback.
All reactions