@codyswann/lisa 2.23.2 → 2.25.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/.claude-plugin/marketplace.json +6 -0
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/commands/setup/github.md +7 -0
- package/plugins/lisa/commands/setup/linear.md +7 -0
- package/plugins/lisa/skills/setup-github/SKILL.md +199 -0
- package/plugins/lisa/skills/setup-linear/SKILL.md +217 -0
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +8 -0
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +32 -0
- package/plugins/lisa-wiki/ci/lisa-wiki-validate.yml +32 -0
- package/plugins/lisa-wiki/commands/add-ingest.md +6 -0
- package/plugins/lisa-wiki/commands/add-role.md +6 -0
- package/plugins/lisa-wiki/commands/doctor.md +6 -0
- package/plugins/lisa-wiki/commands/ingest.md +6 -0
- package/plugins/lisa-wiki/commands/lint.md +6 -0
- package/plugins/lisa-wiki/commands/migrate.md +6 -0
- package/plugins/lisa-wiki/commands/onboard-me.md +6 -0
- package/plugins/lisa-wiki/commands/query.md +6 -0
- package/plugins/lisa-wiki/commands/setup.md +6 -0
- package/plugins/lisa-wiki/schema/lisa-wiki-config.schema.json +118 -0
- package/plugins/lisa-wiki/schema/wiki-structure.schema.json +51 -0
- package/plugins/lisa-wiki/scripts/_wiki-lib.mjs +185 -0
- package/plugins/lisa-wiki/scripts/diff-guard.mjs +116 -0
- package/plugins/lisa-wiki/scripts/ingest-git.mjs +189 -0
- package/plugins/lisa-wiki/scripts/ingest-memory.mjs +130 -0
- package/plugins/lisa-wiki/scripts/ingest-roles.mjs +85 -0
- package/plugins/lisa-wiki/scripts/ingest_slack_channel.py +329 -0
- package/plugins/lisa-wiki/scripts/lint-wiki.mjs +320 -0
- package/plugins/lisa-wiki/scripts/mcp-doctor.mjs +72 -0
- package/plugins/lisa-wiki/scripts/render-contract.mjs +107 -0
- package/plugins/lisa-wiki/scripts/rewrite-refs.mjs +144 -0
- package/plugins/lisa-wiki/scripts/slack_oauth_user.py +179 -0
- package/plugins/lisa-wiki/scripts/validate-config.mjs +232 -0
- package/plugins/lisa-wiki/scripts/verify-migration.mjs +199 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-add-role/SKILL.md +30 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-git/SKILL.md +25 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-connector-web/SKILL.md +23 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-doctor/SKILL.md +47 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-ingest/SKILL.md +43 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-lint/SKILL.md +32 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-migrate/SKILL.md +43 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-query/SKILL.md +30 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-setup/SKILL.md +45 -0
- package/plugins/lisa-wiki/skills/lisa-wiki-usage/SKILL.md +50 -0
- package/plugins/lisa-wiki/templates/agents/role-agent.claude.md +16 -0
- package/plugins/lisa-wiki/templates/agents/role-agent.codex.toml +15 -0
- package/plugins/lisa-wiki/templates/index.md +17 -0
- package/plugins/lisa-wiki/templates/llm-wiki-contract.md +60 -0
- package/plugins/lisa-wiki/templates/log.md +8 -0
- package/plugins/lisa-wiki/templates/page-types/architecture.md +18 -0
- package/plugins/lisa-wiki/templates/page-types/concept.md +18 -0
- package/plugins/lisa-wiki/templates/page-types/decision.md +18 -0
- package/plugins/lisa-wiki/templates/page-types/entity.md +19 -0
- package/plugins/lisa-wiki/templates/page-types/open-question.md +18 -0
- package/plugins/lisa-wiki/templates/page-types/playbook.md +18 -0
- package/plugins/lisa-wiki/templates/page-types/project.md +19 -0
- package/plugins/lisa-wiki/templates/page-types/requirement.md +19 -0
- package/plugins/lisa-wiki/templates/page-types/staff.md +26 -0
- package/plugins/lisa-wiki/templates/start-here.md +24 -0
- package/plugins/lisa-wiki/templates/state-readme.md +20 -0
- package/plugins/src/base/commands/setup/github.md +7 -0
- package/plugins/src/base/commands/setup/linear.md +7 -0
- package/plugins/src/base/skills/setup-github/SKILL.md +199 -0
- package/plugins/src/base/skills/setup-linear/SKILL.md +217 -0
- package/plugins/src/wiki/.claude-plugin/plugin.json +6 -0
- package/plugins/src/wiki/ci/lisa-wiki-validate.yml +32 -0
- package/plugins/src/wiki/commands/add-ingest.md +6 -0
- package/plugins/src/wiki/commands/add-role.md +6 -0
- package/plugins/src/wiki/commands/doctor.md +6 -0
- package/plugins/src/wiki/commands/ingest.md +6 -0
- package/plugins/src/wiki/commands/lint.md +6 -0
- package/plugins/src/wiki/commands/migrate.md +6 -0
- package/plugins/src/wiki/commands/onboard-me.md +6 -0
- package/plugins/src/wiki/commands/query.md +6 -0
- package/plugins/src/wiki/commands/setup.md +6 -0
- package/plugins/src/wiki/schema/lisa-wiki-config.schema.json +118 -0
- package/plugins/src/wiki/schema/wiki-structure.schema.json +51 -0
- package/plugins/src/wiki/scripts/_wiki-lib.mjs +185 -0
- package/plugins/src/wiki/scripts/diff-guard.mjs +116 -0
- package/plugins/src/wiki/scripts/ingest-git.mjs +189 -0
- package/plugins/src/wiki/scripts/ingest-memory.mjs +130 -0
- package/plugins/src/wiki/scripts/ingest-roles.mjs +85 -0
- package/plugins/src/wiki/scripts/ingest_slack_channel.py +329 -0
- package/plugins/src/wiki/scripts/lint-wiki.mjs +320 -0
- package/plugins/src/wiki/scripts/mcp-doctor.mjs +72 -0
- package/plugins/src/wiki/scripts/render-contract.mjs +107 -0
- package/plugins/src/wiki/scripts/rewrite-refs.mjs +144 -0
- package/plugins/src/wiki/scripts/slack_oauth_user.py +179 -0
- package/plugins/src/wiki/scripts/validate-config.mjs +232 -0
- package/plugins/src/wiki/scripts/verify-migration.mjs +199 -0
- package/plugins/src/wiki/skills/lisa-wiki-add-ingest/SKILL.md +34 -0
- package/plugins/src/wiki/skills/lisa-wiki-add-role/SKILL.md +30 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-confluence/SKILL.md +25 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-docs/SKILL.md +30 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-git/SKILL.md +25 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-jira/SKILL.md +28 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-memory/SKILL.md +28 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-notion/SKILL.md +25 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-roles/SKILL.md +22 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-slack/SKILL.md +30 -0
- package/plugins/src/wiki/skills/lisa-wiki-connector-web/SKILL.md +23 -0
- package/plugins/src/wiki/skills/lisa-wiki-doctor/SKILL.md +47 -0
- package/plugins/src/wiki/skills/lisa-wiki-ingest/SKILL.md +43 -0
- package/plugins/src/wiki/skills/lisa-wiki-lint/SKILL.md +32 -0
- package/plugins/src/wiki/skills/lisa-wiki-migrate/SKILL.md +43 -0
- package/plugins/src/wiki/skills/lisa-wiki-onboard-me/SKILL.md +33 -0
- package/plugins/src/wiki/skills/lisa-wiki-query/SKILL.md +30 -0
- package/plugins/src/wiki/skills/lisa-wiki-setup/SKILL.md +45 -0
- package/plugins/src/wiki/skills/lisa-wiki-usage/SKILL.md +50 -0
- package/plugins/src/wiki/templates/agents/role-agent.claude.md +16 -0
- package/plugins/src/wiki/templates/agents/role-agent.codex.toml +15 -0
- package/plugins/src/wiki/templates/index.md +17 -0
- package/plugins/src/wiki/templates/llm-wiki-contract.md +60 -0
- package/plugins/src/wiki/templates/log.md +8 -0
- package/plugins/src/wiki/templates/page-types/architecture.md +18 -0
- package/plugins/src/wiki/templates/page-types/concept.md +18 -0
- package/plugins/src/wiki/templates/page-types/decision.md +18 -0
- package/plugins/src/wiki/templates/page-types/entity.md +19 -0
- package/plugins/src/wiki/templates/page-types/open-question.md +18 -0
- package/plugins/src/wiki/templates/page-types/playbook.md +18 -0
- package/plugins/src/wiki/templates/page-types/project.md +19 -0
- package/plugins/src/wiki/templates/page-types/requirement.md +19 -0
- package/plugins/src/wiki/templates/page-types/staff.md +26 -0
- package/plugins/src/wiki/templates/start-here.md +24 -0
- package/plugins/src/wiki/templates/state-readme.md +20 -0
- package/scripts/build-plugins.sh +29 -21
- package/scripts/check-plugins-sync.sh +1 -1
- package/scripts/generate-codex-plugin-artifacts.mjs +22 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: project
|
|
3
|
+
created: {{date}}
|
|
4
|
+
updated: {{date}}
|
|
5
|
+
related: []
|
|
6
|
+
sources: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {{title}}
|
|
10
|
+
|
|
11
|
+
## Repository
|
|
12
|
+
<!-- | Field | Value | : local path, remote, default branch, HEAD, status -->
|
|
13
|
+
|
|
14
|
+
## Technology signals
|
|
15
|
+
|
|
16
|
+
## Structure signals
|
|
17
|
+
|
|
18
|
+
## Notes & evidence
|
|
19
|
+
<!-- Cite source notes, e.g. PR #/commit -->
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: requirement
|
|
3
|
+
created: {{date}}
|
|
4
|
+
updated: {{date}}
|
|
5
|
+
related: []
|
|
6
|
+
sources: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# {{title}}
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
## Acceptance criteria
|
|
14
|
+
<!-- Gherkin: Given / When / Then -->
|
|
15
|
+
|
|
16
|
+
## Out of scope
|
|
17
|
+
|
|
18
|
+
## Notes & evidence
|
|
19
|
+
<!-- Cite source notes -->
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: staff
|
|
3
|
+
created: {{date}}
|
|
4
|
+
updated: {{date}}
|
|
5
|
+
related: []
|
|
6
|
+
sources: []
|
|
7
|
+
sensitivity: {{sensitivity}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# {{role}} ({{id}})
|
|
11
|
+
|
|
12
|
+
## Role
|
|
13
|
+
<!-- Human or Agent; what this role is responsible for -->
|
|
14
|
+
|
|
15
|
+
## Domain
|
|
16
|
+
Owned categories: {{ownedCategories}}
|
|
17
|
+
Owned connectors: {{ownedConnectors}}
|
|
18
|
+
|
|
19
|
+
## Expertise
|
|
20
|
+
{{expertise}}
|
|
21
|
+
|
|
22
|
+
## Reports to
|
|
23
|
+
|
|
24
|
+
## Notes
|
|
25
|
+
<!-- The runnable subagent for this role lives at .claude/agents/{{id}}.md and .codex/agents/{{id}}.toml.
|
|
26
|
+
Whether it is ever invoked/scheduled is out of scope for the wiki. -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Start here — {{displayName}}
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
{{purpose}}
|
|
5
|
+
|
|
6
|
+
## What this is
|
|
7
|
+
A git-native LLM Wiki owned by **{{org}}** and maintained by the `lisa-wiki` kernel. It is the
|
|
8
|
+
durable home for this project's knowledge (and documentation). Raw sources are preserved under
|
|
9
|
+
`{{wikiRoot}}/sources/`; distilled knowledge lives in the category pages; the rules are in
|
|
10
|
+
`{{wikiRoot}}/schema/llm-wiki-contract.md`.
|
|
11
|
+
|
|
12
|
+
## How to use it
|
|
13
|
+
- **New here?** Run `/onboard-me` (Codex: `$lisa-wiki-onboard-me`) for a guided tour + sample questions.
|
|
14
|
+
- **Find/answer something:** `/query "<question>"` — cited answers from the wiki.
|
|
15
|
+
- **Add knowledge:** `/ingest <url|file|prompt>` (Codex: `$lisa-wiki-ingest`), or `/ingest` with no
|
|
16
|
+
argument for a full ingest across all enabled non-external-write sources (external-write sources
|
|
17
|
+
require explicit intent).
|
|
18
|
+
- **Browse:** [index.md](index.md).
|
|
19
|
+
- **Check health:** `/lint`.
|
|
20
|
+
|
|
21
|
+
## Map
|
|
22
|
+
Synthesis categories: {{categories}}.
|
|
23
|
+
Sources: `{{wikiRoot}}/sources/` · State: `{{wikiRoot}}/state/` · Contract:
|
|
24
|
+
`{{wikiRoot}}/schema/llm-wiki-contract.md` · Log: `{{wikiRoot}}/log.md`.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# state/ — ingestion cursors
|
|
2
|
+
|
|
3
|
+
JSON cursors that let ingestion resume incrementally — one file per source/connector at
|
|
4
|
+
`state/<system>/*.json`. A cursor is advanced **only after** its source notes + synthesis + index +
|
|
5
|
+
log + verification all pass (never before). Common envelope:
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"connector": "git",
|
|
10
|
+
"profile": "default",
|
|
11
|
+
"lastSuccessfulRunAt": "1970-01-01T00:00:00Z",
|
|
12
|
+
"cursor": {},
|
|
13
|
+
"sourceNotes": [],
|
|
14
|
+
"synthesisPages": [],
|
|
15
|
+
"schemaVersion": "1.0.0"
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The post-migration / post-setup verification report is written to
|
|
20
|
+
`state/migration/doctor-report.json` by `/doctor`.
|
package/scripts/build-plugins.sh
CHANGED
|
@@ -24,28 +24,36 @@ inject_version() {
|
|
|
24
24
|
fi
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
# Build
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
echo "
|
|
27
|
+
# Build one plugin: copy plugins/src/<src_name> -> plugins/<out_name>, inject the
|
|
28
|
+
# release version into its Claude manifest, then derive the Codex artifacts.
|
|
29
|
+
build_plugin() {
|
|
30
|
+
local src_name="$1"
|
|
31
|
+
local out_name="$2"
|
|
32
|
+
local src="$SRC_DIR/$src_name"
|
|
33
|
+
if [ ! -d "$src" ]; then
|
|
34
|
+
echo "Skipping plugins/$out_name (no source at plugins/src/$src_name)"
|
|
35
|
+
return 0
|
|
36
|
+
fi
|
|
37
|
+
local out="$PLUGINS_DIR/$out_name"
|
|
38
|
+
rm -rf "$out"
|
|
39
|
+
mkdir -p "$out"
|
|
40
|
+
cp -r "$src/." "$out/"
|
|
41
|
+
inject_version "$out/.claude-plugin/plugin.json"
|
|
42
|
+
node "$ROOT_DIR/scripts/generate-codex-plugin-artifacts.mjs" "$out" "$VERSION"
|
|
43
|
+
echo "Built plugins/$out_name (v$VERSION)"
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# Base plugin
|
|
47
|
+
build_plugin base lisa
|
|
35
48
|
|
|
36
|
-
#
|
|
49
|
+
# Stack-specific plugins (NO base copy)
|
|
37
50
|
STACKS=(typescript expo nestjs cdk harper-fabric rails)
|
|
38
51
|
for stack in "${STACKS[@]}"; do
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
mkdir -p "$OUT"
|
|
47
|
-
cp -r "$STACK_SRC/." "$OUT/"
|
|
48
|
-
inject_version "$OUT/.claude-plugin/plugin.json"
|
|
49
|
-
node "$ROOT_DIR/scripts/generate-codex-plugin-artifacts.mjs" "$OUT" "$VERSION"
|
|
50
|
-
echo "Built plugins/lisa-$stack (v$VERSION)"
|
|
52
|
+
build_plugin "$stack" "lisa-$stack"
|
|
53
|
+
done
|
|
54
|
+
|
|
55
|
+
# Standalone plugins (not language stacks): each builds plugins/src/<name> -> plugins/lisa-<name>
|
|
56
|
+
STANDALONE=(wiki)
|
|
57
|
+
for name in "${STANDALONE[@]}"; do
|
|
58
|
+
build_plugin "$name" "lisa-$name"
|
|
51
59
|
done
|
|
@@ -35,7 +35,7 @@ if ! git diff --quiet -- plugins/; then
|
|
|
35
35
|
echo " overwrites the change." >&2
|
|
36
36
|
echo "" >&2
|
|
37
37
|
echo " Fix:" >&2
|
|
38
|
-
echo " 1. Make your edit under plugins/src/<base|stack>/..." >&2
|
|
38
|
+
echo " 1. Make your edit under plugins/src/<base|stack|standalone (e.g. wiki)>/..." >&2
|
|
39
39
|
echo " 2. Run: bun run build:plugins" >&2
|
|
40
40
|
echo " 3. Commit both plugins/src and the regenerated plugins/lisa*." >&2
|
|
41
41
|
# Leave the tree dirty so the diff is inspectable locally; CI fails on exit.
|
|
@@ -297,6 +297,28 @@ function metadataFor(pluginName) {
|
|
|
297
297
|
"Improve this Rails model",
|
|
298
298
|
],
|
|
299
299
|
},
|
|
300
|
+
"lisa-wiki": {
|
|
301
|
+
displayName: "LLM Wiki",
|
|
302
|
+
description:
|
|
303
|
+
"Distributable LLM Wiki kernel — ingest, query, lint, and maintain a git-native markdown knowledge base across Claude and Codex.",
|
|
304
|
+
shortDescription: "LLM Wiki knowledge base",
|
|
305
|
+
longDescription:
|
|
306
|
+
"A config-driven, git-native LLM Wiki: ingest sources (git, PRs, project-scoped memory, Jira, Slack, docs, …) into durable markdown, query with citations, lint integrity, onboard users, absorb existing documentation, and scaffold domain-expert role subagents. Distributed for both Claude Code and Codex.",
|
|
307
|
+
category: "Productivity",
|
|
308
|
+
capabilities: ["Interactive", "Write"],
|
|
309
|
+
keywords: [
|
|
310
|
+
"wiki",
|
|
311
|
+
"knowledge-base",
|
|
312
|
+
"ingest",
|
|
313
|
+
"documentation",
|
|
314
|
+
"llm-wiki",
|
|
315
|
+
],
|
|
316
|
+
defaultPrompt: [
|
|
317
|
+
"Onboard me to this project",
|
|
318
|
+
"Ingest the latest sources into the wiki",
|
|
319
|
+
"Query the wiki",
|
|
320
|
+
],
|
|
321
|
+
},
|
|
300
322
|
};
|
|
301
323
|
return (
|
|
302
324
|
map[pluginName] ?? {
|