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
Follow these guidelines when naming error classes:
155
155
156
156
- Try to keep names short but descriptive.
157
-
-Prefere not to use `Error`, `Exception`, `Failure` suffixes if possible.
158
-
-Prefere not to use `Internal` or `Environment` in the class names.
157
+
-Prefer not to use `Error`, `Exception`, `Failure` suffixes if possible.
158
+
-Prefer not to use `Internal` or `Environment` in the class names.
159
159
160
160
## Exceptions besides `InternalError`
161
161
162
-
-**Use only `InternalError` for all Donna's internal exceptions, untill the developer or the specification explicitly requires otherwise.**
162
+
-**Use only `InternalError` for all Donna's internal exceptions, until the developer or the specification explicitly requires otherwise.**
163
163
- You MAY use other exception types if the third-party library you are working with requires it. For example, Pydantic models require `ValidationError` exceptions.
164
164
- You MAY use `NotImplementedError` as temporary code when:
165
165
- You need a temporary placeholder for the code that is not implemented yet, but will be in the scope of the current task.
@@ -185,7 +185,7 @@ Don't use `assert` statements for any other purpose, replace them with proper er
185
185
186
186
### Update all calls up the call stack
187
187
188
-
If you modify funtion to return environment errors, you **MUST** update all functions up the call stack that call this function to handle the returned errors properly: process, propagate or output (accoring to the context).
188
+
If you modify function to return environment errors, you **MUST** update all functions up the call stack that call this function to handle the returned errors properly: process, propagate or output (according to the context).
Copy file name to clipboardExpand all lines: .donna/project/core/top_level_architecture.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The code is separated by layers/subsystems into subpackages:
19
19
20
20
-`donna.core` — code that not in the Donna's domain, but required to its functioning: domain-independent utils, basic classes for errors, exceptions and other entities, etc.
21
21
-`donna.domain` — code that is required by all Donna'specific logic: ID classes, common types, etc.
22
-
-`donna.machine` — code that implements the core Donna's logic — how Donna works regardles of external environments, i.e. pure domain behavior.
22
+
-`donna.machine` — code that implements the core Donna's logic — how Donna works regardless of external environments, i.e. pure domain behavior.
23
23
-`donna.world` — code that implements various worlds where Donna can find and manage artifacts: from artifacts discovery to their loading, parsing, updating. Also contains code related to configuration of Donna.
24
24
-`donna.protocol` — code that implements protocol via which Donna's core domain logic interacts with external environments: CLI, API, etc. Includes basic classes for information representing (for the external environments) and its formatting.
25
25
-`donna.cli` — code that implements the `donna` CLI tool, its commands, arguments parsing, etc.
Copy file name to clipboardExpand all lines: .donna/project/intro.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
2
-
# Intoduction to the Donna development
2
+
# Introduction to the Donna development
3
3
4
4
```toml donna
5
5
kind = "donna.lib.specification"
@@ -10,17 +10,17 @@ This document provides an introduction to the Donna project for agents and devel
10
10
11
11
`Donna` is a CLI tool that helps manage the work of AI agents like Codex.
12
12
13
-
It is designed to to invert control flow: instead of agents deciding what to do next, the `donna` tells agents what to do next by following predefined workflows.
13
+
It is designed to invert control flow: instead of agents deciding what to do next, the `donna` tells agents what to do next by following predefined workflows.
14
14
15
-
The core idea is that most of high-level workflows are more algorithmic than it may seem at first glance. For example, it may be difficult to fix a particular type issue in the codebase, but the overall process of polishing the codebase is quite linear:
15
+
The core idea is that most high-level workflows are more algorithmic than it may seem at first glance. For example, it may be difficult to fix a particular type issue in the codebase, but the overall process of polishing the codebase is quite linear:
16
16
17
17
1. Ensure all tests pass.
18
18
2. Ensure the code is formatted correctly.
19
19
3. Ensure there are no linting errors.
20
20
4. Go to the step 1 if you changed something in the process.
21
21
5. Finish.
22
22
23
-
We may need coding agents on the each step of the process, but there no reason for agents to manage the whole grooming loop by themselves — it take longer time, spends tokens and may lead to confusion of agents.
23
+
We may need coding agents on each step of the process, but there is no reason for agents to manage the whole grooming loop by themselves — it takes longer time, spends tokens and may lead to confusion of agents.
Copy file name to clipboardExpand all lines: AGENTS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,10 +6,10 @@ Every agent MUST follow the rules and guidelines outlined in this document when
6
6
7
7
## First actions
8
8
9
-
**You need the Donna tool to work on this project.**
9
+
**You need Donna tool to work on this project.**
10
10
11
11
Since this is the repository that contains the Donna project itself, you have direct access to the Donna CLI tool via `./bin/donna.sh` script.
12
12
13
13
I.e. you develop Donna using Donna.
14
14
15
-
**ALWAYS**perform`./bin/donna.sh -p llm artifacts view "*:intro"` when you start working. It **MUST** be a one time operation. Do not repeat it unless you forget how to use the tool.
15
+
**ALWAYS**run`./bin/donna.sh -p llm artifacts view '*:intro'` when you start working. It **MUST** be a one time operation. Do not repeat it unless you forget how to use the tool.
0 commit comments