Skip to content
/

SprintCore

sprintcore · spicewoodlabs/sprintcore · ★ 16 · last commit 2025-04-17

CLI tool converting PRD markdown into structured Epics/Stories/Subtasks, plus a FAISS-indexed codebase bug-fix agent.

Best whenPRD parsing should be a stateless CLI invocation returning structured JSON, not a multi-phase workflow.
vs seeds
taskmaster-ai(PRD-to-task decomposition CLI) but limited to one-shot story generation without task lifecycle management, GitHub integ…
Primitive shape 3 total
Commands 3
00

Summary

SprintCore — Summary

SprintCore is a Python CLI tool (pip installable as sprintcore) that does two things: converts PRD documents into structured agile artifacts (Epics, Stories, Subtasks) using AI, and suggests bug fixes for React/Next.js/JavaScript codebases using a local vector-indexed codebase. The PRD-to-story pipeline uses Claude (or any LLM) with a fixed prompt template to parse PRD markdown into JSON/YAML/markdown output. The bug-fix pipeline uses FAISS vector embeddings to index the codebase locally, then queries Claude with the relevant context for fix suggestions. SprintCore has a freemium model — the OSS CLI handles PRD→stories and basic bug fixes, while Jira integration, sprint planning agents, and team features are in a paid cloud product (sprintcore.ai).

Compared to seeds: closest to taskmaster-ai (PRD-to-task decomposition with CLI) but limited to PRD→story generation rather than full task lifecycle management. No MCP server, no hooks, no GitHub integration in the OSS version.

01

Overview

SprintCore — Overview

Origin

Built by Spicewood Labs LLC. 16 GitHub stars, MIT licensed, Python, last commit 2025-04-17. Freemium — OSS CLI + paid cloud (sprintcore.ai).

Philosophy

SprintCore is explicitly positioned as a PM + engineer productivity tool:

"Built for Engineers, Product Managers, and Team Leads to speed up Sprint Planning."

The core pitch: unstructured PRDs (from Google Docs, Notion, Markdown) should be parsed into clean sprint-ready artifacts automatically, eliminating the manual work of writing stories and subtasks.

Two Core Capabilities

  1. PRD → Sprint Artifacts: Parse any PRD into Epics/Stories/Subtasks with acceptance criteria, exportable to JSON/YAML/markdown
  2. Bug Fix Agent: Index codebase with FAISS vector embeddings; query with bug description to get AI-suggested fix code

Freemium Model

  • Free/OSS: PRD→stories, bug fix CLI, local vector indexing
  • Paid (sprintcore.ai): Jira integration, Linear integration, sprint planning agent, duplicate story detection, standup automation, team features
02

Architecture

SprintCore — Architecture

Distribution

pip install:

pip install --no-cache-dir sprintcore

or clone + install:

git clone https://github.com/spicewoodlabs/sprintcore && cd sprintcore
pip install -e .

Required Runtime

  • Python >= 3.8
  • OPENAI_API_KEY (for bug-fix FAISS/LangChain)
  • ANTHROPIC_API_KEY (for bug-fix Claude agent)

Directory Structure

sprintcore/
├── main.py                  # CLI entry point
├── cli/
│   ├── prd2story.py         # PRD to story pipeline
│   ├── doc_embeddings.py    # Codebase vector indexing
│   └── fix_bugs_agent.py    # Bug fix agent
├── core/                    # Business logic
├── examples/
│   └── prd/
│       └── prd-flight-booking.md
└── tests/
prompt.txt                   # PRD→story prompt template
pyproject.toml               # [project.scripts] sprintcore = "sprintcore.main:main"

Config Files

  • .envOPENAI_API_KEY, ANTHROPIC_API_KEY

Target AI Tools

Standalone CLI; agents use it as a pre-processing step before implementation.

03

Components

SprintCore — Components

CLI Binary: sprintcore

Command Purpose
sprintcore create-story --input <prd.md> --output <stories.yaml> --prompt prompt.txt Parse PRD into Epics/Stories/Subtasks
sprintcore index-code --lang nextjs --source-code /path/to/code [--index INDEX] Index codebase with FAISS vector embeddings
sprintcore bug-fix --bug_description "..." --mode query Query vector index (optional sanity check)
sprintcore bug-fix --bug_description "..." --mode fix_code Get AI-generated fix recommendations

Output Formats

create-story output: JSON, YAML, or Markdown (controlled by output file extension)

Prompt Template (prompt.txt)

Fixed template: You are a senior product manager. Convert the following PRD into a structured sprint plan with Epics, Stories, Subtasks, Acceptance Criteria. Respond in JSON format...

Languages Supported (bug-fix)

  • NextJS, React, JavaScript (--lang nextjs or --lang js)
  • Python, Java: "coming soon" per README

Local Vector Index

FAISS-based local embeddings. One-time indexing step per codebase. Index stored locally (path configurable via --index).

05

Prompts

SprintCore — Prompt Files

Verbatim Excerpt 1: prompt.txt — PRD-to-story prompt

Prompting technique: Role assignment + output schema specification

You are a senior product manager. Convert the following product requirement document (PRD) into
a structured sprint plan with:

