@gredescerber/agent-crew 0.0.0-stage → 0.5.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.
Files changed (92) hide show
  1. package/AGENTS.md +24 -0
  2. package/LICENSE +201 -0
  3. package/README.md +411 -2
  4. package/README.ru.md +414 -0
  5. package/adapters/claude/adapter.js +107 -0
  6. package/adapters/codex/adapter.js +101 -0
  7. package/bin/crew.js +60 -0
  8. package/docs/AGENT-SETUP.md +138 -0
  9. package/ecc/profile.json +16 -0
  10. package/evals/README.md +123 -0
  11. package/evals/fixtures/mini-app/README.md +10 -0
  12. package/evals/fixtures/mini-app/contracts/health.json +11 -0
  13. package/evals/fixtures/mini-app/package.json +10 -0
  14. package/evals/fixtures/mini-app/src/cart.js +14 -0
  15. package/evals/fixtures/mini-app/src/handlers.js +16 -0
  16. package/evals/fixtures/mini-app/src/pager.js +7 -0
  17. package/evals/fixtures/mini-app/test/cart.test.js +10 -0
  18. package/evals/fixtures/mini-app/test/handlers.test.js +13 -0
  19. package/evals/fixtures/mini-app/test/pager.test.js +8 -0
  20. package/evals/tasks/add-input-validation.json +15 -0
  21. package/evals/tasks/fix-off-by-one.json +14 -0
  22. package/evals/tasks/handler-per-contract.json +15 -0
  23. package/evals/tasks/judges/add-input-validation.judge.mjs +28 -0
  24. package/evals/tasks/judges/fix-off-by-one.judge.mjs +22 -0
  25. package/evals/tasks/judges/handler-per-contract.judge.mjs +18 -0
  26. package/package.json +46 -4
  27. package/roles/analyst.md +11 -0
  28. package/roles/builder.md +16 -0
  29. package/roles/implementer.md +17 -0
  30. package/roles/integrator.md +12 -0
  31. package/roles/planner.md +19 -0
  32. package/roles/reviewer.md +16 -0
  33. package/roles/scout.md +15 -0
  34. package/skills/crew-brief-analysis/SKILL.md +32 -0
  35. package/skills/crew-kickoff/SKILL.md +77 -0
  36. package/skills/crew-kickoff/task-format.md +215 -0
  37. package/skills/crew-review/SKILL.md +22 -0
  38. package/skills/crew-workflow/SKILL.md +43 -0
  39. package/src/commands/adapters.js +85 -0
  40. package/src/commands/check.js +130 -0
  41. package/src/commands/commit.js +105 -0
  42. package/src/commands/compliance.js +109 -0
  43. package/src/commands/doctor.js +48 -0
  44. package/src/commands/eval.js +507 -0
  45. package/src/commands/github.js +169 -0
  46. package/src/commands/guard.js +101 -0
  47. package/src/commands/init.js +76 -0
  48. package/src/commands/kickoff.js +275 -0
  49. package/src/commands/labels.js +28 -0
  50. package/src/commands/metrics.js +48 -0
  51. package/src/commands/pr.js +211 -0
  52. package/src/commands/shots.js +51 -0
  53. package/src/commands/status.js +48 -0
  54. package/src/commands/task.js +569 -0
  55. package/src/commands/up.js +355 -0
  56. package/src/commands/worker.js +322 -0
  57. package/src/core/config.js +77 -0
  58. package/src/core/exec.js +50 -0
  59. package/src/core/guard.js +248 -0
  60. package/src/core/issues.js +154 -0
  61. package/src/core/lease.js +48 -0
  62. package/src/core/metrics.js +232 -0
  63. package/src/core/output.js +56 -0
  64. package/src/core/prd.js +593 -0
  65. package/src/core/proc.js +52 -0
  66. package/src/core/queue.js +92 -0
  67. package/src/core/registry.js +138 -0
  68. package/src/core/shots.js +68 -0
  69. package/src/core/supervisor.js +56 -0
  70. package/src/core/version.js +44 -0
  71. package/src/mcp/server.js +71 -0
  72. package/templates/labels.json +18 -0
  73. package/templates/mcp.optional.json +23 -0
  74. package/templates/product/.github/ISSUE_TEMPLATE/epic.yml +22 -0
  75. package/templates/product/.github/ISSUE_TEMPLATE/feedback.yml +36 -0
  76. package/templates/product/.github/ISSUE_TEMPLATE/task.yml +62 -0
  77. package/templates/product/.github/pull_request_template.md +16 -0
  78. package/templates/product/.github/workflows/crew-guard.yml +45 -0
  79. package/templates/product/.github/workflows/crew.yml +108 -0
  80. package/templates/product/AGENTS.md +109 -0
  81. package/templates/product/contracts/README.md +8 -0
  82. package/templates/product/docs/architecture.md +41 -0
  83. package/templates/product/docs/brief-analysis.md +62 -0
  84. package/templates/product/docs/brief.md +25 -0
  85. package/templates/product/docs/playbooks/issues.md +91 -0
  86. package/templates/product/docs/playbooks/preflight.md +28 -0
  87. package/templates/product/docs/playbooks/timeline.md +52 -0
  88. package/templates/product/docs/prd.md +58 -0
  89. package/templates/product/events/event.example.json +10 -0
  90. package/templates/product/tests/acceptance/README.md +9 -0
  91. package/templates/stacks/web-fastapi.json +74 -0
  92. package/templates/stacks/web-node.json +70 -0
