Skip to content

feat!: namespaces, lint mode, and markdown-aware task parsing#209

Draft
swedishborgie wants to merge 1 commit intokitproj:mainfrom
swedishborgie:main
Draft

feat!: namespaces, lint mode, and markdown-aware task parsing#209
swedishborgie wants to merge 1 commit intokitproj:mainfrom
swedishborgie:main

Conversation

@swedishborgie
Copy link
Collaborator

Add multi-team isolation via namespaces, dry-run lint validation, and goldmark-based parsing so slash commands inside code blocks are ignored.

Namespaces:

  • Support namespace/taskname syntax (e.g. myteam/fix-bug) for shared .agents/
  • Tasks, rules, commands, and skills under .agents/namespaces//
  • Namespace assets take precedence over global; rules and skills merge
  • Add docs/how-to/use-namespaces.md and namespace selector in rule frontmatter

Lint mode:

  • Run context assembly without bootstrap or shell execution
  • Track loaded files and collect structural errors (parse, missing commands, skill validation, selector mismatches) in LintResult
  • Add WithLint() option, ListTasks(), and include_unmatched task frontmatter
  • Parse errors include line/column; selector/command errors use task path

Task parser:

  • Integrate goldmark Extension for AST-based code range detection
  • Slash commands in fenced, indented, and HTML code blocks no longer detected
  • ParseMarkdownFile populates Markdown.Task; re-parse only on content change

Infrastructure:

  • Enable golangci-lint with comprehensive linter configuration
  • Fix lint issues across codebase (revive, gosec, wrapcheck, etc.)
  • Add t.Parallel() to tests; expand test coverage
  • Documentation corrections and new how-to guides

Still a draft, have to work out a few additional details.

Add multi-team isolation via namespaces, dry-run lint validation, and
goldmark-based parsing so slash commands inside code blocks are ignored.

Namespaces:
- Support namespace/taskname syntax (e.g. myteam/fix-bug) for shared .agents/
- Tasks, rules, commands, and skills under .agents/namespaces/<team>/
- Namespace assets take precedence over global; rules and skills merge
- Add docs/how-to/use-namespaces.md and namespace selector in rule frontmatter

Lint mode:
- Run context assembly without bootstrap or shell execution
- Track loaded files and collect structural errors (parse, missing commands,
  skill validation, selector mismatches) in LintResult
- Add WithLint() option, ListTasks(), and include_unmatched task frontmatter
- Parse errors include line/column; selector/command errors use task path

Task parser:
- Integrate goldmark Extension for AST-based code range detection
- Slash commands in fenced, indented, and HTML code blocks no longer detected
- ParseMarkdownFile populates Markdown.Task; re-parse only on content change

Infrastructure:
- Enable golangci-lint with comprehensive linter configuration
- Fix lint issues across codebase (revive, gosec, wrapcheck, etc.)
- Add t.Parallel() to tests; expand test coverage
- Documentation corrections and new how-to guides
@swedishborgie swedishborgie marked this pull request as draft March 6, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant