Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Lookups: finish sharing client search, bookings, iterations, locations, categories and billable types

Open
#101 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
38/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
cli, tooling

Research direction

Start with ProjectLookup.SelectableAsync and Iterations/ListCommand, the templates named in the issue, then trace the existing CLI and MCP lookup implementations. Work through the migration checklist, including shared lookups, CLI commands, validation, and executable parity rows; done means the listed surfaces share behavior and category and billable-type commands replace their MCP-only status.

Written by the indexing model from the issue text.

Description

Priority: P3 Type: Refactor

Why

Small lookups that are still duplicated or exist on one surface only.

  • SearchClients: the CLI caps at 20 by default; MCP returns every match into the agent's context and has no limit.
  • GetCrmBookings / booking list: the inclusive-to-exclusive end-date rule (end.AddDays(1)) is written twice.
  • ListIterations: the CLI validates an empty project id; MCP does not.
  • GetLocationAndMapping combines location info and repo-mapping detection; no CLI command produces that report (location info and map detect are separate).
  • ListLocations and GetCurrentUser (null on MCP vs a failure on the CLI) have separate projections.
  • ListCategories and ListBillableTypes are MCP-only, yet ts create --category needs a category id and users have to find it through tp query.

Migrate

  • SearchClients gains limit (default matching the CLI) through a shared client lookup.
  • BookingLookup owning the date window.
  • Shared iteration lookup with the project-id check.
  • A location/mapping report with a CLI command (or location info --repo <path>).
  • category list and billable-type list CLI commands; remove both from ToolsWithoutCliMirror.
  • Executable parity rows.

How

ProjectLookup.SelectableAsync and Iterations/ListCommand are the templates. The new limit argument is additive (regenerate tools/list deliberately).

Part of #38.

Dominant language
C#
Stars
3
Forks
0
Avg merge
7m
Merged PRs (30d)
30

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

  • No Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SSWConsulting/TimePro.Tools

All issues in SSWConsulting/TimePro.Tools

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.