base on Define your dev environment as code. For microservice apps on Kubernetes. # Tilt <img src="assets/logo-wordmark.png" width="250"> [![Build Status](https://circleci.com/gh/tilt-dev/tilt/tree/master.svg?style=shield)](https://circleci.com/gh/tilt-dev/tilt) [![GoDoc](https://godoc.org/github.com/tilt-dev/tilt?status.svg)](https://pkg.go.dev/github.com/tilt-dev/tilt) Kubernetes for Prod, Tilt for Dev Modern apps are made of too many services. They're everywhere and in constant communication. [Tilt](https://tilt.dev) powers microservice development and makes sure they behave! Run `tilt up` to work in a complete dev environment configured for your team. Tilt automates all the steps from a code change to a new process: watching files, building container images, and bringing your environment up-to-date. Think `docker build && kubectl apply` or `docker-compose up`. ## Watch: Tilt in Two Minutes [![screencast](assets/tilt-video.png)](https://www.youtube.com/watch?v=FSMc3kQgd5Y) ## Install Tilt Installing the `tilt` binary is a one-step command. ### macOS/Linux ```bash curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash ``` ### Windows ```powershell iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.ps1')) ``` For specific package managers (Homebrew, Scoop, Conda, asdf), see the [Installation Guide](https://docs.tilt.dev/install.html). ## Run Tilt **New to Tilt?** Our tutorial will [get you started](https://docs.tilt.dev/tutorial.html). **Configuring a Service?** We have best practice guides for [HTML](https://docs.tilt.dev/example_static_html.html), [NodeJS](https://docs.tilt.dev/example_nodejs.html), [Python](https://docs.tilt.dev/example_python.html), [Go](https://docs.tilt.dev/example_go.html), [Java](https://docs.tilt.dev/example_java.html), and [C#](https://docs.tilt.dev/example_csharp.html). **Optimizing a Tiltfile?** Search for the function you need in our [complete API reference](https://docs.tilt.dev/api.html). ## Community & Contributions **Questions:** Join [the Kubernetes slack](http://slack.k8s.io) and find us in the [#tilt](https://kubernetes.slack.com/messages/CESBL84MV/) channel. Or [file an issue](https://github.com/tilt-dev/tilt/issues). For code snippets of Tiltfile functionality shared by the Tilt community, check out [Tilt Extensions](https://github.com/tilt-dev/tilt-extensions). **Contribute:** Check out our [guidelines](CONTRIBUTING.md) to contribute to Tilt's source code. To extend the capabilities of Tilt via new Tiltfile functionality, read more about [Extensions](https://docs.tilt.dev/extensions.html). **Follow along:** [@tilt_dev](https://twitter.com/tilt_dev) on Twitter. For updates and announcements, follow [the blog](https://blog.tilt.dev) or subscribe to [the newsletter](https://tilt.dev/subscribe). **Help us make Tilt even better:** Tilt sends anonymized usage data, so we can improve Tilt on every platform. Details in ["What does Tilt send?"](http://docs.tilt.dev/telemetry_faq.html). We expect everyone in our community (users, contributors, followers, and employees alike) to abide by our [**Code of Conduct**](CODE_OF_CONDUCT.md). ## Reporting security issues The maintainers take security seriously. If you discover a security issue, please bring it to their attention right away! Please **DO NOT** file a public issue, instead send your report privately to [[email protected]](mailto:[email protected]). Security reports are greatly appreciated and we will publicly thank you for it. We also like to send gifts—if you're into Docker schwag, make sure to let us know. We currently do not offer a paid security bounty program, but are not ruling it out in the future. ## License Copyright 2022 Docker, Inc. Licensed under [the Apache License, Version 2.0](LICENSE) ", Assign "at most 3 tags" to the expected json: {"id":"5433","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"