removing .donna directory#75
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates Donna’s project/workspace layout away from a .donna/ directory to a root donna.toml configuration file and a configurable session directory (defaulting to .session/donna), updating the CLI, runtime behavior, and documentation/spec artifacts accordingly.
Changes:
- Replace
.donna/config.tomlwith<project-root>/donna.tomland update project root discovery to look fordonna.toml. - Make the session directory configurable via
config().session(default.session/donna) and update all docs/specs to reference@/.session/donna/**. - Update workspace initialization/update flows and user-facing error/help messages to reflect the new layout.
Reviewed changes
Copilot reviewed 40 out of 40 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| specs/work/log_changes.donna.md | Update session artifact scope reference to @/.session/donna/**. |
| specs/intro.donna.md | Update terminology and paths from .donna workspace to donna.toml + configured session dir. |
| specs/core/top_level_architecture.donna.md | Wording updates around “workspace/project” and fixture sync paths. |
| README.md | Update installation/config/session path documentation for donna.toml and .session/donna. |
| donna/workspaces/sessions.py | Session dir now derived from config().session. |
| donna/workspaces/initialization.py | Discover/init/update now based on donna.toml; ensure session dir exists on init. |
| donna/workspaces/errors.py | Update error messages/fields for new config file location and naming. |
| donna/workspaces/config.py | Introduce session config + default; compute session artifact filter dynamically. |
| donna/workspaces/artifacts.py | Remove special-case skip of .donna/tmp during filesystem walk. |
| donna/skills/fixtures/usage.md | Update skill docs to reference donna.toml and configured session dir. |
| donna/skills/fixtures/initialization.md | Update initialization docs for donna.toml + .session/donna. |
| donna/skills/fixtures/configuration.md | Document new config format/keys including session. |
| donna/skills/fixtures/artifacts.md | Update artifact-area docs to .session/donna and donna.toml. |
| donna/fixtures/specs/rfc/work/request.donna.md | Update RFC workflow docs to .session/donna artifact paths. |
| donna/fixtures/specs/rfc/work/plan.donna.md | Update session artifact paths to .session/donna. |
| donna/fixtures/specs/rfc/work/do.donna.md | Update default workflow ids to .session/donna. |
| donna/fixtures/specs/rfc/work/design.donna.md | Update session artifact paths to .session/donna. |
| donna/fixtures/specs/rfc/specs/request_for_change.donna.md | Update required RFC storage path to .session/donna. |
| donna/fixtures/specs/rfc/specs/design.donna.md | Update required Design storage path to .session/donna. |
| donna/fixtures/specs/research/work/research.donna.md | Update session artifact paths to .session/donna. |
| donna/fixtures/specs/research/specs/report.donna.md | Update required research storage path to .session/donna. |
| donna/fixtures/specs/intro.donna.md | Update journal configuration path to donna.toml. |
| donna/core/utils.py | Change project discovery to search for config file instead of .donna dir. |
| donna/core/errors.py | Update ProjectDirNotFound error shape/message for config-file discovery. |
| donna/cli/types.py | Update help text/examples to use .session/donna and donna.toml. |
| donna/cli/commands/workspaces.py | Update CLI help/success messages to “project config/files” wording. |
| donna/cli/commands/artifacts.py | Update CLI help text wording (“Donna project”). |
| donna.toml | Add new root config file with session dir, filters, sources, journal forwarding. |
| .donna/config.toml | Remove legacy config file. |
| .agents/donna/usage/worlds.donna.md | Update references from .donna/config.toml and .donna/session to new paths. |
| .agents/donna/usage/cli.donna.md | Update discovery and example paths to donna.toml / .session/donna. |
| .agents/donna/rfc/work/request.donna.md | Sync RFC workflow docs to .session/donna. |
| .agents/donna/rfc/work/plan.donna.md | Sync RFC plan workflow docs to .session/donna. |
| .agents/donna/rfc/work/do.donna.md | Sync RFC do workflow docs to .session/donna. |
| .agents/donna/rfc/work/design.donna.md | Sync RFC design workflow docs to .session/donna. |
| .agents/donna/rfc/specs/request_for_change.donna.md | Sync RFC spec docs to .session/donna. |
| .agents/donna/rfc/specs/design.donna.md | Sync Design spec docs to .session/donna. |
| .agents/donna/research/work/research.donna.md | Sync research workflow docs to .session/donna. |
| .agents/donna/research/specs/report.donna.md | Sync research spec docs to .session/donna. |
| .agents/donna/intro.donna.md | Update journal config reference to donna.toml. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+138
to
+142
| session_path = self.session.as_posix().strip("/") | ||
| if session_path in {"", "."}: | ||
| return ArtifactIdPattern.parse("@/**/*.donna.md").unwrap() | ||
|
|
||
| return ArtifactIdPattern.parse(f"@/{session_path}/**/*.donna.md").unwrap() |
| session = ".session/donna" | ||
| ``` | ||
|
|
||
| Relative paths are resolved from the project root; absolute paths are used as configured. Use a directory ignored by version control unless a project intentionally tracks session artifacts. |
| 4. Donna will output descriptions of all operations it performs to complete the work. | ||
| 5. Donna will output **action requests** that you MUST perform. You MUST follow these instructions precisely. | ||
| 6. When you done processing an action request, call `donna -p <protocol> sessions action-request-completed <action-request-id> <next-full-operation-id>` to report request completion. `<next-full-operation-id>` MUST contain the full identifier of the next operation, for example `@/.donna/session/execute_rfc.donna.md:review_changes`. | ||
| 6. When you done processing an action request, call `donna -p <protocol> sessions action-request-completed <action-request-id> <next-full-operation-id>` to report request completion. `<next-full-operation-id>` MUST contain the full identifier of the next operation, for example `@/.session/donna/execute_rfc.donna.md:review_changes`. |
Comment on lines
7
to
9
| def dir() -> pathlib.Path: | ||
| return project_dir() / DONNA_DIR_NAME / DONNA_WORLD_SESSION_DIR_NAME | ||
| return project_dir() / config().session | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.