@forwardimpact/guide 0.1.5 → 0.1.8
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/bin/fit-guide.js +27 -27
- package/package.json +4 -4
- package/README.md +0 -94
package/bin/fit-guide.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
1
|
+
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* fit-guide CLI
|
|
4
4
|
*
|
|
@@ -54,7 +54,7 @@ services must be available:
|
|
|
54
54
|
|
|
55
55
|
To get started:
|
|
56
56
|
|
|
57
|
-
1. Clone the monorepo and run:
|
|
57
|
+
1. Clone the monorepo and run: just rc-start
|
|
58
58
|
2. Set SERVICE_SECRET in your environment
|
|
59
59
|
3. Run: bunx fit-guide
|
|
60
60
|
|
|
@@ -63,15 +63,16 @@ Run bunx fit-guide --help for CLI options.`);
|
|
|
63
63
|
process.exit(1);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
try {
|
|
67
|
+
const { createServiceConfig } = await import("@forwardimpact/libconfig");
|
|
68
|
+
const { Repl } = await import("@forwardimpact/librepl");
|
|
69
|
+
const { createClient, createTracer } = await import("@forwardimpact/librpc");
|
|
70
|
+
const { createLogger } = await import("@forwardimpact/libtelemetry");
|
|
71
|
+
const { agent, common } = await import("@forwardimpact/libtype");
|
|
72
|
+
const { createStorage } = await import("@forwardimpact/libstorage");
|
|
73
|
+
const { Finder } = await import("@forwardimpact/libutil");
|
|
73
74
|
|
|
74
|
-
const usage = `**Usage:** <message>
|
|
75
|
+
const usage = `**Usage:** <message>
|
|
75
76
|
|
|
76
77
|
Send conversational messages to the Agent service for processing.
|
|
77
78
|
The agent maintains conversation context across multiple turns.
|
|
@@ -81,24 +82,23 @@ The agent maintains conversation context across multiple turns.
|
|
|
81
82
|
echo "Tell me about the company" | bunx fit-guide
|
|
82
83
|
printf "What is microservices?\\nWhat are the benefits?\\n" | bunx fit-guide`;
|
|
83
84
|
|
|
84
|
-
// Parse --data flag from CLI args
|
|
85
|
-
const dataArg = process.argv.find((a) => a.startsWith("--data="));
|
|
86
|
-
let dataDir;
|
|
87
|
-
if (dataArg) {
|
|
88
|
-
|
|
89
|
-
} else {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
85
|
+
// Parse --data flag from CLI args
|
|
86
|
+
const dataArg = process.argv.find((a) => a.startsWith("--data="));
|
|
87
|
+
let dataDir;
|
|
88
|
+
if (dataArg) {
|
|
89
|
+
dataDir = resolve(dataArg.slice(7));
|
|
90
|
+
} else {
|
|
91
|
+
const guideLogger = createLogger("cli");
|
|
92
|
+
const finder = new Finder(fs, guideLogger, process);
|
|
93
|
+
try {
|
|
94
|
+
dataDir = finder.findData("data", homedir());
|
|
95
|
+
} catch {
|
|
96
|
+
throw new Error(
|
|
97
|
+
"No data directory found. Use --data=<path> to specify location.",
|
|
98
|
+
);
|
|
99
|
+
}
|
|
98
100
|
}
|
|
99
|
-
}
|
|
100
101
|
|
|
101
|
-
try {
|
|
102
102
|
const config = await createServiceConfig("agent");
|
|
103
103
|
const logger = createLogger("cli");
|
|
104
104
|
const tracer = await createTracer("cli");
|
|
@@ -173,7 +173,7 @@ Error: ${err.message}
|
|
|
173
173
|
Ensure all required services are running:
|
|
174
174
|
agent, llm, memory, graph, vector, tool, trace, web
|
|
175
175
|
|
|
176
|
-
For local development:
|
|
176
|
+
For local development: just rc-start
|
|
177
177
|
Documentation: https://www.forwardimpact.team/guide`);
|
|
178
178
|
process.exit(1);
|
|
179
179
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forwardimpact/guide",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Conversational agent for engineering framework guidance — How do I find my bearing?",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "D. Olsson <hi@senzilla.io>",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"fit-guide": "./bin/fit-guide.js"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
|
-
"bin/"
|
|
29
|
-
"README.md"
|
|
28
|
+
"bin/"
|
|
30
29
|
],
|
|
31
30
|
"engines": {
|
|
32
|
-
"bun": ">=1.2.0"
|
|
31
|
+
"bun": ">=1.2.0",
|
|
32
|
+
"node": ">=18.0.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@forwardimpact/libconfig": "^0.1.58",
|
package/README.md
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
# @forwardimpact/guide
|
|
2
|
-
|
|
3
|
-
> How do I find my bearing?
|
|
4
|
-
|
|
5
|
-
Guide is an AI agent that understands your organization's engineering framework
|
|
6
|
-
— skills, levels, behaviours, and expectations — and reasons about them in
|
|
7
|
-
context. It helps developers onboard, find growth areas, and interpret
|
|
8
|
-
engineering artifacts against skill markers.
|
|
9
|
-
|
|
10
|
-
Guide is part of the [Forward Impact](https://www.forwardimpact.team) product
|
|
11
|
-
suite alongside [Map](https://www.npmjs.com/package/@forwardimpact/map),
|
|
12
|
-
[Pathway](https://www.npmjs.com/package/@forwardimpact/pathway), Basecamp,
|
|
13
|
-
Landmark, and Summit.
|
|
14
|
-
|
|
15
|
-
## Install
|
|
16
|
-
|
|
17
|
-
```sh
|
|
18
|
-
bun install @forwardimpact/guide
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Service Requirements
|
|
22
|
-
|
|
23
|
-
Guide is a client for the Forward Impact knowledge platform. Unlike Map (local
|
|
24
|
-
YAML validation) and Pathway (local job derivation), Guide connects to a gRPC
|
|
25
|
-
service stack for LLM orchestration, memory, knowledge graphs, and vector
|
|
26
|
-
search.
|
|
27
|
-
|
|
28
|
-
The following services must be running:
|
|
29
|
-
|
|
30
|
-
- **agent** — orchestrates multi-turn conversations
|
|
31
|
-
- **llm** — provides LLM completions
|
|
32
|
-
- **memory** — manages conversation history
|
|
33
|
-
- **graph** — stores knowledge graph triples
|
|
34
|
-
- **vector** — provides embedding similarity search
|
|
35
|
-
- **tool** — executes tool calls
|
|
36
|
-
- **trace** — records execution traces
|
|
37
|
-
- **web** — serves web interface
|
|
38
|
-
|
|
39
|
-
## Quick Start
|
|
40
|
-
|
|
41
|
-
1. Clone the monorepo and start the service stack:
|
|
42
|
-
|
|
43
|
-
```sh
|
|
44
|
-
git clone https://github.com/forwardimpact/monorepo
|
|
45
|
-
cd monorepo
|
|
46
|
-
make services
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
2. Set the service secret in your environment:
|
|
50
|
-
|
|
51
|
-
```sh
|
|
52
|
-
export SERVICE_SECRET=<your-secret>
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
3. Run Guide:
|
|
56
|
-
|
|
57
|
-
```sh
|
|
58
|
-
bunx fit-guide
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## CLI Usage
|
|
62
|
-
|
|
63
|
-
```sh
|
|
64
|
-
# Start an interactive conversation
|
|
65
|
-
bunx fit-guide
|
|
66
|
-
|
|
67
|
-
# Pipe a question directly
|
|
68
|
-
echo "Tell me about the company" | bunx fit-guide
|
|
69
|
-
|
|
70
|
-
# Specify a framework data directory
|
|
71
|
-
bunx fit-guide --data=./my-data
|
|
72
|
-
|
|
73
|
-
# Show help
|
|
74
|
-
bunx fit-guide --help
|
|
75
|
-
|
|
76
|
-
# Show version
|
|
77
|
-
bunx fit-guide --version
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Related Packages
|
|
81
|
-
|
|
82
|
-
- [@forwardimpact/map](https://www.npmjs.com/package/@forwardimpact/map) —
|
|
83
|
-
Engineering framework validation and data product
|
|
84
|
-
- [@forwardimpact/pathway](https://www.npmjs.com/package/@forwardimpact/pathway)
|
|
85
|
-
— Career progression web app and CLI
|
|
86
|
-
|
|
87
|
-
## Documentation
|
|
88
|
-
|
|
89
|
-
- [Guide product page](https://www.forwardimpact.team/guide)
|
|
90
|
-
- [Monorepo](https://github.com/forwardimpact/monorepo)
|
|
91
|
-
|
|
92
|
-
## License
|
|
93
|
-
|
|
94
|
-
Apache-2.0
|