- Epics
- Stories under each epic
- Subtasks under each story
- Acceptance criteria (optional)

Respond in JSON format like:

[
  {
    "epic_name": "...",
    "description": "...",
    "stories": [
      {
        "story_name": "...",
        "acceptance_criteria": "...",
        "subtasks": ["...", "..."]
      }
    ]
  }
]

---

PRD:

{{REQUIREMENTS}}

Verbatim Excerpt 2: README workflow description

Prompting technique: Step-by-step CLI invocation guide

## 🛠 PRD -> Story (For PMs and Eng)
- 🧠 PRD → Epic/Story/Subtask generation via AI
- 📤 Export to `.json`, `.yaml`, or `.md`
- 🧪 Supports mock mode for local dev/testing
09

Uniqueness

SprintCore — Uniqueness & Positioning

Differs from Seeds

SprintCore is most similar to taskmaster-ai (PRD-to-task decomposition CLI with AI) but much more limited in scope: taskmaster-ai manages the full task lifecycle with 37 MCP tools, while SprintCore is a one-shot PRD parser with no task lifecycle, no GitHub integration, and no agent execution layer. The bug-fix agent with FAISS vector index is unique in this batch — no other framework indexes the codebase locally for context retrieval. Unlike backlog-md or ccpm, SprintCore doesn't manage tasks after creation; it only generates stories from PRDs. The freemium model (OSS CLI + paid Jira/Linear integration) is unusual in this batch.

Distinctive Positioning

  • Local FAISS vector index for codebase context in bug-fix pipeline — unique in this batch
  • Explicit freemium positioning: OSS for PRD→stories, paid for Jira/sprint/team features
  • Simplest PRD parser in the batch: single prompt template, JSON schema output

Observable Failure Modes

  • Low activity (16 stars, last commit 2025-04-17) — likely not production-hardened
  • Single fixed prompt for PRD parsing — no structured requirements interview, no quality gates
  • Bug-fix output is recommendations, not executable patches
  • No integration with any task tracker in OSS version (Jira is paid-only)
  • Python + Java support listed as "coming soon" — current scope limited to JS/React/Next.js
04

Workflow

SprintCore — Workflow

PRD → Sprint Workflow

  1. Author PRD (markdown, unstructured is OK)
  2. Run: sprintcore create-story --input prd.md --output stories.yaml
  3. Review generated Epics/Stories/Subtasks
  4. (Paid) Push to Jira/Linear

Bug Fix Workflow

Step 1 (one-time): Index codebase

sprintcore index-code --lang nextjs --source-code /path/to/repo

Step 2 (optional): Query index

sprintcore bug-fix --bug_description "post title not appearing" --mode query

Step 3: Get fix recommendations

sprintcore bug-fix --bug_description "post title not appearing" --mode fix_code

Approval Gates

None built-in. Human reviews generated stories/fix recommendations before use.

Output Artifacts

Artifact Format
Generated stories JSON / YAML / Markdown
Bug fix recommendations Text (LLM output)
Vector index Local FAISS index files
06

Memory Context

SprintCore — Memory & Context

State Storage

  • Local FAISS vector index for bug-fix codebase context (path configurable via --index)
  • No persistent state for PRD→story pipeline (stateless per invocation)

Persistence

  • FAISS index: project-scoped, local files
  • Generated stories: output files (JSON/YAML/MD) written to specified path

No Cross-Session Memory

SprintCore has no session memory, task state, or cross-run context beyond the FAISS index.

07

Orchestration

SprintCore — Orchestration

SprintCore is a CLI tool, not an orchestration framework. It has no multi-agent features.

Multi-Agent

No.

Orchestration Pattern

None.

Execution Mode

One-shot per command.

Multi-Model

The bug-fix pipeline uses both LangChain+OpenAI (for embeddings) and Claude/Anthropic (for fix recommendations). This is effectively multi-model but not role-routed — it's sequential pipeline stages.

08

Ui Cli Surface

SprintCore — UI & CLI Surface

CLI Binary

Binary name: sprintcore Installation: pip install sprintcore

Commands: create-story, index-code, bug-fix

Local UI

None. Cloud product (sprintcore.ai) has "Slick UI" per roadmap.

IDE Integration

None in OSS version.

Observability

None. One-shot CLI with output to file.

Related frameworks

same archetype · same primary tool · same memory type

MemPalace ★ 53k

Verbatim local-first AI memory with 96.6% R@5 retrieval on LongMemEval using zero API calls — structured into a palace hierarchy…

Beads (Yegge) ★ 24k

Dolt-powered distributed graph issue tracker where AI agents track tasks with hierarchical IDs and dependency edges, claim work…

deepagents (LangChain) ★ 23k

Opinionated Python agent harness on top of LangGraph with sub-agents, filesystem, memory, and context compaction bundled in

agentmemory ★ 18k

Persistent, searchable memory for AI coding agents that captures every tool interaction, compresses it via LLM, and injects…

Open Multi-Agent ★ 6.3k

Give a natural-language goal to a coordinator agent and get a dynamically decomposed, parallelized task DAG executed by…

Basic Memory ★ 3.1k

Gives AI agents a persistent, human-readable knowledge graph of project decisions, observations, and relations stored as plain…