diff --git a/.beads/.gitignore b/.beads/.gitignore new file mode 100644 index 0000000..f32e807 --- /dev/null +++ b/.beads/.gitignore @@ -0,0 +1,11 @@ +# Database +*.db +*.db-shm +*.db-wal + +# Lock files +*.lock + +# Temporary +last-touched +*.tmp diff --git a/.beads/config.yaml b/.beads/config.yaml new file mode 100644 index 0000000..c3abc97 --- /dev/null +++ b/.beads/config.yaml @@ -0,0 +1 @@ +issue_prefix: csv diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl new file mode 100644 index 0000000..952da85 --- /dev/null +++ b/.beads/issues.jsonl @@ -0,0 +1,2 @@ +{"id":"bd-3rr","title":"Fix -o flag: output filename not parsed correctly","description":"## Bug Report\n\nUsing the `-o` flag to specify an output filename causes errors. Instead of using the provided filename, the tool attempts to open/save `.xlsx` (empty basename) and prints memory addresses.\n\n## Reproduction\n\n```\ncsv2excel.exe -enc=windows1252 -o=test.xlsx .\\WDK-SiWo-20260103.csv\n```\n\n## Actual Output\n\n```\n0x3eb5d9d181b0\n0x3eb5d9d181c0\n0x3eb5d9d181d0\nFehler beim Öffnen .xlsx: open .xlsx: The system cannot find the file specified.\n✓ .\\WDK-SiWo-20260103.csv → Reiter \"WDK-SiWo-20260103\" (5324 Zeilen)\nFehler beim Speichern: unsupported workbook file format\n```\n\n## Analysis\n\n- Memory addresses being printed suggest a pointer/value is being passed where a string is expected (e.g. `fmt.Println(&flag)` instead of `fmt.Println(*flag)`)\n- The output path resolves to `.xlsx` instead of `test.xlsx`, meaning the flag value is not read correctly\n- The `unsupported workbook file format` error is a consequence of trying to open a non-existent file as a workbook\n\n## Acceptance Criteria\n- [ ] `csv2excel -o=test.xlsx input.csv` writes output to `test.xlsx`\n- [ ] No memory addresses are printed to stdout/stderr\n- [ ] Error message is shown if the output path is invalid/unwritable\n- [ ] Tests written and passing","status":"closed","priority":1,"issue_type":"bug","created_at":"2026-03-05T09:37:26.921804683Z","created_by":"oli","updated_at":"2026-03-05T09:56:12.843074108Z","closed_at":"2026-03-05T09:56:12.842163406Z","close_reason":"done","source_repo":".","compaction_level":0,"original_size":0} +{"id":"bd-bxt","title":"Add --version flag to CLI","description":"## Description\n\nAdd a `--version` flag to the `csv2excel` CLI that outputs version information including the version tag and build timestamp.\n\n## Expected Output\n\n```\ncsv2excel version v0.10.0-1-g3eb502a built 2026-02-19T14:30:13Z\n```\n\nThe version string should be injected at build time using Go linker flags (`-ldflags`), so that `git describe` and a build timestamp are embedded into the binary.\n\n## Implementation Notes\n\n- Define `version` and `buildDate` variables in `main.go` (or a dedicated `version.go`)\n- Inject values via `-ldflags \"-X main.version=... -X main.buildDate=...\"` during `mage Build`\n- Handle the `--version` / `-v` flag and print the version line, then exit 0\n\n## Acceptance Criteria\n- [ ] `csv2excel --version` prints a line matching `csv2excel version built `\n- [ ] Version and build date are injected at build time via ldflags in the Mage build targets\n- [ ] Running `csv2excel --version` exits with code 0\n- [ ] Default (unset) values produce a sensible fallback (e.g. `dev` / `unknown`)\n- [ ] Tests written and passing (if applicable)","status":"open","priority":2,"issue_type":"feature","created_at":"2026-03-05T09:22:40.538253362Z","created_by":"oli","updated_at":"2026-03-05T09:22:40.538253362Z","source_repo":".","compaction_level":0,"original_size":0} diff --git a/.beads/metadata.json b/.beads/metadata.json new file mode 100644 index 0000000..c787975 --- /dev/null +++ b/.beads/metadata.json @@ -0,0 +1,4 @@ +{ + "database": "beads.db", + "jsonl_export": "issues.jsonl" +} \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/csv2excel.iml b/.idea/csv2excel.iml new file mode 100644 index 0000000..5e764c4 --- /dev/null +++ b/.idea/csv2excel.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/go.imports.xml b/.idea/go.imports.xml new file mode 100644 index 0000000..d7202f0 --- /dev/null +++ b/.idea/go.imports.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..1b6b2e4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file