@@ -0,0 +1,9 @@
1
+ # tests/acceptance/
2
+
3
+ Acceptance tests for tasks' acceptance criteria. The builder writes them in the **first commit** of their task, before the implementation.
4
+
5
+ - One file per task: `test_<issue>_<slug>.*` / `<issue>-<slug>.spec.ts`.
6
+ - You may add new files. **Existing** ones are not changed or deleted: the `crew-guard` check rejects such a PR.
7
+ - The exception is a task whose "Changes acceptance" section lists these files (the `changes_acceptance` field in the PRD). The planner/analyst writes it, usually from human feedback ("login must be by phone, not by email").
8
+ - The reviewer agent checks that every Given/When/Then of the task is covered by a test and that the test is not fitted to the code.
9
+ - For `risk:high` the tests are written by **a different agent** in a separate task, in `tests/pending/<T>/` (CI does not run them there). The main task's executor moves them here unchanged in the first commit: `git mv tests/pending/<T>/* tests/acceptance/`.
@@ -0,0 +1,74 @@
1
+ {
2
+ "about": "React (Vite + TypeScript) + FastAPI (Python, uv). Frontend in web/, backend in api/, OpenAPI contract in contracts/.",
3
+ "areas": {
4
+ "web": [
5
+ "web/**"
6
+ ],
7
+ "api": [
8
+ "api/**"
9
+ ],
10
+ "contracts": [
11
+ "contracts/**"
12
+ ],
13
+ "e2e": [
14
+ "tests/e2e/**",
15
+ "tests/acceptance/**",
16
+ "tests/pending/**"
17
+ ],
18
+ "infra": [
19
+ "infra/**",
20
+ ".github/**",
21
+ "docker-compose.yml"
22
+ ],
23
+ "design": [
24
+ "design/**",
25
+ "web/src/styles/**"
26
+ ],
27
+ "research": [
28
+ "docs/research/**"
29
+ ]
30
+ },
31
+ "scaffold": [
32
+ "npm create vite@latest web -- --template react-ts",
33
+ "uv init --app api && uv add --directory api fastapi uvicorn pydantic && uv add --directory api --dev pytest ruff httpx",
34
+ "npm init playwright@latest -- --quiet tests/e2e"
35
+ ],
36
+ "check": [
37
+ {
38
+ "name": "web-lint",
39
+ "run": "npm --prefix web run lint --if-present",
40
+ "when_exists": "web/package.json"
41
+ },
42
+ {
43
+ "name": "web-types",
44
+ "run": "npm --prefix web exec -- tsc -b web --noEmit",
45
+ "when_exists": "web/tsconfig.json"
46
+ },
47
+ {
48
+ "name": "web-test",
49
+ "run": "npm --prefix web run test --if-present",
50
+ "when_exists": "web/package.json"
51
+ },
52
+ {
53
+ "name": "api-lint",
54
+ "run": "uv run --directory api ruff check .",
55
+ "when_exists": "api/pyproject.toml"
56
+ },
57
+ {
58
+ "name": "api-test",
59
+ "run": "uv run --directory api pytest -q",
60
+ "when_exists": "api/pyproject.toml",
61
+ "ok_exit_codes": [
62
+ 0,
63
+ 5
64
+ ]
65
+ },
66
+ {
67
+ "name": "acceptance",
68
+ "run": "uv run --directory api pytest -q ../tests/acceptance",
69
+ "tests_dir": "tests/acceptance",
70
+ "tests_pattern": "(^test_.*\\.py$)|(_test\\.py$)",
71
+ "timeout_s": 900
72
+ }
73
+ ]
74
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "about": "React (Vite + TypeScript) + Node.js API (Fastify + TypeScript). Everything in one language - faster for agents.",
3
+ "areas": {
4
+ "web": [
5
+ "web/**"
6
+ ],
7
+ "api": [
8
+ "api/**"
9
+ ],
10
+ "contracts": [
11
+ "contracts/**"
12
+ ],
13
+ "e2e": [
14
+ "tests/e2e/**",
15
+ "tests/acceptance/**",
16
+ "tests/pending/**"
17
+ ],
18
+ "infra": [
19
+ "infra/**",
20
+ ".github/**",
21
+ "docker-compose.yml"
22
+ ],
23
+ "design": [
24
+ "design/**",
25
+ "web/src/styles/**"
26
+ ],
27
+ "research": [
28
+ "docs/research/**"
29
+ ]
30
+ },
31
+ "scaffold": [
32
+ "npm create vite@latest web -- --template react-ts",
33
+ "mkdir api && npm --prefix api init -y && npm --prefix api i fastify zod && npm --prefix api i -D typescript tsx vitest @types/node",
34
+ "npm init playwright@latest -- --quiet tests/e2e"
35
+ ],
36
+ "check": [
37
+ {
38
+ "name": "web-lint",
39
+ "run": "npm --prefix web run lint --if-present",
40
+ "when_exists": "web/package.json"
41
+ },
42
+ {
43
+ "name": "web-types",
44
+ "run": "npm --prefix web exec -- tsc -b web --noEmit",
45
+ "when_exists": "web/tsconfig.json"
46
+ },
47
+ {
48
+ "name": "web-test",
49
+ "run": "npm --prefix web run test --if-present",
50
+ "when_exists": "web/package.json"
51
+ },
52
+ {
53
+ "name": "api-types",
54
+ "run": "npm --prefix api exec -- tsc -b api --noEmit",
55
+ "when_exists": "api/tsconfig.json"
56
+ },
57
+ {
58
+ "name": "api-test",
59
+ "run": "npm --prefix api run test --if-present",
60
+ "when_exists": "api/package.json"
61
+ },
62
+ {
63
+ "name": "acceptance",
64
+ "run": "node --test \"tests/acceptance/**/*.test.*js\"",
65
+ "tests_dir": "tests/acceptance",
66
+ "tests_pattern": "\\.test\\.[cm]?js$",
67
+ "timeout_s": 900
68
+ }
69
+ ]
70
+ }