Skip to content

Align git-tasks with knowledge-backed planning workflows#14

Merged
DiTo97 merged 15 commits into
mainfrom
copilot/update-git-tasks-granularity
Apr 25, 2026
Merged

Align git-tasks with knowledge-backed planning workflows#14
DiTo97 merged 15 commits into
mainfrom
copilot/update-git-tasks-granularity

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 23, 2026

Summary

  • replace the old raw/processed wiki flow with repo-level init, wiki/inbox/, wiki/knowledge/, wiki/knowledge/index.md, and issue Knowledge Links
  • tighten story lifecycle handoff with reviewer precedence, safer existing-PR context syncing, and knowledge-aware review context
  • move skill eval assets under test/evals/, add repo line-ending policy, and keep published installs free of benchmark artifacts

Test plan

  • npm test
  • npm run test:evals
  • npm pack --dry-run
  • uv run python <skill-creator>/eval-viewer/generate_review.py ... --static ...

🤖 Generated with Claude Code

Copilot AI linked an issue Apr 23, 2026 that may be closed by this pull request
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/a01c1929-9198-400a-8e66-bf98867ac651

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Copilot AI changed the title [WIP] Update git tasks to improve story and sprint definitions Tighten git-tasks planning contracts and wiki audit workflow Apr 23, 2026
Copilot AI requested a review from DiTo97 April 23, 2026 10:02
@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 23, 2026

@copilot imho we should probably have a git-tasks init command that generates in the repo (must be a git repo) a git-tasks.lock or something file where we have the necessary project card etc. (we have a data model for that already)? probably a git-tasks wiki init command too? or the wiki is already part of the tool and should be init at the global init? can discuss the design first.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 23, 2026

@copilot imho we should probably have a git-tasks init command that generates in the repo (must be a git repo) a git-tasks.lock or something file where we have the necessary project card etc. ...

I agree. I’d separate it as:

  • git-tasks init: repo-scoped bootstrap, only valid inside a git repo. It should create the repo metadata file (git-tasks.lock or equivalent from the existing data model), capture required project-card defaults like repository owner/default reviewers, and then ensure the wiki structure exists.
  • git-tasks wiki init: keep it as a narrower, idempotent subcommand for just the wiki scaffold, but have git-tasks init call it so the common path is one command.

That keeps init as the canonical entry point while preserving a focused wiki-only operation. I haven’t changed code yet since your comment asks to align on design first.

@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 23, 2026

@copilot what is the point of keeping wiki init then if the global init already calls that?

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 23, 2026

@copilot what is the point of keeping wiki init then if the global init already calls that?

Fair point — if git-tasks init is the canonical bootstrap and always owns the wiki scaffold, I’d simplify the surface and drop wiki init. I’d only keep it if we have a real use case for repairing/recreating just the wiki after repo init. Otherwise the cleaner design is one repo-level init that creates both the metadata file and wiki/.

@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 23, 2026

@copilot fine with just the moduel init, without wiki init. please, implement that

@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 23, 2026

@YoanSallami I saw the tests passing with the update. could you do some vibe testing locally?

Copilot AI and others added 2 commits April 23, 2026 12:37
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/95059cca-d6d4-4192-b9e9-fe4f040ab859

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/95059cca-d6d4-4192-b9e9-fe4f040ab859

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 23, 2026

@copilot fine with just the moduel init, without wiki init. please, implement that

Implemented in 9604aed: added top-level git-tasks init, removed git-tasks wiki init, and updated the README, shipped skill, and CLI tests to use the repo-level init flow. init now verifies it is being run from the git repo root using Git’s reported toplevel, so it also behaves correctly in worktree-style setups. CLI-only change, so there isn’t a UI screenshot to attach.

Switch the shipped workflow to the inbox/knowledge model, link backlog items to knowledge docs, tighten reviewer handoff and PR context sync, and keep skill eval artifacts out of published installs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@DiTo97 DiTo97 changed the title Tighten git-tasks planning contracts and wiki audit workflow Align git-tasks with knowledge-backed planning workflows Apr 25, 2026
@DiTo97 DiTo97 marked this pull request as ready for review April 25, 2026 16:34
@DiTo97 DiTo97 requested a review from Copilot April 25, 2026 16:35
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates git-tasks to support a repo-initialized, wiki-first “inbox → knowledge → planning” workflow, adds repo-level defaults for review handoff, and threads “Knowledge Links” through issues and story PRs for reviewer context.

