Example Sprint
How Guilde's sprint documents are formatted
Sprints are markdown documents that define the requirements of software you intend to build. They serve as inputs to Guilde Workflows that refine, execute, and test the software.
A sprint includes:
Overview
Context
Requirements
Approach
For example:
install go
## Overview
Implement a centralized YAML-based configuration system to manage all git-forensics-demo settings, flags, and options.
This system will serve as the foundation for all configurable parameters across the application.
## Context
Currently, git-forensics-demo relies on command-line flags for configuration.
This approach limits flexibility and makes it difficult to maintain consistent settings across runs.
A YAML-based configuration system will provide a centralized, persistent, and flexible way to manage all application settings.
## Requirements
- YAML configuration file with sensible defaults at `~/.git-forensics-demo/config.yml`
- Support for environment variable override via `$CONFIG_FILE`
- Command-line flag `--config <file>` to specify custom config location
- All existing CLI flags should be configurable via YAML
- Configuration precedence: Config file > Defaults
- the CLI should no longer take in any positional arguments other than the repository name that we are analyzing
- Validate configuration on load with clear error messages
- the only flag argument that can be provided is the config file path --config <config>
## Approach
use TDD. Ensure that the requirements are covered by tests. If there are existing tests that have a similar scope
for old behavior, they should be modified. For a given incremental feature we should make the test, then make implement
i.e,. test1, impl1, test2, impl2, ..., test_n, impl_nLast updated