@forwardimpact/pathway 0.1.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.
- package/LICENSE +201 -0
- package/README.md +104 -0
- package/app/commands/agent.js +430 -0
- package/app/commands/behaviour.js +61 -0
- package/app/commands/command-factory.js +211 -0
- package/app/commands/discipline.js +58 -0
- package/app/commands/driver.js +94 -0
- package/app/commands/grade.js +60 -0
- package/app/commands/index.js +20 -0
- package/app/commands/init.js +67 -0
- package/app/commands/interview.js +68 -0
- package/app/commands/job.js +157 -0
- package/app/commands/progress.js +77 -0
- package/app/commands/questions.js +179 -0
- package/app/commands/serve.js +143 -0
- package/app/commands/site.js +121 -0
- package/app/commands/skill.js +76 -0
- package/app/commands/stage.js +129 -0
- package/app/commands/track.js +70 -0
- package/app/components/action-buttons.js +66 -0
- package/app/components/behaviour-profile.js +53 -0
- package/app/components/builder.js +341 -0
- package/app/components/card.js +98 -0
- package/app/components/checklist.js +145 -0
- package/app/components/comparison-radar.js +237 -0
- package/app/components/detail.js +230 -0
- package/app/components/error-page.js +72 -0
- package/app/components/grid.js +109 -0
- package/app/components/list.js +120 -0
- package/app/components/modifier-table.js +142 -0
- package/app/components/nav.js +64 -0
- package/app/components/progression-table.js +320 -0
- package/app/components/radar-chart.js +102 -0
- package/app/components/skill-matrix.js +97 -0
- package/app/css/base.css +56 -0
- package/app/css/bundles/app.css +40 -0
- package/app/css/bundles/handout.css +43 -0
- package/app/css/bundles/slides.css +40 -0
- package/app/css/components/badges.css +215 -0
- package/app/css/components/buttons.css +101 -0
- package/app/css/components/forms.css +105 -0
- package/app/css/components/layout.css +209 -0
- package/app/css/components/nav.css +166 -0
- package/app/css/components/progress.css +166 -0
- package/app/css/components/states.css +82 -0
- package/app/css/components/surfaces.css +243 -0
- package/app/css/components/tables.css +362 -0
- package/app/css/components/typography.css +122 -0
- package/app/css/components/utilities.css +41 -0
- package/app/css/pages/agent-builder.css +391 -0
- package/app/css/pages/assessment-results.css +453 -0
- package/app/css/pages/detail.css +59 -0
- package/app/css/pages/interview-builder.css +148 -0
- package/app/css/pages/job-builder.css +134 -0
- package/app/css/pages/landing.css +92 -0
- package/app/css/pages/lifecycle.css +118 -0
- package/app/css/pages/progress-builder.css +274 -0
- package/app/css/pages/self-assessment.css +502 -0
- package/app/css/reset.css +50 -0
- package/app/css/tokens.css +153 -0
- package/app/css/views/handout.css +30 -0
- package/app/css/views/print.css +608 -0
- package/app/css/views/slide-animations.css +113 -0
- package/app/css/views/slide-base.css +330 -0
- package/app/css/views/slide-sections.css +597 -0
- package/app/css/views/slide-tables.css +275 -0
- package/app/formatters/agent/dom.js +540 -0
- package/app/formatters/agent/profile.js +133 -0
- package/app/formatters/agent/skill.js +58 -0
- package/app/formatters/behaviour/dom.js +91 -0
- package/app/formatters/behaviour/markdown.js +54 -0
- package/app/formatters/behaviour/shared.js +64 -0
- package/app/formatters/discipline/dom.js +187 -0
- package/app/formatters/discipline/markdown.js +87 -0
- package/app/formatters/discipline/shared.js +131 -0
- package/app/formatters/driver/dom.js +103 -0
- package/app/formatters/driver/shared.js +92 -0
- package/app/formatters/grade/dom.js +208 -0
- package/app/formatters/grade/markdown.js +94 -0
- package/app/formatters/grade/shared.js +86 -0
- package/app/formatters/index.js +50 -0
- package/app/formatters/interview/dom.js +97 -0
- package/app/formatters/interview/markdown.js +66 -0
- package/app/formatters/interview/shared.js +332 -0
- package/app/formatters/job/description.js +176 -0
- package/app/formatters/job/dom.js +411 -0
- package/app/formatters/job/markdown.js +102 -0
- package/app/formatters/progress/dom.js +135 -0
- package/app/formatters/progress/markdown.js +86 -0
- package/app/formatters/progress/shared.js +339 -0
- package/app/formatters/questions/json.js +43 -0
- package/app/formatters/questions/markdown.js +303 -0
- package/app/formatters/questions/shared.js +274 -0
- package/app/formatters/questions/yaml.js +76 -0
- package/app/formatters/shared.js +71 -0
- package/app/formatters/skill/dom.js +168 -0
- package/app/formatters/skill/markdown.js +109 -0
- package/app/formatters/skill/shared.js +125 -0
- package/app/formatters/stage/dom.js +135 -0
- package/app/formatters/stage/index.js +12 -0
- package/app/formatters/stage/shared.js +111 -0
- package/app/formatters/track/dom.js +128 -0
- package/app/formatters/track/markdown.js +105 -0
- package/app/formatters/track/shared.js +181 -0
- package/app/handout-main.js +421 -0
- package/app/handout.html +21 -0
- package/app/index.html +59 -0
- package/app/lib/card-mappers.js +173 -0
- package/app/lib/cli-output.js +270 -0
- package/app/lib/error-boundary.js +70 -0
- package/app/lib/errors.js +49 -0
- package/app/lib/form-controls.js +47 -0
- package/app/lib/job-cache.js +86 -0
- package/app/lib/markdown.js +114 -0
- package/app/lib/radar.js +866 -0
- package/app/lib/reactive.js +77 -0
- package/app/lib/render.js +212 -0
- package/app/lib/router-core.js +160 -0
- package/app/lib/router-pages.js +16 -0
- package/app/lib/router-slides.js +202 -0
- package/app/lib/state.js +148 -0
- package/app/lib/utils.js +14 -0
- package/app/lib/yaml-loader.js +327 -0
- package/app/main.js +213 -0
- package/app/model/agent.js +702 -0
- package/app/model/checklist.js +137 -0
- package/app/model/derivation.js +699 -0
- package/app/model/index-generator.js +71 -0
- package/app/model/interview.js +539 -0
- package/app/model/job.js +222 -0
- package/app/model/levels.js +591 -0
- package/app/model/loader.js +564 -0
- package/app/model/matching.js +858 -0
- package/app/model/modifiers.js +158 -0
- package/app/model/profile.js +266 -0
- package/app/model/progression.js +507 -0
- package/app/model/validation.js +1385 -0
- package/app/pages/agent-builder.js +823 -0
- package/app/pages/assessment-results.js +507 -0
- package/app/pages/behaviour.js +70 -0
- package/app/pages/discipline.js +71 -0
- package/app/pages/driver.js +106 -0
- package/app/pages/grade.js +117 -0
- package/app/pages/interview-builder.js +50 -0
- package/app/pages/interview.js +304 -0
- package/app/pages/job-builder.js +50 -0
- package/app/pages/job.js +58 -0
- package/app/pages/landing.js +305 -0
- package/app/pages/progress-builder.js +58 -0
- package/app/pages/progress.js +495 -0
- package/app/pages/self-assessment.js +729 -0
- package/app/pages/skill.js +113 -0
- package/app/pages/stage.js +231 -0
- package/app/pages/track.js +69 -0
- package/app/slide-main.js +360 -0
- package/app/slides/behaviour.js +38 -0
- package/app/slides/chapter.js +82 -0
- package/app/slides/discipline.js +40 -0
- package/app/slides/driver.js +39 -0
- package/app/slides/grade.js +32 -0
- package/app/slides/index.js +198 -0
- package/app/slides/interview.js +58 -0
- package/app/slides/job.js +55 -0
- package/app/slides/overview.js +126 -0
- package/app/slides/progress.js +83 -0
- package/app/slides/skill.js +40 -0
- package/app/slides/track.js +39 -0
- package/app/slides.html +56 -0
- package/app/types.js +147 -0
- package/bin/pathway.js +489 -0
- package/examples/agents/.claude/skills/architecture-design/SKILL.md +88 -0
- package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +90 -0
- package/examples/agents/.claude/skills/code-quality-review/SKILL.md +67 -0
- package/examples/agents/.claude/skills/data-modeling/SKILL.md +99 -0
- package/examples/agents/.claude/skills/developer-experience/SKILL.md +99 -0
- package/examples/agents/.claude/skills/devops-cicd/SKILL.md +96 -0
- package/examples/agents/.claude/skills/full-stack-development/SKILL.md +90 -0
- package/examples/agents/.claude/skills/knowledge-management/SKILL.md +100 -0
- package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +102 -0
- package/examples/agents/.claude/skills/sre-practices/SKILL.md +117 -0
- package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +123 -0
- package/examples/agents/.claude/skills/technical-writing/SKILL.md +129 -0
- package/examples/agents/.github/agents/se-platform-code.agent.md +181 -0
- package/examples/agents/.github/agents/se-platform-plan.agent.md +178 -0
- package/examples/agents/.github/agents/se-platform-review.agent.md +113 -0
- package/examples/agents/.vscode/settings.json +8 -0
- package/examples/behaviours/_index.yaml +8 -0
- package/examples/behaviours/outcome_ownership.yaml +44 -0
- package/examples/behaviours/polymathic_knowledge.yaml +42 -0
- package/examples/behaviours/precise_communication.yaml +40 -0
- package/examples/behaviours/relentless_curiosity.yaml +38 -0
- package/examples/behaviours/systems_thinking.yaml +41 -0
- package/examples/capabilities/_index.yaml +8 -0
- package/examples/capabilities/business.yaml +251 -0
- package/examples/capabilities/delivery.yaml +352 -0
- package/examples/capabilities/people.yaml +100 -0
- package/examples/capabilities/reliability.yaml +318 -0
- package/examples/capabilities/scale.yaml +394 -0
- package/examples/disciplines/_index.yaml +5 -0
- package/examples/disciplines/data_engineering.yaml +76 -0
- package/examples/disciplines/software_engineering.yaml +76 -0
- package/examples/drivers.yaml +205 -0
- package/examples/framework.yaml +58 -0
- package/examples/grades.yaml +118 -0
- package/examples/questions/behaviours/outcome_ownership.yaml +52 -0
- package/examples/questions/behaviours/polymathic_knowledge.yaml +48 -0
- package/examples/questions/behaviours/precise_communication.yaml +55 -0
- package/examples/questions/behaviours/relentless_curiosity.yaml +51 -0
- package/examples/questions/behaviours/systems_thinking.yaml +53 -0
- package/examples/questions/skills/architecture_design.yaml +54 -0
- package/examples/questions/skills/cloud_platforms.yaml +48 -0
- package/examples/questions/skills/code_quality.yaml +49 -0
- package/examples/questions/skills/data_modeling.yaml +46 -0
- package/examples/questions/skills/devops.yaml +47 -0
- package/examples/questions/skills/full_stack_development.yaml +48 -0
- package/examples/questions/skills/sre_practices.yaml +44 -0
- package/examples/questions/skills/stakeholder_management.yaml +49 -0
- package/examples/questions/skills/team_collaboration.yaml +43 -0
- package/examples/questions/skills/technical_writing.yaml +43 -0
- package/examples/self-assessments.yaml +66 -0
- package/examples/stages.yaml +76 -0
- package/examples/tracks/_index.yaml +6 -0
- package/examples/tracks/manager.yaml +53 -0
- package/examples/tracks/platform.yaml +54 -0
- package/examples/tracks/sre.yaml +58 -0
- package/examples/vscode-settings.yaml +22 -0
- package/package.json +68 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Track: SRE
|
|
2
|
+
# Site Reliability Engineering focus
|
|
3
|
+
|
|
4
|
+
name: SRE
|
|
5
|
+
|
|
6
|
+
# Track type - professional track (default)
|
|
7
|
+
isProfessional: true
|
|
8
|
+
|
|
9
|
+
# Shared content (used by both human job descriptions and agent profiles)
|
|
10
|
+
description:
|
|
11
|
+
Site Reliability Engineering focus on system reliability, observability, and
|
|
12
|
+
incident response
|
|
13
|
+
roleContext:
|
|
14
|
+
In this Site Reliability Engineering role, you will focus on system
|
|
15
|
+
reliability, observability, and incident response. You will ensure our
|
|
16
|
+
services meet their reliability targets while driving continuous improvement
|
|
17
|
+
in system resilience and operational excellence.
|
|
18
|
+
|
|
19
|
+
# Derivation inputs - used by both human and agent profiles
|
|
20
|
+
skillModifiers:
|
|
21
|
+
scale: 1
|
|
22
|
+
reliability: 1
|
|
23
|
+
delivery: -1
|
|
24
|
+
behaviourModifiers:
|
|
25
|
+
outcome_ownership: 1
|
|
26
|
+
relentless_curiosity: 1
|
|
27
|
+
assessmentWeights:
|
|
28
|
+
skillWeight: 0.6
|
|
29
|
+
behaviourWeight: 0.4
|
|
30
|
+
|
|
31
|
+
# SRE track is only valid for Software Engineering and Data Engineering
|
|
32
|
+
validDisciplines:
|
|
33
|
+
- software_engineering
|
|
34
|
+
- data_engineering
|
|
35
|
+
|
|
36
|
+
# Agent-specific content
|
|
37
|
+
agent:
|
|
38
|
+
coreInstructions: |
|
|
39
|
+
You are an SRE {roleTitle} agent. Your primary focus is
|
|
40
|
+
system reliability, observability, and incident response.
|
|
41
|
+
|
|
42
|
+
Reliability is non-negotiable. You instrument everything, design for
|
|
43
|
+
graceful degradation, and maintain error budgets. Every change
|
|
44
|
+
considers blast radius and recovery paths.
|
|
45
|
+
|
|
46
|
+
Before making changes:
|
|
47
|
+
1. Understand system dependencies and failure modes
|
|
48
|
+
2. Ensure observability instrumentation is in place
|
|
49
|
+
3. Consider rollback procedures and blast radius
|
|
50
|
+
4. Verify runbooks are updated
|
|
51
|
+
|
|
52
|
+
Production stability trumps feature velocity. No change ships without
|
|
53
|
+
understanding its impact on system reliability.
|
|
54
|
+
constraints:
|
|
55
|
+
- Never compromise on observability instrumentation
|
|
56
|
+
- Document all runbooks and incident response procedures
|
|
57
|
+
- Verify failover mechanisms regularly
|
|
58
|
+
- Consider blast radius for all changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# VS Code Settings for Agent Features
|
|
2
|
+
# These settings are exported when generating agent configurations
|
|
3
|
+
# to ensure the target workspace has the required VS Code configuration.
|
|
4
|
+
|
|
5
|
+
# Enable agent mode in chat
|
|
6
|
+
chat.agent.enabled: true
|
|
7
|
+
|
|
8
|
+
# Maximum requests per agent session (high limit for complex tasks)
|
|
9
|
+
chat.agent.maxRequests: 999
|
|
10
|
+
|
|
11
|
+
# Enable edits v2 for improved code editing
|
|
12
|
+
chat.edits2.enabled: true
|
|
13
|
+
|
|
14
|
+
# Enable extension unification for consistent behavior
|
|
15
|
+
chat.extensionUnification.enabled: true
|
|
16
|
+
|
|
17
|
+
# Enable custom agents to be used as subagents
|
|
18
|
+
# Required for multi-agent workflows with handoffs
|
|
19
|
+
chat.customAgentInSubagent.enabled: true
|
|
20
|
+
|
|
21
|
+
# Enable Claude skills for enhanced agent capabilities
|
|
22
|
+
chat.useClaudeSkills: true
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@forwardimpact/pathway",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Engineering Pathway framework for human and AI collaboration",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/forwardimpact/pathway"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"career",
|
|
12
|
+
"competency",
|
|
13
|
+
"framework",
|
|
14
|
+
"hr",
|
|
15
|
+
"skills",
|
|
16
|
+
"talent",
|
|
17
|
+
"ai-agent",
|
|
18
|
+
"engineering"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"main": "app/model/loader.js",
|
|
22
|
+
"bin": {
|
|
23
|
+
"pathway": "./bin/pathway.js"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"bin/",
|
|
27
|
+
"app/",
|
|
28
|
+
"examples/"
|
|
29
|
+
],
|
|
30
|
+
"exports": {
|
|
31
|
+
".": "./app/model/loader.js",
|
|
32
|
+
"./derivation": "./app/model/derivation.js",
|
|
33
|
+
"./interview": "./app/model/interview.js",
|
|
34
|
+
"./levels": "./app/model/levels.js",
|
|
35
|
+
"./loader": "./app/model/loader.js",
|
|
36
|
+
"./matching": "./app/model/matching.js",
|
|
37
|
+
"./types": "./app/model/levels.js",
|
|
38
|
+
"./validation": "./app/model/validation.js"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"start": "node bin/pathway.js serve",
|
|
42
|
+
"prestart": "npm run generate-index",
|
|
43
|
+
"check": "npm run format && npm run lint && npm run test",
|
|
44
|
+
"check:fix": "npm run format:fix && npm run lint:fix",
|
|
45
|
+
"lint": "eslint .",
|
|
46
|
+
"lint:fix": "eslint . --fix",
|
|
47
|
+
"format": "prettier --check .",
|
|
48
|
+
"format:fix": "prettier --write .",
|
|
49
|
+
"test": "find ./tests -name '*.test.js' | xargs node --test",
|
|
50
|
+
"test:e2e": "npx playwright test",
|
|
51
|
+
"validate": "node bin/pathway.js --validate",
|
|
52
|
+
"generate-index": "node bin/pathway.js --generate-index",
|
|
53
|
+
"pathway": "node bin/pathway.js",
|
|
54
|
+
"demo": "node scripts/demo.js"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"yaml": "^2.3.4"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@playwright/test": "^1.49.0",
|
|
61
|
+
"eslint": "^9.39.1",
|
|
62
|
+
"eslint-config-prettier": "^10.1.8",
|
|
63
|
+
"prettier": "^3.7.4"
|
|
64
|
+
},
|
|
65
|
+
"engines": {
|
|
66
|
+
"node": ">=18.0.0"
|
|
67
|
+
}
|
|
68
|
+
}
|