@shepai/cli 1.96.0 → 1.97.0-pr288.bd6ff40
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/README.md +148 -357
- package/apis/json-schema/Feature.yaml +1 -1
- package/apis/json-schema/SdlcLifecycle.yaml +1 -0
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +16 -4
- package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts +17 -12
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +64 -31
- package/dist/packages/core/src/domain/generated/output.d.ts +3 -2
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +12 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts +2 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +13 -3
- package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/ls.command.js +9 -2
- package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
- package/dist/src/presentation/web/app/api/agent-events/route.js +1 -0
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +5 -0
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +4 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +11 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +4 -4
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +21 -0
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +53 -16
- package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/sidebar-features-context.js +1 -0
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +27 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +20 -20
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +20 -20
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +25 -25
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
- package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_c757eb00.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_c757eb00.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_7eb49631.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19fb0bfe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__19fb0bfe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24dd0927._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3d6f6b0e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3d6f6b0e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__42020c54._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__845a9d2a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__89e8a5cc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9cb60e1e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_89642645._.js → _0db5b27c._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_89642645._.js.map → _0db5b27c._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js +1 -1
- package/web/.next/server/chunks/ssr/_135edb9c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1bb131c4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_25804645._.js → _52a00806._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_25804645._.js.map → _52a00806._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6e08ce21._.js +1 -1
- package/web/.next/server/chunks/ssr/_6e08ce21._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
- package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_9d8e7a01._.js +3 -0
- package/web/.next/server/chunks/ssr/{_29706078._.js.map → _9d8e7a01._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js +1 -1
- package/web/.next/server/chunks/ssr/_cc77a143._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_3c53a23d._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_3c53a23d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_befd865a.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bf50c527._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_de814675._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ec8c7a4f._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_ec8c7a4f._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +30 -30
- package/web/.next/static/chunks/{2a7239eb16bfe1c6.js → 04ad119023a941f0.js} +1 -1
- package/web/.next/static/chunks/{7ae799537de2a498.js → 09f0be1f181c940c.js} +1 -1
- package/web/.next/static/chunks/{16f95844a435acec.js → 11a89c4efffc1cbe.js} +1 -1
- package/web/.next/static/chunks/{f47c30133739a043.js → 3059a91a567c6cda.js} +1 -1
- package/web/.next/static/chunks/{447660fbaba174d4.js → 5a2def36e6f1480e.js} +1 -1
- package/web/.next/static/chunks/{8a2dfd7720cc95d2.js → 7e6a89d952090960.js} +1 -1
- package/web/.next/static/chunks/{896bf4b2aed373c1.js → 80e0e1e16936282a.js} +1 -1
- package/web/.next/static/chunks/{441c4c4fac0587bc.js → 927930f10d507503.js} +1 -1
- package/web/.next/static/chunks/{062edbb0027f7706.js → e87446b30572cf0d.js} +1 -1
- package/web/.next/static/chunks/{8bae17e4a4833517.js → e9d61af9f22c288e.js} +1 -1
- package/web/.next/static/chunks/{d4a066dfc6f5dab7.js → edc1a6ce7f65fdeb.js} +1 -1
- package/web/.next/server/chunks/ssr/_29706078._.js +0 -3
- /package/web/.next/static/{EPem_w0RRU96dbLFoOYwF → p4oVbIPgv3PIdbTKcUZNM}/_buildManifest.js +0 -0
- /package/web/.next/static/{EPem_w0RRU96dbLFoOYwF → p4oVbIPgv3PIdbTKcUZNM}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{EPem_w0RRU96dbLFoOYwF → p4oVbIPgv3PIdbTKcUZNM}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
# Shep AI
|
|
4
4
|
|
|
5
|
-
###
|
|
5
|
+
### One command. Full lifecycle. Merged PR.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
_Describe a feature in plain English — Shep researches, plans, codes, tests, and opens a PR. You approve when you want to, or let it run hands-free._
|
|
8
8
|
|
|
9
9
|
[](https://github.com/shep-ai/cli/actions/workflows/ci.yml)
|
|
10
10
|
[](https://www.npmjs.com/package/@shepai/cli)
|
|
@@ -17,367 +17,129 @@ _Manage Claude Code, Cursor CLI, or any coding agent across the full development
|
|
|
17
17
|
|
|
18
18
|
<br />
|
|
19
19
|
|
|
20
|
-
[Features](#features) · [Quick Start](#quick-start) · [CLI Reference](#cli) · [Architecture](#architecture) · [Contributing](#contributing)
|
|
20
|
+
[Features](#features) · [Quick Start](#quick-start) · [CLI Reference](#cli-reference) · [Architecture](#architecture) · [Contributing](#contributing)
|
|
21
21
|
|
|
22
22
|
<br />
|
|
23
23
|
|
|
24
|
-
<img src="docs/
|
|
25
|
-
|
|
26
|
-
[](https://shep-ai.github.io/cli/poc/)
|
|
24
|
+
<img src="docs/screenshots/features-guide/01-dashboard-canvas.png" alt="Shep AI — Control Center Dashboard" width="900" />
|
|
27
25
|
|
|
28
26
|
</div>
|
|
29
27
|
|
|
30
|
-
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Quick Start
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
+
# 1. Install
|
|
33
34
|
npm i -g @shepai/cli
|
|
34
|
-
```
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
# 2. Run Shep — completes setup on first run, then opens the web UI
|
|
37
|
+
shep
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
cd your-project/
|
|
40
|
-
shep feat new "Add unit tests for all source files"
|
|
39
|
+
# 3. Browser opens at http://localhost:4050 — you're in
|
|
41
40
|
```
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
<summary><b>List features</b> — <code>shep feat ls</code></summary>
|
|
45
|
-
<br />
|
|
42
|
+
---
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
Features for /home/user/projects/my-app
|
|
44
|
+
## Features
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
```bash
|
|
47
|
+
shep feat new "add stripe payments" --allow-all --push --pr
|
|
48
|
+
# ↳ PRD → research → plan → code → tests → PR → CI watch — done.
|
|
52
49
|
```
|
|
53
50
|
|
|
54
|
-
|
|
51
|
+
- **Full lifecycle in one shot** — From idea to merged PR: requirements, technical research, implementation plan, code with tests, PR creation, and CI fix loop
|
|
52
|
+
- **Approve or go hands-free** — Three review gates (PRD, Plan, Merge) you can enable, disable, or skip entirely with `--allow-all`
|
|
53
|
+
- **Run 10 features in parallel** — Each gets its own git worktree — switch context instantly, no stashing, no branch juggling, no conflicts
|
|
54
|
+
- **Pick your agent** — Claude Code, Cursor CLI, or Gemini CLI — swap per feature, per repo, anytime
|
|
55
|
+
- **Live dashboard** — Interactive graph of every repo and feature — review diffs, approve merges, launch dev servers, all in-browser
|
|
56
|
+
- **100% local, zero signup** — SQLite in `~/.shep/`, nothing leaves your machine, no account needed
|
|
55
57
|
|
|
56
|
-
|
|
57
|
-
<summary><b>Show feature detail</b> — <code>shep feat show 1b0a7969</code></summary>
|
|
58
|
-
<br />
|
|
58
|
+
> **[See the full Features Guide with screenshots →](./docs/FEATURES.md)**
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
Feature: Add Unit Tests
|
|
62
|
-
|
|
63
|
-
ID 1b0a7969-b420-4754-832f-5c38801b4852
|
|
64
|
-
Slug add-unit-tests
|
|
65
|
-
Description Add comprehensive unit tests for all existing source files
|
|
66
|
-
in the project to ensure code correctness and improve test coverage.
|
|
67
|
-
Repository /home/user/projects/my-app
|
|
68
|
-
Branch feat/add-unit-tests
|
|
69
|
-
Status ✓ Completed
|
|
70
|
-
Worktree ~/.shep/repos/9bbd30de/wt/feat-add-unit-tests
|
|
71
|
-
Spec Dir ~/.shep/repos/9bbd30de/wt/feat-add-unit-tests/specs/001-add-unit-tests
|
|
72
|
-
Agent Run 732a1fc2-a346-4052-a028-dcb1a46b6f2c
|
|
73
|
-
|
|
74
|
-
Timestamps
|
|
75
|
-
Created 2/13/2026, 12:15:08 AM
|
|
76
|
-
Updated 2/13/2026, 12:15:08 AM
|
|
77
|
-
```
|
|
60
|
+
---
|
|
78
61
|
|
|
79
|
-
|
|
62
|
+
## CLI Reference
|
|
80
63
|
|
|
81
|
-
|
|
82
|
-
<summary><b>Isolated worktree per feature</b> — no stashing, no branch switching</summary>
|
|
83
|
-
<br />
|
|
84
|
-
|
|
85
|
-
Each feature gets its own git worktree — fully isolated from your main branch.
|
|
64
|
+
### Daemon
|
|
86
65
|
|
|
87
66
|
```
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
│ ├── feature.yaml # status tracking
|
|
95
|
-
│ ├── spec.yaml # requirements & scope
|
|
96
|
-
│ ├── research.yaml # technical decisions
|
|
97
|
-
│ ├── plan.yaml # implementation strategy
|
|
98
|
-
│ └── tasks.yaml # task breakdown
|
|
99
|
-
├── pyproject.toml
|
|
100
|
-
└── README.md
|
|
67
|
+
shep Start daemon + onboarding (first run)
|
|
68
|
+
shep start [--port <number>] Start web UI daemon (background, default port 4050)
|
|
69
|
+
shep stop Stop the running daemon
|
|
70
|
+
shep restart Restart the daemon
|
|
71
|
+
shep status Show daemon status and live metrics
|
|
72
|
+
shep ui [--port] [--no-open] Start the web UI in the foreground
|
|
101
73
|
```
|
|
102
74
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<details>
|
|
106
|
-
<summary><b>Auto-generated spec files</b> — real output from a single <code>shep feat new</code></summary>
|
|
107
|
-
<br />
|
|
108
|
-
|
|
109
|
-
> **`spec.yaml`** — requirements & scope
|
|
110
|
-
|
|
111
|
-
```yaml
|
|
112
|
-
name: add-unit-tests
|
|
113
|
-
oneLiner: Add comprehensive unit tests for all source modules
|
|
114
|
-
summary: >
|
|
115
|
-
Add unit tests for every module in the package. The project currently has
|
|
116
|
-
minimal test coverage (only 7 tests total). This feature adds tests for
|
|
117
|
-
config, agents, flows, tools, observability, and CLI — using pytest with
|
|
118
|
-
mocking to avoid external dependencies.
|
|
119
|
-
sizeEstimate: M
|
|
120
|
-
openQuestions:
|
|
121
|
-
- question: 'Should we set a minimum coverage threshold and enforce it in CI?'
|
|
122
|
-
resolved: true
|
|
123
|
-
answer: >
|
|
124
|
-
Set 70% minimum via --cov-fail-under=70. Achievable and prevents regression.
|
|
125
|
-
```
|
|
75
|
+
### Feature Management
|
|
126
76
|
|
|
127
|
-
> **`research.yaml`** — technical decisions with rationale
|
|
128
|
-
|
|
129
|
-
```yaml
|
|
130
|
-
decisions:
|
|
131
|
-
- title: 'Test Framework'
|
|
132
|
-
chosen: 'pytest (already configured)'
|
|
133
|
-
rejected:
|
|
134
|
-
- 'unittest — More verbose, no fixture system'
|
|
135
|
-
- 'nose2 — Unmaintained, no advantage'
|
|
136
|
-
rationale: >
|
|
137
|
-
Already a dev dependency with asyncio and coverage plugins configured.
|
|
138
|
-
|
|
139
|
-
- title: 'Mocking Library'
|
|
140
|
-
chosen: 'unittest.mock (stdlib)'
|
|
141
|
-
rejected:
|
|
142
|
-
- 'pytest-mock — Adds a dependency for marginal convenience'
|
|
143
|
-
rationale: >
|
|
144
|
-
patch() for module-level replacement, MagicMock for spec objects,
|
|
145
|
-
assert_called_with for verification. No new dependency needed.
|
|
146
77
|
```
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
tdd:
|
|
160
|
-
red: ['Write test_smoke.py that imports fixtures and asserts properties']
|
|
161
|
-
green: ['Implement conftest.py with all three fixtures']
|
|
162
|
-
refactor: ['Remove smoke test — subsumed by real test files']
|
|
163
|
-
|
|
164
|
-
- id: task-3
|
|
165
|
-
title: 'Test config/llm.py'
|
|
166
|
-
dependencies: [task-1]
|
|
167
|
-
acceptanceCriteria:
|
|
168
|
-
- 'test_create_llm_with_openai_provider: verifies model, temperature, api_key'
|
|
169
|
-
- 'test_create_llm_with_cursor_provider: verifies base_url included'
|
|
170
|
-
- 'test_get_fast_llm: calls create_llm with settings.fast_model'
|
|
171
|
-
tdd:
|
|
172
|
-
red: ['Patch LLM and get_settings, assert constructor kwargs']
|
|
173
|
-
green: ['Tests pass — they verify existing code with mocks']
|
|
174
|
-
refactor: ['Extract common patch decorators if repetitive']
|
|
78
|
+
shep feat new <description> Create a new feature
|
|
79
|
+
[--repo] [--push] [--pr]
|
|
80
|
+
[--allow-prd] [--allow-plan] [--allow-merge] [--allow-all]
|
|
81
|
+
[--parent] [--fast] [--model] [--attach]
|
|
82
|
+
shep feat ls [--repo] List features
|
|
83
|
+
shep feat show <id> Show feature details
|
|
84
|
+
shep feat del <id> Delete a feature
|
|
85
|
+
shep feat resume <id> Resume a paused feature
|
|
86
|
+
shep feat review <id> Review a feature
|
|
87
|
+
shep feat approve <id> [--comments] Approve a feature
|
|
88
|
+
shep feat reject <id> [--feedback] Reject a feature
|
|
89
|
+
shep feat logs <id> View feature logs
|
|
175
90
|
```
|
|
176
91
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
```yaml
|
|
180
|
-
feature:
|
|
181
|
-
id: '001-add-unit-tests'
|
|
182
|
-
branch: 'feat/001-add-unit-tests'
|
|
183
|
-
lifecycle: 'research'
|
|
92
|
+
### Agent Management
|
|
184
93
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
94
|
+
```
|
|
95
|
+
shep agent ls List agents
|
|
96
|
+
shep agent show <id> Show agent details
|
|
97
|
+
shep agent stop <id> Stop a running agent
|
|
98
|
+
shep agent logs <id> View agent logs
|
|
99
|
+
shep agent delete <id> Delete an agent
|
|
100
|
+
shep agent approve <id> Approve an agent action
|
|
101
|
+
shep agent reject <id> Reject an agent action
|
|
189
102
|
```
|
|
190
103
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
Running AI agents is easy. **Managing many of them through a full SDLC is the hard part.** Shep gives you a control center that handles the entire lifecycle — requirements gathering, planning, implementation, QA, and deployment — across multiple agent sessions running in parallel. See what each agent is doing, jump into any session's web preview, code editor, or terminal, approve plans when agents need your input, and let them keep working while you move on. Plug in Claude Code, Cursor CLI, Gemini CLI, or any coding agent. Each feature gets its own isolated worktree and dev environment. You manage the lifecycle, agents do the work.
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Features
|
|
200
|
-
|
|
201
|
-
> 🚧 **Under active development** — Web UI screenshots are from the design spec. Core CLI (`feat new`, `feat ls`, `feat show`, `settings`, `ui`, `start`, `stop`, `status`) works today. The `mem` command is still WIP.
|
|
202
|
-
|
|
203
|
-
<table>
|
|
204
|
-
<tr>
|
|
205
|
-
<td width="55%"><img src="docs/poc/imgs/01-features-control-center-overview.png" alt="Feature properties with attachments and metadata" /></td>
|
|
206
|
-
<td width="45%">
|
|
207
|
-
|
|
208
|
-
### Feature Properties & Attachments
|
|
209
|
-
|
|
210
|
-
- **Rich feature detail panel** with name, description, and metadata
|
|
211
|
-
- **File attachments** — requirements PDFs, mockup images, API specs linked directly to features
|
|
212
|
-
- **Team & metadata** tracking for ownership and collaboration
|
|
213
|
-
- **Dependency mapping** between features across repos
|
|
214
|
-
- **Iterative refinement** — update properties as requirements evolve through the lifecycle
|
|
215
|
-
|
|
216
|
-
</td>
|
|
217
|
-
</tr>
|
|
218
|
-
|
|
219
|
-
<tr>
|
|
220
|
-
<td width="55%"><img src="docs/poc/imgs/02-feature-card-action-toolbar.png" alt="Feature card with action toolbar" /></td>
|
|
221
|
-
<td width="45%">
|
|
222
|
-
|
|
223
|
-
### Feature Cards with Quick Actions
|
|
224
|
-
|
|
225
|
-
- **One-click dev server** launch directly from any card
|
|
226
|
-
- **Action toolbar** — GitHub, web preview, terminal, code editor at your fingertips
|
|
227
|
-
- **Live progress** tracking with percentage and lifecycle stage badge
|
|
228
|
-
- **Unique IDs** for instant cross-referencing across CLI and UI
|
|
229
|
-
|
|
230
|
-
</td>
|
|
231
|
-
</tr>
|
|
232
|
-
|
|
233
|
-
<tr>
|
|
234
|
-
<td width="55%"><img src="docs/poc/imgs/03-requirements-discovery-validation.png" alt="Requirements discovery questionnaire" /></td>
|
|
235
|
-
<td width="45%">
|
|
236
|
-
|
|
237
|
-
### AI-Guided Requirements Discovery
|
|
238
|
-
|
|
239
|
-
- **Smart questionnaires** that surface the right questions for your feature
|
|
240
|
-
- **Categorized inputs** — business, technical, and UX problem classification
|
|
241
|
-
- **Priority tiers** (P1–P3) with clear impact descriptions
|
|
242
|
-
- **Domain tagging** to scope the affected areas of your codebase
|
|
243
|
-
- **Human breakpoint** — agent pauses here until you finalize
|
|
244
|
-
|
|
245
|
-
</td>
|
|
246
|
-
</tr>
|
|
247
|
-
|
|
248
|
-
<tr>
|
|
249
|
-
<td width="55%"><img src="docs/poc/imgs/04-technical-implementation-plan-review.png" alt="Technical plan review with architecture decisions" /></td>
|
|
250
|
-
<td width="45%">
|
|
251
|
-
|
|
252
|
-
### Technical Plan Review
|
|
253
|
-
|
|
254
|
-
- **AI-generated implementation plans** with full architecture rationale
|
|
255
|
-
- **Technical decision cards** — see the chosen approach and alternatives side-by-side
|
|
256
|
-
- **Architecture pattern selection** (microservices, monolith, serverless) with trade-off analysis
|
|
257
|
-
- **Approve & continue** or send back for revision — you control the direction
|
|
258
|
-
|
|
259
|
-
</td>
|
|
260
|
-
</tr>
|
|
261
|
-
|
|
262
|
-
<tr>
|
|
263
|
-
<td width="55%"><img src="docs/poc/imgs/05-plan-review-tasks-and-artifacts.png" alt="Task breakdown and generated artifacts" /></td>
|
|
264
|
-
<td width="45%">
|
|
265
|
-
|
|
266
|
-
### Tasks & Generated Artifacts
|
|
267
|
-
|
|
268
|
-
- **Auto-generated documents** — plan.md, tasks.md, data_model.md created from your approved spec
|
|
269
|
-
- **Task breakdown** with dependency tracking and status badges
|
|
270
|
-
- **Artifact browser** — inspect any generated document directly in the panel
|
|
271
|
-
- **Draft indicator** — nothing ships until you explicitly approve
|
|
272
|
-
|
|
273
|
-
</td>
|
|
274
|
-
</tr>
|
|
275
|
-
|
|
276
|
-
<tr>
|
|
277
|
-
<td width="55%"><img src="docs/poc/imgs/06-qa-check-review.png" alt="QA checklist with all checks passing" /></td>
|
|
278
|
-
<td width="45%">
|
|
279
|
-
|
|
280
|
-
### Quality Assurance Gate
|
|
281
|
-
|
|
282
|
-
- **Automated QA checklist** — functional, performance, compatibility, accessibility
|
|
283
|
-
- **Performance benchmarks** — API response time p95 thresholds
|
|
284
|
-
- **WCAG 2.5** accessibility compliance verification
|
|
285
|
-
- **One-click Pass QA** when all checks are green
|
|
286
|
-
|
|
287
|
-
</td>
|
|
288
|
-
</tr>
|
|
289
|
-
|
|
290
|
-
<tr>
|
|
291
|
-
<td width="55%"><img src="docs/poc/imgs/07-dev-environment-web-preview.png" alt="Integrated web preview in dev environment" /></td>
|
|
292
|
-
<td width="45%">
|
|
293
|
-
|
|
294
|
-
### Integrated Dev Environment — Web Preview
|
|
295
|
-
|
|
296
|
-
- **Live localhost preview** embedded in the control center
|
|
297
|
-
- **Isolated ports** — each feature runs its own dev server
|
|
298
|
-
- **Server status** indicator with start/stop controls
|
|
299
|
-
- **Open in Browser** for full-screen testing
|
|
300
|
-
- **PR context** — branch, worktree path, and PR link always visible
|
|
301
|
-
|
|
302
|
-
</td>
|
|
303
|
-
</tr>
|
|
304
|
-
|
|
305
|
-
<tr>
|
|
306
|
-
<td width="55%"><img src="docs/poc/imgs/08-dev-environment-vscode-tab.png" alt="Embedded VS Code editor in dev environment" /></td>
|
|
307
|
-
<td width="45%">
|
|
308
|
-
|
|
309
|
-
### Integrated Dev Environment — Code Editor
|
|
310
|
-
|
|
311
|
-
- **Embedded VS Code** with full editor capabilities
|
|
312
|
-
- **Git worktree isolation** — each feature in its own directory, no branch conflicts
|
|
313
|
-
- **File explorer** with project structure at a glance
|
|
314
|
-
- **PR badge** with commits ahead/behind and changed file count
|
|
315
|
-
- **Zero context-switch** — edit code without leaving the control center
|
|
316
|
-
|
|
317
|
-
</td>
|
|
318
|
-
</tr>
|
|
319
|
-
|
|
320
|
-
<tr>
|
|
321
|
-
<td width="55%"><img src="docs/poc/imgs/09-dev-environment-terminal-tab.png" alt="Terminal tab showing running dev server" /></td>
|
|
322
|
-
<td width="45%">
|
|
323
|
-
|
|
324
|
-
### Integrated Dev Environment — Terminal
|
|
325
|
-
|
|
326
|
-
- **Full terminal access** inside the feature workspace
|
|
327
|
-
- **Build output, test results, agent logs** in one place
|
|
328
|
-
- **Pre-configured** in the feature's worktree directory
|
|
329
|
-
- **Dev server output** — see Next.js/Vite/Express startup and compile times
|
|
330
|
-
- **Three-tab workflow** — preview, code, and terminal without leaving the UI
|
|
331
|
-
|
|
332
|
-
</td>
|
|
333
|
-
</tr>
|
|
334
|
-
</table>
|
|
335
|
-
|
|
336
|
-
---
|
|
104
|
+
### Repository & Session Management
|
|
337
105
|
|
|
338
|
-
|
|
106
|
+
```
|
|
107
|
+
shep repo ls List repositories
|
|
108
|
+
shep repo show <id> Show repository details
|
|
109
|
+
shep session ls List sessions
|
|
110
|
+
shep session show <id> Show session details
|
|
111
|
+
```
|
|
339
112
|
|
|
340
|
-
|
|
341
|
-
# 1. Install
|
|
342
|
-
npm i -g @shepai/cli
|
|
113
|
+
### Settings
|
|
343
114
|
|
|
344
|
-
|
|
345
|
-
shep
|
|
346
|
-
|
|
347
|
-
|
|
115
|
+
```
|
|
116
|
+
shep settings Launch setup wizard
|
|
117
|
+
shep settings show Display current configuration
|
|
118
|
+
shep settings init Initialize settings
|
|
119
|
+
shep settings agent Configure AI coding agent
|
|
120
|
+
shep settings ide Configure IDE
|
|
121
|
+
shep settings workflow Configure workflow
|
|
122
|
+
shep settings model Configure model
|
|
348
123
|
```
|
|
349
124
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
`shep` runs the web UI as a background daemon so your terminal stays free. Use these commands to manage it:
|
|
125
|
+
### Tools
|
|
353
126
|
|
|
354
|
-
```
|
|
355
|
-
shep
|
|
356
|
-
shep
|
|
357
|
-
shep
|
|
127
|
+
```
|
|
128
|
+
shep tools list List tools with install status
|
|
129
|
+
shep install <tool> [--how] Install a dev tool
|
|
130
|
+
shep ide-open [--ide] [--dir] Open IDE in directory
|
|
358
131
|
```
|
|
359
132
|
|
|
360
|
-
|
|
133
|
+
### Other
|
|
361
134
|
|
|
362
135
|
```
|
|
363
|
-
shep
|
|
364
|
-
shep
|
|
365
|
-
shep
|
|
366
|
-
shep status Show daemon status and live metrics
|
|
367
|
-
shep feat new <description> Create a new feature
|
|
368
|
-
shep feat new --interactive Interactive mode with human checkpoints
|
|
369
|
-
shep feat new --allow-all Full autonomous mode
|
|
370
|
-
shep feat ls List features across repos
|
|
371
|
-
shep feat show <id> Show feature details
|
|
372
|
-
shep feat preview <id> Preview feature dev environment
|
|
373
|
-
shep ui Start the web UI in the foreground
|
|
374
|
-
shep settings show Display current configuration
|
|
375
|
-
shep settings agent Configure AI coding agent
|
|
376
|
-
shep mem add <text> --global|--repo Add agent memory
|
|
377
|
-
shep mem ls List memories
|
|
378
|
-
shep version Version info
|
|
136
|
+
shep version Show version info
|
|
137
|
+
shep upgrade Upgrade to latest version
|
|
138
|
+
shep run <agent> [-p prompt] [-r repo] [-s] Run an agent directly
|
|
379
139
|
```
|
|
380
140
|
|
|
141
|
+
---
|
|
142
|
+
|
|
381
143
|
## Architecture
|
|
382
144
|
|
|
383
145
|
Clean Architecture with four layers. Dependencies point inward — domain has zero external deps.
|
|
@@ -387,7 +149,7 @@ flowchart TB
|
|
|
387
149
|
P["<b>Presentation</b><br/>CLI · Web UI · TUI"]
|
|
388
150
|
A["<b>Application</b><br/>Use Cases · Orchestration · Ports"]
|
|
389
151
|
D["<b>Domain</b><br/>Entities · Value Objects · Services"]
|
|
390
|
-
I["<b>Infrastructure</b><br/>SQLite · LangGraph ·
|
|
152
|
+
I["<b>Infrastructure</b><br/>SQLite · LangGraph · DI"]
|
|
391
153
|
|
|
392
154
|
P --> A --> D
|
|
393
155
|
I --> A
|
|
@@ -398,62 +160,91 @@ flowchart TB
|
|
|
398
160
|
style I fill:#ede9fe,stroke:#8b5cf6,color:#4c1d95
|
|
399
161
|
```
|
|
400
162
|
|
|
163
|
+
| Layer | Path | Responsibility |
|
|
164
|
+
| -------------- | ----------------------------------- | ------------------------------------------------- |
|
|
165
|
+
| Domain | `packages/core/src/domain/` | Business logic, TypeSpec-generated types |
|
|
166
|
+
| Application | `packages/core/src/application/` | Use cases, output port interfaces |
|
|
167
|
+
| Infrastructure | `packages/core/src/infrastructure/` | SQLite repos, LangGraph agents, DI (tsyringe) |
|
|
168
|
+
| Presentation | `src/presentation/` | CLI (Commander), TUI (Inquirer), Web UI (Next.js) |
|
|
169
|
+
|
|
401
170
|
### Feature Lifecycle
|
|
402
171
|
|
|
403
|
-
Every feature progresses through a structured SDLC pipeline:
|
|
172
|
+
Every feature progresses through a structured SDLC pipeline with 9 states:
|
|
404
173
|
|
|
405
174
|
```
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
breakpoint breakpoint check gate
|
|
175
|
+
Started -> Analyze -> Requirements -> Research -> Planning -> Implementation -> Review -> Maintain
|
|
176
|
+
|
|
|
177
|
+
(Blocked)
|
|
410
178
|
```
|
|
411
179
|
|
|
412
|
-
|
|
180
|
+
Human approval gates are configurable at PRD, Plan, and Merge phases. In `--allow-all` mode the agent handles everything autonomously.
|
|
413
181
|
|
|
414
182
|
### Tech Stack
|
|
415
183
|
|
|
416
|
-
| Component | Technology
|
|
417
|
-
| --------------- |
|
|
418
|
-
| Language | TypeScript
|
|
419
|
-
| Package Manager | pnpm
|
|
420
|
-
| CLI Framework | Commander
|
|
421
|
-
| TUI Framework | [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js)
|
|
422
|
-
| Web UI | Next.js 16 + React 19 + shadcn/ui
|
|
423
|
-
|
|
|
424
|
-
|
|
|
425
|
-
|
|
|
426
|
-
|
|
|
427
|
-
|
|
|
428
|
-
|
|
|
429
|
-
|
|
|
430
|
-
|
|
|
184
|
+
| Component | Technology |
|
|
185
|
+
| --------------- | ------------------------------------------------------------------------- |
|
|
186
|
+
| Language | TypeScript (ES2022) |
|
|
187
|
+
| Package Manager | pnpm |
|
|
188
|
+
| CLI Framework | Commander |
|
|
189
|
+
| TUI Framework | [@inquirer/prompts](https://github.com/SBoudrias/Inquirer.js) |
|
|
190
|
+
| Web UI | Next.js 16 + React 19 + shadcn/ui + Tailwind CSS 4 |
|
|
191
|
+
| Graph Viz | React Flow (XYFlow) 12 |
|
|
192
|
+
| Design System | Storybook 8.x |
|
|
193
|
+
| Build Tool | tsc + tsc-alias (prod), tsx (CLI dev), Next.js (web dev) |
|
|
194
|
+
| Database | SQLite (better-sqlite3, per-repo) |
|
|
195
|
+
| Domain Models | TypeSpec -> generated TypeScript |
|
|
196
|
+
| Agent System | [LangGraph](https://www.langchain.com/langgraph) (`@langchain/langgraph`) |
|
|
197
|
+
| DI Container | tsyringe |
|
|
198
|
+
| Testing | Vitest (unit/integration) + Playwright (e2e) |
|
|
199
|
+
| Methodology | TDD (Red-Green-Refactor) |
|
|
200
|
+
|
|
201
|
+
### Supported Tools
|
|
202
|
+
|
|
203
|
+
Shep can detect, install, and manage the following tools:
|
|
204
|
+
|
|
205
|
+
| Category | Tools |
|
|
206
|
+
| ---------- | --------------------------------------------------------------------------------- |
|
|
207
|
+
| IDEs | Alacritty, Antigravity, Cursor, iTerm2, Kitty, TMux, VS Code, Warp, Windsurf, Zed |
|
|
208
|
+
| CLI Agents | Claude Code, Cursor CLI, Gemini CLI |
|
|
209
|
+
| Dev Tools | Git, GitHub CLI |
|
|
210
|
+
|
|
211
|
+
### Web UI
|
|
212
|
+
|
|
213
|
+
The web dashboard runs at `http://localhost:4050` and provides:
|
|
214
|
+
|
|
215
|
+
- **Dashboard canvas** — Interactive React Flow graph with feature and repository nodes
|
|
216
|
+
- **Feature drawer** — Tabs for overview, activity, approval, rejection, PR info, deployment, and timeline
|
|
217
|
+
- **Create feature form** — Start new features from the UI
|
|
218
|
+
- **Settings, Tools, Skills, and Version pages**
|
|
219
|
+
- **Real-time updates** via Server-Sent Events (SSE)
|
|
431
220
|
|
|
432
221
|
### Data Model
|
|
433
222
|
|
|
434
223
|
```
|
|
435
|
-
Repository
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
└── Analysis docs (cached)
|
|
224
|
+
Repository --+-- Feature --+-- Plan --+-- Task -- ActionItem
|
|
225
|
+
| | +-- Artifact
|
|
226
|
+
| +-- Requirement -- Research
|
|
439
227
|
```
|
|
440
228
|
|
|
441
229
|
All data lives locally in `~/.shep/`. Per-repo SQLite databases. No cloud dependency.
|
|
442
230
|
|
|
231
|
+
---
|
|
232
|
+
|
|
443
233
|
## Documentation
|
|
444
234
|
|
|
445
|
-
| Document | Description
|
|
446
|
-
| -------------------------------------------------- |
|
|
447
|
-
| [
|
|
448
|
-
| [
|
|
449
|
-
| [
|
|
450
|
-
| [
|
|
451
|
-
| [
|
|
452
|
-
| [
|
|
453
|
-
| [
|
|
454
|
-
| [
|
|
455
|
-
| [
|
|
456
|
-
| [
|
|
235
|
+
| Document | Description |
|
|
236
|
+
| -------------------------------------------------- | ------------------------------------------ |
|
|
237
|
+
| [Features Guide](./docs/FEATURES.md) | Full features overview with screenshots |
|
|
238
|
+
| [Competitive Landscape](./docs/competitors/) | How Shep fits in the AI dev tool ecosystem |
|
|
239
|
+
| [CLAUDE.md](./CLAUDE.md) | Guidance for Claude Code instances |
|
|
240
|
+
| [AGENTS.md](./AGENTS.md) | Agent system architecture |
|
|
241
|
+
| [CONTRIBUTING-AGENTS.md](./CONTRIBUTING-AGENTS.md) | AI agent contribution guidelines |
|
|
242
|
+
| [Architecture](./docs/architecture/) | System design and patterns |
|
|
243
|
+
| [Concepts](./docs/concepts/) | Core domain concepts |
|
|
244
|
+
| [UI](./docs/ui/) | Web UI architecture and design system |
|
|
245
|
+
| [Guides](./docs/guides/) | User guides and tutorials |
|
|
246
|
+
| [Development](./docs/development/) | Contributing and development setup |
|
|
247
|
+
| [API Reference](./docs/api/) | Interface and model documentation |
|
|
457
248
|
|
|
458
249
|
## Contributing
|
|
459
250
|
|