Changes:

  • Add git-tasks init to bootstrap wiki/inbox/, wiki/knowledge/, wiki/knowledge/index.md, plus .git-tasks/config.json (owner/reviewers/planning horizons).
  • Introduce Knowledge Links metadata across epics/sprints/stories and sync knowledge context into managed story PR bodies; enforce reviewer precedence (CLI > env > config reviewers > owner) for ready-for-review.
  • Add eval fixtures + harness under test/evals/, update tests/docs, and add LF line-ending policy + ignore eval workspace artifacts.

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
test/evals/git-tasks.evals.json Adds eval scenarios covering knowledge index usage, no-CRUD cases, reviewer fallback, and legacy wiki handling.
test/evals/fixtures/raw-meeting-notes.md Adds inbox-style meeting notes fixture for evals.
test/evals/fixtures/raw-feature-request.md Adds inbox-style feature request fixture for evals.
test/evals/fixtures/legacy-processed-auth-plan.md Adds legacy processed fixture for “historical context only” eval.
test/evals/fixtures/knowledge-index.md Adds knowledge index fixture entry format.
test/evals/fixtures/knowledge-auth-plan.md Adds structured knowledge node fixture with dash-case frontmatter.
test/evals/eval.js Adds eval harness smoke tests and validates shipped skill content + eval set integrity.
test/cli.test.js Expands CLI tests for init, knowledge flags, lifecycle reviewer rules, PR context syncing, and packaging constraints.
src/utils/templates.js Adds Knowledge Links rendering to epic/sprint/story templates.
src/utils/metadata.js Adds generic delimited-list parsing and list-based metadata setters; reuses for reviewers/knowledge links.
src/utils/config.js Introduces .git-tasks/config.json loading/saving + repository-root resolution + default planning horizons.
src/commands/wiki.js Refactors wiki structure to inbox/knowledge model, adds recursive list + safer show path resolution, removes old init behavior.
src/commands/story.js Requires explicit story create metadata; adds --knowledge and merges knowledge links into story metadata on update/lifecycle.
src/commands/sprint.js Requires explicit sprint create metadata; adds --knowledge and merges knowledge links on update.
src/commands/init.js Adds new top-level init command enforcing git root and bootstrapping wiki + config defaults.
src/commands/epic.js Requires explicit epic create metadata; adds --knowledge and merges knowledge links on update.
src/backends/index.js Extends backend interface docs to include pull request operations used by lifecycle automation.
src/backends/github.js Adds pr edit support and changes label ensuring behavior.
src/automation/lifecycle.js Adds knowledge context to story PR bodies, syncs managed PR bodies, and implements reviewer precedence via repo config.
skills/git-tasks/SKILL.md Updates skill guidance to wiki-first knowledge workflow, repo config defaults, and lifecycle handoff expectations.
package.json Adds test:evals script for eval harness execution.
bin/git-tasks.js Registers the new init command in the CLI.
README.md Updates docs to reflect init/wiki-first workflow, config file, and knowledge-aware lifecycle guidance.
.gitignore Ignores eval workspace artifacts under test/evals/git-tasks-workspace/.
.gitattributes Enforces LF line endings via * text=auto eol=lf.
Comments suppressed due to low confidence (1)

README.md:102

  • Docs: the quick reference for story create / story update doesn’t mention the new --knowledge/-k option even though the CLI supports it. Please update these synopsis lines to include the knowledge-link flag.
