{"id":13551241,"url":"https://github.com/couchbase/cbft","last_synced_at":"2025-10-07T15:21:29.980Z","repository":{"id":43265045,"uuid":"43482473","full_name":"couchbase/cbft","owner":"couchbase","description":"Couchbase Full Text server","archived":false,"fork":false,"pushed_at":"2025-09-29T19:23:58.000Z","size":9316,"stargazers_count":137,"open_issues_count":10,"forks_count":29,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-09-29T21:29:56.978Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/couchbase.png","metadata":{"files":{"readme":"README-dev.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE-thirdparty.txt","code_of_conduct":null,"threat_model":null,"audit":"audit.go","citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-10-01T06:50:38.000Z","updated_at":"2025-09-29T18:36:14.000Z","dependencies_parsed_at":"2023-12-21T19:28:36.878Z","dependency_job_id":"7643d421-415c-40ee-a2cd-9a535a3d08a7","html_url":"https://github.com/couchbase/cbft","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/couchbase/cbft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fcbft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fcbft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fcbft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fcbft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/couchbase","download_url":"https://codeload.github.com/couchbase/cbft/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Fcbft/sbom","scorecard":{"id":305880,"data":{"date":"2025-08-11","repo":{"name":"github.com/couchbase/cbft","commit":"9e438e7be70543cfb532cf496207f9a04e993ee6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":7,"reason":"9 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: containerImage not pinned by hash: dist/Dockerfile:18: pin your Docker image by updating golang:1.8.1 to golang:1.8.1@sha256:fbc08ed49ead169a4e921192f739af69cb45871af3a51f1334e477482816e34e","Info:   0 out of   1 containerImage dependencies pinned","Info:   1 out of   1 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":5,"reason":"5 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2024-3321 / GHSA-v778-237x-gjrc","Warn: Project is vulnerable to: GO-2025-3487 / GHSA-hcg3-q754-cr77","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T22:02:08.401Z","repository_id":43265045,"created_at":"2025-08-17T22:02:08.401Z","updated_at":"2025-08-17T22:02:08.401Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278796344,"owners_count":26047411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:01:44.750Z","updated_at":"2025-10-07T15:21:29.944Z","avatar_url":"https://github.com/couchbase.png","language":"Go","funding_links":[],"categories":["Go","others"],"sub_categories":[],"readme":"# For cbft developers\n\n## Dev environment setup\n\n    go get -u github.com/couchbase/cbft/...\n    cd $GOPATH/src/github.com/couchbase/cbft\n    make prereqs\n\n## Building cbft\n\n    make\n\n## Unit tests\n\n    make test\n\n## Coverage reports\n\nTo get local coverage reports with heatmaps...\n\n    make coverage\n\nTo get more coverage reports that include dependencies like the bleve library...\n\n    go test -coverpkg github.com/couchbase/cbft,github.com/blevesearch/bleve,github.com/blevesearch/bleve/index \\\n        -coverprofile=coverage.out \\\n        -covermode=count \u0026\u0026 \\\n    go tool cover -html=coverage.out\n\n## Documentation\n\nGenerating documentation...\n\nWe use the [MkDocs](http://mkdocs.org) tool to help generate an HTML\ndocs website from the markdown files in the ```./docs``` subdirectory.\n\nTo generate the REST API markdown documentation...\n\n    make gen-docs\n\nFor a local development testing web server that automatically\nre-generates the HTML website of ```./docs``` changes, run...\n\n    mkdocs serve\n\nThen browse to http://127.0.0.1:8000 to see the HTML docs website.\n\nTo deploy the HTML docs website to github's gh-pages, run...\n\n    mkdocs gh-deploy\n\n## Coding conventions\n\nYou must pass ```go fmt```.\n\nError message conventions...\n\nIn the cbft project, fmt.Errorf() and log.Printf() messages follow a\nrough formatting convention, like...\n\n    \u003csource_file_base_name\u003e: \u003cshort static msg string\u003e, \u003carg0\u003e: \u003cval0\u003e, \u003carg1\u003e: \u003cval1\u003e\n\nThe \"short static msg string\" should be unique enough so that ```git grep```\nworks well.\n\n## Contributing fixes/improvements\n\nWe require a contributor license agreement (CLA) to be signed before\nwe can merge any pull requests.  To sign this agreement, please\nregister at the [couchbase code review\nsite](http://review.couchbase.org/). The cbft project currently does\nnot use this code review app, but it is still used to track acceptance\nof the CLA.\n\nAll types of contributions are welcome, but please keep the following\nin mind:\n\nExisting tests should continue to pass (\"make test\"), and new tests\nfor contributions are quite nice to have.\n\nAll code should have pass \"go fmt ./...\" and \"go vet ./...\".\n\n## Releasing\n\nTo do a full release with a new (semver) tag, see the Makefile's\n\"release\" target.\n\n## For Couchbase Server developers\n\nFor running using Couchbase Server's cluster_run (in watson and beyond)...\n\n    cd (your dev directory where you ran 'repo sync' for couchbase server watson.xml)\n    make -j 9\n    mkdir -p install/lib/fts\n    rm -rf install/lib/fts/static\n    rm -rf install/lib/fts/static-bleve-mapping\n    rm -rf install/lib/fts/staticx\n    ln -s ../../../goproj/src/github.com/couchbase/cbft/staticx/ install/lib/fts\n    ln -s ../../../goproj/src/github.com/couchbase/cbgt/rest/static/ install/lib/fts\n    ln -s ../../../godeps/src/github.com/blevesearch/bleve-mapping-ui/static-bleve-mapping/ install/lib/fts\n    cp goproj/src/github.com/couchbase/cbft/ns_server_static/fts/* install/lib/fts\n    cd ns_server\n    ./cluster_run --pluggable-config=\"../build/goproj/src/github.com/couchbase/cbft/pluggable-ui-fts.cluster_run.json\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Fcbft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcouchbase%2Fcbft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Fcbft/lists"}