Skip to content

feat: add Stakpak as a supported AI provider#28

Open
noureldin-azzab wants to merge 1 commit intoryanstephen:mainfrom
noureldin-azzab:add-stakpak-provider
Open

feat: add Stakpak as a supported AI provider#28
noureldin-azzab wants to merge 1 commit intoryanstephen:mainfrom
noureldin-azzab:add-stakpak-provider

Conversation

@noureldin-azzab
Copy link
Copy Markdown

Adds StakpakSession.swift which integrates the Stakpak CLI as a fifth provider alongside Claude, Codex, Copilot, and Gemini.

How it works:

  • Spawns stakpak -a --max-steps 20 --config <path> as a subprocess per message, using the same Process/Pipe pattern as the other sessions
  • Passes --config with an absolute path to ensure the config is found when launched outside a login shell environment
  • Preserves multi-turn context by prepending conversation history into the prompt on each invocation
  • Strips ANSI escape codes, box-drawing chrome (┌─ │ └─), the Session Usage table, and internal [warning]/[info] lines from stdout before rendering in the terminal view

Changes:

  • LilAgents/StakpakSession.swift — new session implementation (194 lines)
  • LilAgents/AgentSession.swift — added .stakpak case to AgentProvider enum with displayName, installInstructions, and createSession()
  • lil-agents.xcodeproj/project.pbxproj — registered StakpakSession.swift as a build source
  • README.md — added Stakpak to supported providers list and install instructions

Adds StakpakSession.swift which integrates the Stakpak CLI as a fifth
provider alongside Claude, Codex, Copilot, and Gemini.

How it works:
- Spawns `stakpak -a --max-steps 20 --config <path>` as a subprocess
  per message, using the same Process/Pipe pattern as the other sessions
- Passes `--config` with an absolute path to ensure the config is
  found when launched outside a login shell environment
- Preserves multi-turn context by prepending conversation history
  into the prompt on each invocation
- Strips ANSI escape codes, box-drawing chrome (┌─ │ └─), the Session
  Usage table, and internal [warning]/[info] lines from stdout before
  rendering in the terminal view

Changes:
- LilAgents/StakpakSession.swift — new session implementation (194 lines)
- LilAgents/AgentSession.swift — added .stakpak case to AgentProvider
  enum with displayName, installInstructions, and createSession()
- lil-agents.xcodeproj/project.pbxproj — registered StakpakSession.swift
  as a build source
- README.md — added Stakpak to supported providers list and install instructions
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