### User Stories
```bash
git-tasks story create "Title" -s <sprint> -e <epic> -d <desc> -p <points> --priority low|medium|high [-a <user>]
git-tasks story list [--sprint <n>] [--epic <n>] [--assignee <user>] [--state open|closed|all] [--short]
git-tasks story show <number> [--comments]
git-tasks story update <number> [--status open|in-progress|ready-for-review|closed] [--reviewer <user>]
</details>



---

💡 <a href="/Atena-IT/git-tasks/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.

Comment thread src/backends/github.js
Comment on lines 42 to 44
function ensureLabel(name, color, description) {
try {
runGh(['label', 'list', '--json', 'name', '--jq', `.[].name`]);
} catch {
// ignore
}
try {
runGh(['label', 'create', name, '--color', color, '--description', description, '--force']);
} catch {
// label may already exist
}
runGh(['label', 'create', name, '--color', color, '--description', description, '--force']);
}
Comment thread src/commands/wiki.js
Comment on lines +97 to +102
const requested = filename.endsWith('.md') ? filename : `${filename}.md`;
const filePath = resolve(wikiRoot, requested);
const relativePath = relative(wikiRoot, filePath);
if (!relativePath || relativePath.startsWith('..')) {
throw new Error('Wiki paths must stay inside the wiki/ directory.');
}
Comment thread README.md Outdated
### Epics
```bash
git-tasks epic create "Title" [-d <desc>] [-p <points>] [--start <date>] [--end <date>] [-a <user>]
git-tasks epic create "Title" -d <desc> -p <points> --start <date> --end <date> [-a <user>]
Comment thread README.md Outdated
### Sprints
```bash
git-tasks sprint create "Title" [-e <epic>] [-d <desc>] [-p <points>] [--start <date>] [--end <date>]
git-tasks sprint create "Title" -e <epic> -d <desc> -p <points> --start <date> --end <date> [-a <user>]
Copilot AI and others added 6 commits April 25, 2026 17:06
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/06259a5c-12d1-461b-999b-99a46f09f14a

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 25, 2026

@copilot apply changes based on the comments in this thread

Applied the thread changes across a98a606 (with follow-up validation cleanups in the later commits on top of it). Update commands now reject true no-ops and honor the exposed epic/sprint flags, wiki show rejects symlink escapes, managed story PR bodies resync after renames, and the README now lists story create --knowledge. Latest npm test passes; earlier npm run test:evals, npm pack --dry-run, and CodeQL were green before the final review-nit commits, but the validation budget was exhausted before one last automated rerun. No UI changes were involved, so there isn’t a screenshot to attach.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates git-tasks to support a wiki-first, knowledge-backed planning workflow by adding repo initialization, structured wiki conventions (wiki/inbox/, wiki/knowledge/, wiki/knowledge/index.md), repo-level config defaults (owner/reviewers/planning horizons), and “Knowledge Links” propagation into planning items and review handoffs.

Changes:

  • Add git-tasks init to bootstrap repo config (.git-tasks/config.json) and the new wiki structure (inbox/knowledge/index).
  • Add knowledge-link metadata plumbing across epic/sprint/story templates and update flows; enhance story lifecycle automation with reviewer precedence and PR context syncing.
  • Add/relocate eval assets under test/evals/, introduce repo line-ending policy, and ensure shipped installs don’t include eval artifacts.

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/evals/git-tasks.evals.json Adds a structured eval set covering knowledge-index-first planning, no-CRUD knowledge updates, reviewer fallback, and legacy raw/processed migration behavior.
test/evals/fixtures/raw-meeting-notes.md Adds inbox-style meeting notes fixture used by evals.
test/evals/fixtures/raw-feature-request.md Adds inbox-style feature request fixture used by evals.
test/evals/fixtures/legacy-processed-auth-plan.md Adds legacy processed fixture to test “read legacy, write forward” behavior.
test/evals/fixtures/knowledge-index.md Adds a knowledge index fixture with an example entry.
test/evals/fixtures/knowledge-auth-plan.md Adds a structured knowledge-node fixture with dash-case frontmatter and planning consequences.
test/evals/eval.js Adds a Node test harness that smoke-tests init/wiki knowledge flow and validates shipped skill/eval set invariants.
test/cli.test.js Expands CLI coverage for init, knowledge options, safer wiki show path handling, reviewer precedence, and knowledge link propagation.
src/utils/templates.js Adds “Knowledge Links” to epic/sprint/story body templates.
src/utils/metadata.js Adds list parsing/setting helpers and refactors reviewer parsing to share list normalization.
src/utils/config.js Introduces repo config loading/saving and git-root resolution with defaults.
src/commands/wiki.js Updates wiki semantics to inbox/knowledge, adds recursive list, and hardens show against path traversal/symlink escapes.
src/commands/story.js Makes story create metadata required, adds --knowledge, improves update metadata editing, and integrates lifecycle/knowledge behaviors.
src/commands/sprint.js Makes sprint create metadata required, adds --knowledge, and improves update behavior for title/metadata fields.
src/commands/init.js New command to initialize wiki structure and .git-tasks/config.json at the git repo root.
src/commands/epic.js Makes epic create metadata required, adds --knowledge, and supports dependency/blocker & metadata updates.
src/backends/index.js Documents additional backend PR-related capabilities.
src/backends/github.js Adds PR edit support; adjusts label ensuring to avoid failing when label creation isn’t permitted.
src/automation/lifecycle.js Adds reviewer precedence (CLI > env > config reviewers > owner), knowledge-link propagation, and safe “managed PR body” syncing.
skills/git-tasks/SKILL.md Updates skill guidance to enforce knowledge-index-first workflow and lifecycle/reviewer/knowledge conventions.
package.json Adds test:evals script.
bin/git-tasks.js Registers the new init command.
README.md Documents init/config, knowledge workflow, knowledge links, and updated command usage.
.gitignore Ignores eval workspace artifacts.
.gitattributes Enforces LF line endings in-repo.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/commands/story.js
Comment on lines +148 to 152
if (requestedKnowledgeLinks.length) {
const knowledgeLinks = parseMetadataList(getMetadataField(nextBody, 'Knowledge Links'), requestedKnowledgeLinks);
nextBody = setMetadataListField(nextBody, 'Knowledge Links', knowledgeLinks);
editOpts.body = nextBody;
}
Comment thread src/backends/github.js
Comment on lines 70 to +74
function ensureLabels(labels) {
const existingLabels = listExistingLabels();
const ensuredLabels = [];
for (const label of labels) {
if (existingLabels?.has(label)) {
@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 25, 2026

@copilot apply changes based on the comments in this thread

Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/ea17ee26-74fa-4436-906f-0c1512463c0b

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 25, 2026

@copilot apply changes based on the comments in this thread

Applied in f183330. Story knowledge-only updates now resync an existing managed PR body without requiring a status transition, and the GitHub backend now keeps labels on the optimistic path when label discovery is unavailable while retrying without labels only if issue creation fails because those labels are actually unknown. Validation is green: npm test, npm run test:evals, npm pack --dry-run, Code Review, and CodeQL all passed. No UI changes were involved, so there isn’t a screenshot to attach.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the git-tasks CLI to support a wiki-first, knowledge-backed planning workflow: initialize a repo with a standardized wiki/inbox/ + wiki/knowledge/ layout, require/propagate Knowledge Links across backlog items, and tighten story lifecycle review handoff using repo config defaults.

Changes:

  • Add git-tasks init to bootstrap wiki/ structure and write/maintain .git-tasks/config.json (owner, reviewers, planning horizons).
  • Introduce Knowledge Links metadata across epic/sprint/story create+update flows and sync knowledge context into story PR bodies during lifecycle automation.
  • Add eval harness + fixtures under test/evals/, plus packaging/line-ending hygiene updates.

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/evals/git-tasks.evals.json Adds an eval set covering knowledge-index-first planning, no-CRUD knowledge updates, reviewer fallback, and legacy wiki context handling.
test/evals/fixtures/raw-meeting-notes.md Adds inbox-style meeting notes fixture for planning decomposition evals.
test/evals/fixtures/raw-feature-request.md Adds inbox-style feature request fixture for “knowledge-only/no backlog delta” eval.
test/evals/fixtures/legacy-processed-auth-plan.md Adds legacy processed-plan fixture for “read legacy, write forward” eval coverage.
test/evals/fixtures/knowledge-index.md Adds knowledge index fixture representing the new knowledge navigation entrypoint.
test/evals/fixtures/knowledge-auth-plan.md Adds a structured knowledge node fixture with dash-case frontmatter and issue refs.
test/evals/eval.js Adds a Node test harness that smoke-tests init + wiki flows and validates eval fixture integrity.
test/cli.test.js Expands CLI tests for init, knowledge flags, reviewer precedence, PR context syncing, wiki path safety, and label-handling behavior.
src/utils/templates.js Extends epic/sprint/story templates to include Knowledge Links metadata.
src/utils/metadata.js Adds list parsing/helpers (parseMetadataList, setMetadataListField) and exports escapeRegex.
src/utils/config.js Introduces repo config loading/saving and repository-root resolution via git.
src/commands/wiki.js Reshapes wiki semantics to inbox/knowledge/index, adds recursive list, and adds path traversal / symlink escape protections.
src/commands/story.js Requires more explicit story create metadata, adds --knowledge, enforces no-op update rejection, and syncs PR knowledge context.
src/commands/sprint.js Requires more explicit sprint create metadata and adds --knowledge handling for create/update.
src/commands/init.js New command to initialize wiki layout and .git-tasks/config.json with reviewer defaults.
src/commands/epic.js Requires more explicit epic create metadata and adds update support for points/blockers/knowledge links.
src/backends/index.js Updates backend contract documentation to include PR operations and editing.
src/backends/github.js Adds safer label ensuring + retry behavior and implements editPullRequest.
src/automation/lifecycle.js Adds reviewer precedence (explicit > env > config > owner), knowledge-link merging, and managed PR body syncing.
skills/git-tasks/SKILL.md Updates the shipped skill to describe the init + wiki/knowledge workflow and lifecycle boundaries.
package.json Adds test:evals script for the new eval harness.
bin/git-tasks.js Registers the new init command in the CLI.
README.md Updates public docs for init, knowledge workflow, reviewer defaults, and --knowledge usage.
.gitignore Ignores eval workspace artifacts.
.gitattributes Sets repo-wide LF line-ending policy.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/commands/wiki.js
Comment on lines +69 to +71
function getWikiRoot(rootDir = process.cwd()) {
return resolve(rootDir, WIKI_DIR);
}
Comment thread src/commands/wiki.js Outdated
Comment on lines +126 to +130
if (!existsSync(WIKI_DIR)) {
console.log(chalk.yellow('Wiki not initialized. Run: git-tasks wiki init'));
console.log(chalk.yellow('Wiki not initialized. Run: git-tasks init'));
return;
}
const files = readdirSync(WIKI_DIR).filter(f => f.endsWith('.md'));
const files = listMarkdownFiles(WIKI_DIR);
@DiTo97
Copy link
Copy Markdown
Contributor

DiTo97 commented Apr 25, 2026

@copilot apply changes based on the comments in this thread

Copilot AI and others added 2 commits April 25, 2026 17:35
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/cf8602dd-ecc7-4017-b6ca-71d9aee47d82

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Atena-IT/git-tasks/sessions/cf8602dd-ecc7-4017-b6ca-71d9aee47d82

Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 25, 2026

@copilot apply changes based on the comments in this thread

Applied in 28679b7 with a small test-clarity follow-up in 75d858c. git-tasks wiki list and git-tasks wiki show now resolve wiki/ from the git repo root, so they work from nested directories instead of only from the repository top level. Added regressions for nested-directory wiki list/wiki show, and validation is green: npm test, npm run test:evals, npm pack --dry-run, Code Review, and CodeQL all passed. No UI changes were involved, so there isn’t a screenshot to attach.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the git-tasks CLI to support a wiki-first, knowledge-backed planning workflow (with repo bootstrap/init), adds “Knowledge Links” propagation across epics/sprints/stories and story PR handoff, and introduces an eval harness + fixtures to validate the intended agent workflow.

Changes:

  • Add git-tasks init to bootstrap .git-tasks/config.json plus wiki/inbox/ and wiki/knowledge/ (including wiki/knowledge/index.md).
  • Extend planning + lifecycle flows with --knowledge links, reviewer fallback precedence (CLI → env → config → owner), and safe syncing of knowledge context into managed story PR bodies.
  • Add eval harness/tests/fixtures and packaging hygiene (keep eval artifacts out of shipped skill installs; enforce LF via .gitattributes).

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/commands/init.js New init command that bootstraps repo config and wiki layout at git repo root.
src/utils/config.js New config load/save + repo-root resolution and planning horizon defaults.
src/commands/wiki.js Wiki commands now operate repo-root relative, support nested paths, and add path safety checks.
src/automation/lifecycle.js Reviewer precedence + knowledge-link merging and managed-PR context syncing.
src/commands/epic.js / src/commands/sprint.js / src/commands/story.js Add --knowledge support and stricter required creation metadata; improve update flows.
src/utils/metadata.js / src/utils/templates.js Add metadata list helpers and render Knowledge Links in issue templates.
src/backends/github.js Safer label handling + add PR edit support for lifecycle syncing.
test/cli.test.js Expanded tests for init/bootstrap, knowledge links, reviewer fallback, wiki path security, and label behavior.
test/evals/eval.js + test/evals/** New eval harness and fixtures validating knowledge-index-first planning behavior.
skills/git-tasks/SKILL.md Update shipped skill instructions for init/config/wiki-first knowledge workflow and lifecycle boundaries.
README.md Update docs for init/wiki-first workflow and planning granularity (but Quick Reference needs further updates).
package.json Add test:evals script.
bin/git-tasks.js Register new init command.
.gitattributes / .gitignore Enforce LF policy and ignore eval workspace artifacts.
Comments suppressed due to low confidence (4)

src/commands/wiki.js:153

  • wiki show currently errors with "Wiki file not found" when the wiki directory hasn't been initialized, whereas wiki list provides a clearer hint ("Run: git-tasks init"). Consider checking for wikiRoot existence early in show and emitting the same initialization guidance for consistency and better UX.
    .command('show <filename>')
    .description('Show the content of a wiki file, including nested inbox/ or knowledge/ paths')
    .action((filename) => {
      try {
        const filePath = resolveWikiFilePath(filename);
        if (!existsSync(filePath)) {
          printError(`Wiki file not found: ${filePath}`);
          return;
        }

README.md:86

  • The Quick Reference for git-tasks epic update is missing newly supported flags (e.g., --knowledge and --add-blocker), so the README no longer matches the CLI surface area.
git-tasks epic create "Title" -d <desc> -p <points> --start <date> --end <date> [-k <wiki/knowledge/file.md>] [-a <user>]
git-tasks epic list [--state open|closed|all] [--short]
git-tasks epic show <number> [--comments]
git-tasks epic update <number> [--title <text>] [--points <n>] [--status open|closed]
**README.md:94**
* The Quick Reference for `git-tasks sprint update` appears outdated: the CLI now supports additional update options like `--epic`, `--points`, and `--knowledge`, but the README only lists `--title` and `--status`. Please update the documented command synopsis accordingly.

git-tasks sprint create "Title" -e -d -p --start --end [-k <wiki/knowledge/file.md>] [-a ]
git-tasks sprint list [--epic ] [--state open|closed|all] [--short]
git-tasks sprint show [--comments]
git-tasks sprint update [--title ] [--status open|closed]

README.md:102

  • The Quick Reference for git-tasks story update doesn't mention the new --knowledge/-k option, which can be important for the wiki-backed workflow described later in the README.
git-tasks story create "Title" -s <sprint> -e <epic> -d <desc> -p <points> --priority low|medium|high [-k <wiki/knowledge/file.md>] [-a <user>]
git-tasks story list [--sprint <n>] [--epic <n>] [--assignee <user>] [--state open|closed|all] [--short]
git-tasks story show <number> [--comments]
git-tasks story update <number> [--status open|in-progress|ready-for-review|closed] [--reviewer <user>]
</details>



---

💡 <a href="/Atena-IT/git-tasks/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.

@DiTo97 DiTo97 merged commit 5f22c8a into main Apr 25, 2026
5 checks passed
@DiTo97 DiTo97 deleted the copilot/update-git-tasks-granularity branch April 25, 2026 17:51
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.

git-tasks open points

3 participants