Skip to content

Commit cb96cc6

Browse files
committed
Prepare v1.0.0 release
0 parents  commit cb96cc6

67 files changed

Lines changed: 7669 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
test:
13+
name: test
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Set up Go
20+
uses: actions/setup-go@v5
21+
with:
22+
go-version: "1.24.x"
23+
cache: true
24+
25+
- name: Download modules
26+
run: go mod download
27+
28+
- name: Format
29+
run: test -z "$(gofmt -l .)"
30+
31+
- name: Vet
32+
run: go vet ./...
33+
34+
- name: Test
35+
run: go test -race -coverprofile=coverage.out ./...
36+
37+
- name: Build
38+
run: make build
39+
40+
release-check:
41+
name: release check
42+
runs-on: ubuntu-latest
43+
if: github.event_name == 'pull_request'
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v4
47+
48+
- name: Set up Go
49+
uses: actions/setup-go@v5
50+
with:
51+
go-version: "1.24.x"
52+
cache: true
53+
54+
- name: Check GoReleaser
55+
uses: goreleaser/goreleaser-action@v6
56+
with:
57+
distribution: goreleaser
58+
version: latest
59+
args: check

.gitignore

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# binaries
2+
devgrep
3+
bin/
4+
*.exe
5+
*.exe~
6+
*.dll
7+
*.so
8+
*.dylib
9+
10+
# test binaries
11+
*.test
12+
13+
# coverage
14+
coverage.out
15+
*.out
16+
17+
# build/dist
18+
dist/
19+
20+
# local agent / tooling
21+
.agents/
22+
.codex/
23+
24+
# environment / caches
25+
.env
26+
.cache
27+
tmp/
28+
*.log
29+
30+
# IDE
31+
.vscode/
32+
.idea/
33+
34+
# OS
35+
.DS_Store

.goreleaser.yaml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
version: 2
2+
3+
project_name: devgrep
4+
5+
before:
6+
hooks:
7+
- go mod tidy
8+
9+
builds:
10+
- id: devgrep
11+
main: .
12+
binary: devgrep
13+
env:
14+
- CGO_ENABLED=0
15+
goos:
16+
- linux
17+
- darwin
18+
- windows
19+
goarch:
20+
- amd64
21+
- arm64
22+
ldflags:
23+
- -s -w
24+
- -X github.com/devgrep/devgrep/cmd.Version={{.Version}}
25+
- -X github.com/devgrep/devgrep/cmd.Commit={{.Commit}}
26+
- -X github.com/devgrep/devgrep/cmd.Date={{.Date}}
27+
28+
archives:
29+
- id: default
30+
formats:
31+
- tar.gz
32+
format_overrides:
33+
- goos: windows
34+
formats:
35+
- zip
36+
files:
37+
- README.md
38+
- LICENSE*
39+
- docs/**
40+
- examples/**
41+
42+
checksum:
43+
name_template: checksums.txt
44+
45+
snapshot:
46+
version_template: "{{ incpatch .Version }}-next"
47+
48+
changelog:
49+
sort: asc
50+
filters:
51+
exclude:
52+
- "^docs:"
53+
- "^test:"
54+
- "^chore:"
55+
56+
brews:
57+
- name: devgrep
58+
repository:
59+
owner: devgrep
60+
name: homebrew-tap
61+
homepage: https://github.com/devgrep/devgrep
62+
description: grep for developer workflows
63+
license: MIT
64+
install: |
65+
bin.install "devgrep"
66+
test: |
67+
system "#{bin}/devgrep", "version"

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Changelog
2+
3+
## v1.0.0
4+
5+
### Added
6+
- Fast recursive code search
7+
- File extension filtering
8+
- Colored terminal output
9+
10+
### Notes
11+
- First stable public release

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 devgrep contributors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Makefile

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BINARY := devgrep
2+
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
3+
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo none)
4+
DATE ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
5+
LDFLAGS := -s -w -X github.com/devgrep/devgrep/cmd.Version=$(VERSION) -X github.com/devgrep/devgrep/cmd.Commit=$(COMMIT) -X github.com/devgrep/devgrep/cmd.Date=$(DATE)
6+
7+
.PHONY: build test lint bench release clean
8+
9+
build:
10+
go build -buildvcs=false -trimpath -ldflags "$(LDFLAGS)" -o bin/$(BINARY) .
11+
12+
test:
13+
go test -race -coverprofile=coverage.out ./...
14+
15+
lint:
16+
@if command -v golangci-lint >/dev/null 2>&1; then \
17+
golangci-lint run ./...; \
18+
else \
19+
go vet ./...; \
20+
fi
21+
22+
bench:
23+
go test -bench=. -benchmem ./...
24+
25+
release:
26+
goreleaser release --clean
27+
28+
clean:
29+
rm -rf bin dist coverage.out

0 commit comments

Comments
 (0)