You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
14
14
- Added `--repo-id` option to `setup_webhooks` command to restrict setup to a specific repository.
15
15
- Added `allowed_usernames` option to `.daiv.yml` to restrict which users can interact with DAIV on a per-repository basis. Useful for public repositories where you want to limit who can trigger DAIV.
16
16
17
+
### Fixed
18
+
19
+
- Fixed `set -eu pipefail` in shell scripts — `pipefail` is not valid in POSIX `#!/bin/sh`.
20
+
17
21
### Changed
18
22
19
23
- Changed `setup_webhooks` command to only create new webhooks by default, skipping existing ones.
Optional services are available via Docker Compose profiles:
35
+
36
+
-`--profile gitlab` — local GitLab instance and runner
37
+
-`--profile sandbox` — sandbox code executor
38
+
-`--profile mcp` — MCP proxy
39
+
-`--profile full` — all services
40
+
41
+
See the [README](README.md) for full setup details.
42
+
23
43
## Development Guidelines
24
44
25
45
### Code Style
@@ -66,7 +86,7 @@ DAIV uses pytest for testing:
66
86
67
87
### Type Checking
68
88
69
-
We use mypy for static type checking but we don't enforce it, we encourage you to use it to improve your code quality:
89
+
We use [ty](https://github.com/astral-sh/ty) for static type checking but we don't enforce it, we encourage you to use it to improve your code quality:
Copy file name to clipboardExpand all lines: README.md
+43-30Lines changed: 43 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,13 +62,14 @@ DAIV's agent has access to a set of capabilities that make this possible:
62
62
cd daiv
63
63
```
64
64
65
-
2.**Configure Environment**:
66
-
Copy `docker/local/app/config.secrets.env.example` to `docker/local/app/config.secrets.env` and update it with your Git platform credentials (GitLab token or GitHub App credentials), OpenAI API Key, Anthropic API Key, Google API Key, and LangChain API Key.
This creates config files from their templates (`config.secrets.env` and `config.toml`). Edit `docker/local/app/config.secrets.env` and add your API keys — at minimum one LLM provider key (Anthropic, OpenAI, Google, or OpenRouter) and `CODEBASE_GITLAB_AUTH_TOKEN` if using GitLab.
72
+
72
73
3.**Install Dependencies** (optional):
73
74
We use [uv](https://docs.astral.sh/uv/) to manage dependencies on DAIV.
74
75
@@ -79,30 +80,37 @@ DAIV's agent has access to a set of capabilities that make this possible:
79
80
> [!NOTE]
80
81
> This will install the project dependencies into a virtual environment. Useful for running linting outside of Docker or enabling autocompletion in VSCode.
81
82
82
-
4.**Start the Server**:
83
+
4.**Start core services**:
83
84
84
85
```bash
85
86
docker compose up --build
86
87
```
87
88
88
-
This will start all needed services locally. You can access them at:
89
+
This starts the core services (db, redis, app, worker, scheduler). SSL certificates are auto-generated on first run.
89
90
90
91
- DAIV API documentation: https://localhost:8000/api/docs/
91
-
- GitLab (local test repository platform): http://localhost:8929
docker compose --profile gitlab up # local GitLab instance + runner
97
+
docker compose --profile sandbox up # sandbox code executor
98
+
docker compose --profile mcp up # MCP proxy
99
+
docker compose --profile full up # all services
100
+
```
93
101
94
102
> [!NOTE]
95
-
> The local development setup includes a GitLab instance for testing. For GitHub integration, you'll need to use GitHub.com or your own GitHub Enterprise instance.
103
+
> Profiles can be combined: `docker compose --profile gitlab --profile sandbox up`
96
104
97
-
5.**Run the tests** (optional):
105
+
6.**Run the tests** (optional):
98
106
DAIV includes a comprehensive test suite. To run tests with coverage:
99
107
100
108
```bash
101
109
$ docker compose exec -it app bash
102
110
$ make test
103
111
```
104
112
105
-
6.**Run linting** (optional):
113
+
7.**Run linting** (optional):
106
114
To ensure code quality:
107
115
108
116
```bash
@@ -111,37 +119,42 @@ DAIV's agent has access to a set of capabilities that make this possible:
111
119
$ make lint-fix # to automatically fix linting and formatting issues
112
120
```
113
121
114
-
7.**Configure test repository**:
115
-
To be able to test DAIV, you need to configure a test repository on the local GitLab instance (or use your own GitHub repository).
122
+
### Optional: Local GitLab
123
+
124
+
To test DAIV with a local GitLab instance:
125
+
126
+
1.**Start GitLab**:
116
127
117
-
1. First you need to obtain root password to authenticate with [local GitLab](http://localhost:8929):
2. Then you need to configure a personal access token (you can use the root user or create a new user) and add it to the `docker/local/app/config.secrets.env` file.
3. Now you need to create a new project in GitLab and follow the instructions to push your testing code to it.
138
+
3.**Configure a personal access token** at [http://localhost:8929](http://localhost:8929) (use the root user or create a new user) and add it to `docker/local/app/config.secrets.env` as `CODEBASE_GITLAB_AUTH_TOKEN`.
126
139
127
-
> [!TIP]
128
-
> You can import using repository URL, go to `Admin Area` ->`Settings` ->`General` ->`Import and export settings` and check the `Repository by URL` option.
140
+
4.**Create a test project** in GitLab and push your testing code to it.
129
141
130
-
4. After you push/import your code to the repository, you need to set up webhooks and index the repository in DAIV:
142
+
> [!TIP]
143
+
> You can import using repository URL: go to `Admin Area` -> `Settings` -> `General` -> `Import and export settings` and check the `Repository by URL` option.
131
144
132
-
```bash
133
-
# Enter the app container
134
-
$ docker compose exec -it app bash
145
+
5.**Set up webhooks**:
135
146
136
-
# Set up webhooks to trigger automatically DAIV actions. You can disable SSL verification for local development by adding `--disable-ssl-verification` to the command.
> If you get the error `Invalid url given`, go to `Admin Area` -> `Settings` -> `Network` -> `Outbound requests` and check `Allow requests to the local network from webhooks and integrations`.
140
153
141
-
> [!NOTE]
142
-
> If you're getting the error `Invalid url given` when setting up the webhooks on local GitLab, go to `Admin Area` -> `Settings` -> `Network` -> `Outbound requests` and check the `Allow requests to the local network from webhooks and integrations` option.
154
+
6.**Test DAIV** by creating an issue in your repository with the `daiv` label. DAIV will automatically present a plan to address the issue.
143
155
144
-
5. Finally, you can test DAIV by creating an issue in your repository, add `daiv` label to it and see how DAIV will automatically present a plan to address the issue.
156
+
> [!NOTE]
157
+
> For GitHub integration, you'll need to use GitHub.com or your own GitHub Enterprise instance. Set `CODEBASE_CLIENT=github` in `docker/local/app/config.env` and configure the GitHub App credentials.
0 commit comments