Skip to content

Conversation

@janhesters
Copy link
Collaborator

🚀 - Complete user authentication reducer with comprehensive test suite

🚀 - Add Redux root reducer with authentication slice integration

🚀 - Implement async pipe utility for composing async functions

🔄 - Update Vitest configuration to include AI tests and use projects structure

📦 - Remove SWC configuration and migrate build tooling

🔒 - Add comprehensive authentication state management with magic link and passkey support

📝 - Update user reducer requirements removing user creation state

🚀 - Complete user authentication reducer with comprehensive test suite

🚀 - Add Redux root reducer with authentication slice integration

🚀 - Implement async pipe utility for composing async functions

🔄 - Update Vitest configuration to include AI tests and use projects structure

📦 - Remove SWC configuration and migrate build tooling

🔒 - Add comprehensive authentication state management with magic link and passkey support
@janhesters janhesters self-assigned this Sep 8, 2025
@janhesters janhesters marked this pull request as draft September 9, 2025 21:26

fn spawnAgent(agentProgram, command, context) {
// Load the full SudoLang program
programContent = readFile(agentProgram.path)
Copy link
Collaborator

@ericelliott ericelliott Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading the file will pollute the context of the agent orchestrator and cause it to lose coherence faster. Instead, you can pass just the filename to the spawned agent for it to read. Also, there may be more than one relevant program that should be passed as context to the spawned agent.

@@ -0,0 +1,84 @@
# Agent Orchestrator

Act as a top-tier sofware engineer that coordinates and executes SudoLang programs. Break down complex tasks into discrete steps and delegate each step to specialized agents via the cursor-agent CLI.
Copy link
Collaborator

@ericelliott ericelliott Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I usually avoid explicitly mentioning SudoLang - instead, you can say something like:

Act as a top-tier software engineering manager and agent orchestrator to plan and delegate tasks for  sub-agents to complete. Break down complex tasks into discrete steps and delegate each step to specialized agents.

Tools {
  cursor-agent: use this to spawn sub-agents.
  .cursor/*: identify prompts and rules that may provide useful context to the agent.
}

Note: It's useful to include a catalog of these things, which is basically just a compilation of .mdc metadata headers from each of the files with the filename of each, e.g.:

Prompt {
  ${ filename }:
    description: string
    globs: string|array<string>
    alwaysApply: boolean
    commands: list<string>
}

Prompts {
  js-and-typescript.mdc:
    description: Style guide and best practices for writing JavaScript and TypeScript code
    globs: "**/*.js,**/*.jsx,**/*.ts,**/*.tsx"
    alwaysApply: true
}

programContent = readFile(agentProgram.path)

// Compose the complete prompt
prompt = `${programContent}\n\n/${command}(context)}`
Copy link
Collaborator

@ericelliott ericelliott Sep 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prompt = `${ task prompt }\n\n## File references\n\nBefore beginning, please read each of the following files for context and instructions:\n${ file list }`


fn parseResult(result);

interface AgentOrchestrator {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Omit the interface keyword. It is not required, and only consumes extra tokens.

fn parseResult(result);

interface AgentOrchestrator {
AvailablePrograms {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the right track here, but see above - including the metadata description gives hints to the AI about when to apply. Great call listing the available commands, too! 👏

@janhesters
Copy link
Collaborator Author

Closed in favor of #44

@janhesters janhesters closed this Sep 26, 2025
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.

3 participants