-
-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy path.importlinter
More file actions
85 lines (81 loc) · 2.7 KB
/
Copy path.importlinter
File metadata and controls
85 lines (81 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[importlinter]
root_package = bernstein
# ---------------------------------------------------------------------------
# Contract 1 — adapters are thin wrappers, never scheduler-aware
# ---------------------------------------------------------------------------
[importlinter:contract:adapters-no-scheduler]
name = Adapters must not import scheduler internals
type = forbidden
source_modules =
bernstein.adapters
forbidden_modules =
bernstein.core.tasks
bernstein.core.orchestration
bernstein.core.routing
bernstein.core.quality
ignore_imports =
# ---------------------------------------------------------------------------
# Contract 2 — core should not depend on cli
# ---------------------------------------------------------------------------
[importlinter:contract:core-no-cli]
name = Core must not import CLI
type = forbidden
source_modules =
bernstein.core
forbidden_modules =
bernstein.cli
bernstein.tui
ignore_imports =
bernstein.core.orchestration.activity_summary_poller -> bernstein.tui.activity_tracker
# ---------------------------------------------------------------------------
# Contract 3 — adapters must not import each other (independence)
# ---------------------------------------------------------------------------
[importlinter:contract:adapters-independent]
name = Adapters are independent of one another
type = independence
modules =
bernstein.adapters.aichat
bernstein.adapters.aider
bernstein.adapters.amp
bernstein.adapters.auggie
bernstein.adapters.autohand
bernstein.adapters.charm
bernstein.adapters.claude
bernstein.adapters.cline
bernstein.adapters.clm
bernstein.adapters.cloudflare_agents
bernstein.adapters.codebuff
bernstein.adapters.codex
bernstein.adapters.cody
bernstein.adapters.composio
bernstein.adapters.continue_dev
bernstein.adapters.copilot
bernstein.adapters.cursor
bernstein.adapters.devin_terminal
bernstein.adapters.droid
bernstein.adapters.forge
bernstein.adapters.gemini
bernstein.adapters.generic
bernstein.adapters.goose
bernstein.adapters.gptme
bernstein.adapters.hermes
bernstein.adapters.iac
bernstein.adapters.junie
bernstein.adapters.kilo
bernstein.adapters.kimi
bernstein.adapters.kiro
bernstein.adapters.letta_code
bernstein.adapters.mistral
bernstein.adapters.mock
bernstein.adapters.ollama
bernstein.adapters.open_interpreter
bernstein.adapters.openai_agents
bernstein.adapters.opencode
bernstein.adapters.openhands
bernstein.adapters.pi
bernstein.adapters.plandex
bernstein.adapters.q_dev
bernstein.adapters.qwen
bernstein.adapters.ralphex
bernstein.adapters.rovo
ignore_imports =