feat(v0.6): AGENTS.md seed + CLAUDE.md shim + handoff + context-archive scaffold
New workspaces get:
- AGENTS.md (always): canonical agent instructions — handoff workflow,
notes-archive convention (~300-500 line trigger), cross-workspace
discovery, do-not-touch warnings. Project variant adds workspace-
structure and git-conventions sections.
- CLAUDE.md shim (claude type only per v0.6 spec §6 — opencode shim
deferred until its instruction-file convention is verified).
- handoff.md: minimal current-state template the agent updates per
session.
- context/notes-archive/.gitkeep: directory pinned for git tracking,
ready for the agent to populate per the archive convention.
seed.ClaudeMD and seed.ClaudeMDProject removed — no callers remain.
Existing workspaces are NOT modified; this is strictly a ctask-new code
path. The seed-wins overlay rule still applies — a user seed dir's
AGENTS.md/CLAUDE.md overrides the built-in.
This commit is contained in:
@@ -2,131 +2,6 @@ package seed
|
||||
|
||||
import "fmt"
|
||||
|
||||
// ClaudeMD returns the built-in default CLAUDE.md content for a task workspace.
|
||||
// Parameters are accepted for API compatibility but are not interpolated in v0.3.
|
||||
func ClaudeMD(slug, category, workspacePath string) string {
|
||||
_ = slug
|
||||
_ = category
|
||||
_ = workspacePath
|
||||
return `# Workspace Guidelines
|
||||
|
||||
This is a ctask workspace. Prefer operating inside this directory unless explicitly instructed otherwise.
|
||||
|
||||
## File Placement
|
||||
|
||||
- Source code and scripts -> workspace root or ` + "`src/`" + `
|
||||
- Documentation, summaries, reports -> ` + "`docs/`" + `
|
||||
- Deliverables and exports -> ` + "`output/`" + `
|
||||
- Reference material and imported files -> ` + "`context/`" + `
|
||||
- Do not place non-code outputs (docs, summaries, exports) in the workspace root
|
||||
|
||||
## Conventions
|
||||
|
||||
- Do not install global packages or modify system files unless asked
|
||||
- Record important assumptions and actions in notes.md
|
||||
- Keep the workspace root clean -- use subdirectories for organization
|
||||
|
||||
## Cross-Workspace Context
|
||||
|
||||
Related work may exist in other ctask workspaces. For project continuation,
|
||||
migration, debugging, or building on prior work, inspect related workspaces
|
||||
before making changes.
|
||||
|
||||
Available commands:
|
||||
|
||||
ctask list --all discover all workspaces, including archived
|
||||
ctask info <workspace> view metadata and status of any workspace
|
||||
ctask notes <workspace> read another workspace's notes.md
|
||||
ctask path <workspace> get the filesystem path to inspect files directly
|
||||
|
||||
Treat other workspaces as read-only unless the user explicitly asks you to
|
||||
modify them.
|
||||
|
||||
## Session Handoff
|
||||
|
||||
Before ending a session, append a brief summary to notes.md with:
|
||||
|
||||
- What was accomplished
|
||||
- Key decisions made
|
||||
- Open follow-ups or unfinished work
|
||||
- How to continue from here
|
||||
|
||||
Keep it concise -- a few bullet points is enough.
|
||||
`
|
||||
}
|
||||
|
||||
// ClaudeMDProject returns the built-in default CLAUDE.md content for a project workspace.
|
||||
func ClaudeMDProject() string {
|
||||
return `# Project Workspace Guidelines
|
||||
|
||||
This is a ctask project workspace -- a long-lived working environment, not a disposable task.
|
||||
|
||||
## Workspace Structure
|
||||
|
||||
This is a ctask project workspace. The workspace root contains ctask management
|
||||
files. Your project code lives in the project subdirectory.
|
||||
|
||||
- Workspace root: ctask metadata, session logs, notes, reference material
|
||||
- Project subdirectory: source code, project CLAUDE.md, project configuration
|
||||
- ` + "`context/`" + `: reference material and imported specs (workspace level)
|
||||
- ` + "`output/`" + `: deliverables and exports (workspace level)
|
||||
- ` + "`logs/`" + `: session logs (managed by ctask)
|
||||
|
||||
When working on project code, operate inside the project subdirectory.
|
||||
Place project-specific CLAUDE.md, documentation, and configuration there.
|
||||
|
||||
## File Placement
|
||||
|
||||
- Source code -> ` + "`src/`" + ` (inside the project subdirectory)
|
||||
- Documentation -> ` + "`docs/`" + ` (workspace level for general notes, project subdir for project docs)
|
||||
- Deliverables and exports -> ` + "`output/`" + ` (workspace level)
|
||||
- Reference material -> ` + "`context/`" + ` (workspace level)
|
||||
- Tests -> ` + "`tests/`" + ` (inside the project subdirectory)
|
||||
- Configuration files -> inside the project subdirectory
|
||||
- Do not place non-code outputs in the workspace root
|
||||
|
||||
## Conventions
|
||||
|
||||
- This project uses git. Commit meaningful changes with clear messages.
|
||||
- Do not install global packages or modify system files unless asked.
|
||||
- Record important assumptions and actions in notes.md (workspace level).
|
||||
- Keep the workspace root clean.
|
||||
|
||||
## Git
|
||||
|
||||
This workspace uses a single git repository initialized at the workspace root.
|
||||
The project subdirectory and all its contents are tracked by this root repo.
|
||||
Do not initialize additional git repositories inside the project subdirectory
|
||||
or any other subdirectory. If you need to check git status or make commits,
|
||||
the repo root is the workspace root.
|
||||
|
||||
## Cross-Workspace Context
|
||||
|
||||
Related work may exist in other ctask workspaces. For project continuation,
|
||||
migration, debugging, or building on prior work, inspect related workspaces
|
||||
before making changes.
|
||||
|
||||
Available commands:
|
||||
|
||||
ctask list --all discover all workspaces, including archived
|
||||
ctask info <workspace> view metadata and status of any workspace
|
||||
ctask notes <workspace> read another workspace's notes.md
|
||||
ctask path <workspace> get the filesystem path to inspect files directly
|
||||
|
||||
Treat other workspaces as read-only unless the user explicitly asks you to
|
||||
modify them.
|
||||
|
||||
## Session Handoff
|
||||
|
||||
Before ending a session, append a brief summary to notes.md with:
|
||||
|
||||
- What was accomplished
|
||||
- Key decisions made
|
||||
- Open follow-ups or unfinished work
|
||||
- How to continue from here
|
||||
`
|
||||
}
|
||||
|
||||
// NotesMD returns the skeleton notes.md content.
|
||||
func NotesMD(title string) string {
|
||||
return fmt.Sprintf(`# %s
|
||||
|
||||
Reference in New Issue
Block a user