Platform Requirements
Sequant is currently designed around GitHub as the issue tracking and code hosting platform. This document explains the dependency, provides workarounds for non-GitHub users, and outlines the roadmap for multi-platform support.
Current GitHub Dependency
Section titled “Current GitHub Dependency”Sequant uses the GitHub CLI (gh) for:
- Issue fetching — Reading issue details, labels, and comments
- Progress updates — Posting plan and status comments to issues
- PR creation — Creating pull requests from feature branches
- Workflow triggers — Extracting acceptance criteria from issue bodies
Why GitHub?
Section titled “Why GitHub?”GitHub was chosen as the initial platform because:
- Mature CLI — The
ghCLI provides comprehensive API access - Issue-PR linking — Native support for “Closes #123” syntax
- Widespread adoption — Most open-source projects use GitHub
- API consistency — Stable, well-documented API
Workarounds for Non-GitHub Users
Section titled “Workarounds for Non-GitHub Users”If your team uses GitLab, Bitbucket, or another platform, you can still use Sequant with manual issue tracking.
Option 1: Manual Issue Mode
Section titled “Option 1: Manual Issue Mode”Create issues manually and reference them by description instead of number:
# Instead of:/spec 123
# Use a description:/spec "Add user authentication with OAuth"The workflow phases will still function, but:
- No automatic issue comments (plans, progress updates)
- No automatic PR linking
- You’ll need to manually copy outputs to your issue tracker
Option 2: GitHub Mirror
Section titled “Option 2: GitHub Mirror”Some teams maintain a GitHub mirror for issue tracking while using another platform for code:
- Create a GitHub repository for issues only
- Run Sequant workflows against GitHub issues
- Manually sync PRs to your main platform
This provides full Sequant functionality but requires maintaining two systems.
Option 3: Local Tracking
Section titled “Option 3: Local Tracking”Use Sequant without any remote issue tracker:
- Create local markdown files for issues in
issues/directory - Reference issues by filename:
/spec issues/add-auth.md - Track progress in the same files
Example local issue format:
# Add user authentication
## Acceptance Criteria- [ ] Users can sign up with email- [ ] Users can log in with password- [ ] Sessions expire after 24 hours
## Progress- [ ] Spec complete- [ ] Implementation started- [ ] QA passedRoadmap: Multi-Platform Support
Section titled “Roadmap: Multi-Platform Support”Support for additional platforms is planned in phases:
Phase 2: Provider Abstraction (Planned)
Section titled “Phase 2: Provider Abstraction (Planned)”Create an IssueProvider interface that abstracts platform-specific operations:
interface IssueProvider { fetchIssue(id: string): Promise<Issue>; postComment(id: string, body: string): Promise<void>; createPullRequest(options: PROptions): Promise<PR>;}This will allow swapping providers without changing skill logic.
Phase 3: GitLab Support (Planned)
Section titled “Phase 3: GitLab Support (Planned)”GitLab will be the first alternative platform, using the glab CLI:
# Future usagesequant init --provider gitlabKey considerations:
- GitLab issues have similar metadata (labels, milestones, comments)
glabCLI provides equivalent functionality togh- GitLab merge requests map to GitHub PRs
Phase 4: Bitbucket Support (Future)
Section titled “Phase 4: Bitbucket Support (Future)”Bitbucket support is under consideration:
- No official CLI (would use REST API directly)
- Different issue/PR model (Jira integration common)
- Lower priority due to complexity
Contributing
Section titled “Contributing”Want to help add support for your platform? See the contribution guidelines and:
- Open an issue describing your platform’s requirements
- Propose an
IssueProviderimplementation - Include test coverage for the new provider