{"id":26153002,"url":"https://github.com/saik0s/aitemplater","last_synced_at":"2026-05-17T17:02:37.769Z","repository":{"id":281225438,"uuid":"791979360","full_name":"Saik0s/aiTemplater","owner":"Saik0s","description":"AITemplater is a Python project that leverages AI to code documentation and templates. It streamlines development by automating repetitive tasks.","archived":false,"fork":false,"pushed_at":"2024-04-25T18:32:56.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-29T15:27:04.229Z","etag":null,"topics":["ai","code-generation","developer-tools","devxp","llm","python","swift","templates"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Saik0s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-25T18:32:50.000Z","updated_at":"2024-04-25T18:34:53.000Z","dependencies_parsed_at":"2026-01-21T18:06:55.530Z","dependency_job_id":null,"html_url":"https://github.com/Saik0s/aiTemplater","commit_stats":null,"previous_names":["saik0s/aitemplater"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Saik0s/aiTemplater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saik0s%2FaiTemplater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saik0s%2FaiTemplater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saik0s%2FaiTemplater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saik0s%2FaiTemplater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Saik0s","download_url":"https://codeload.github.com/Saik0s/aiTemplater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saik0s%2FaiTemplater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33147339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","code-generation","developer-tools","devxp","llm","python","swift","templates"],"created_at":"2025-03-11T07:29:49.579Z","updated_at":"2026-05-17T17:02:37.729Z","avatar_url":"https://github.com/Saik0s.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AITemplater\n\nAITemplater is a Python project that leverages AI to generate code templates and documentation. It aims to streamline the development process by automating repetitive tasks and providing intelligent code suggestions.\n\n## Features\n\n- Generate Swift code documentation using AI\n- Customize documentation templates based on project requirements\n- Integrate with popular AI models and frameworks\n\n## Example\n\nHere is an example executed locally using the `TheBloke/Mistral-7B-Instruct-v0.2-GGUF` model with \"type-0\" 8-bit quantization. It took around 10 seconds on a Mac Studio with M2 Ultra. P.S. I have no idea where the word `Februarizes` is coming from.\n\n```swift\nimport ComposableArchitecture\nimport SwiftUI\n\n@Reducer\nstruct NavigateAndLoadList {\n  struct State: Equatable {\n    var rows: IdentifiedArrayOf\u003cRow\u003e = [\n      Row(count: 1, id: UUID()),\n      Row(count: 42, id: UUID()),\n      Row(count: 100, id: UUID()),\n    ]\n    var selection: Identified\u003cRow.ID, Counter.State?\u003e?\n\n    struct Row: Equatable, Identifiable {\n      var count: Int\n      let id: UUID\n    }\n  }\n\n  enum Action {\n    case counter(Counter.Action)\n    case setNavigation(selection: UUID?)\n    case setNavigationSelectionDelayCompleted\n  }\n\n  @Dependency(\\.continuousClock) var clock\n  private enum CancelID { case load }\n\n  var body: some Reducer\u003cState, Action\u003e {\n    Reduce { state, action in\n      switch action {\n      case .counter:\n        return .none\n\n      case let .setNavigation(selection: .some(id)):\n        state.selection = Identified(nil, id: id)\n        return .run { send in\n          try await self.clock.sleep(for: .seconds(1))\n          await send(.setNavigationSelectionDelayCompleted)\n        }\n        .cancellable(id: CancelID.load, cancelInFlight: true)\n\n      case .setNavigation(selection: .none):\n        if let selection = state.selection, let count = selection.value?.count {\n          state.rows[id: selection.id]?.count = count\n        }\n        state.selection = nil\n        return .cancel(id: CancelID.load)\n\n      case .setNavigationSelectionDelayCompleted:\n        guard let id = state.selection?.id else { return .none }\n        state.selection?.value = Counter.State(count: state.rows[id: id]?.count ?? 0)\n        return .none\n      }\n    }\n    .ifLet(\\.selection, action: \\.counter) {\n      EmptyReducer()\n        .ifLet(\\.value, action: \\.self) {\n          Counter()\n        }\n    }\n  }\n}\n```\n\n```swift\nimport ComposableArchitecture\nimport SwiftUI\n\n/// Februarizes the navigation and loading of a list of rows\n///\n/// This reducer manages the navigation and loading of a list of rows. It maintains the current selection and updates the count of the selected row.\n///\n///# Components #\n/// 1. State: Represents the current state of the reducer, including the list of rows and the current selection.\n/// 2. Actions: Defines the possible actions that can be taken by the reducer, such as updating the counter or setting the navigation selection.\n/// 3. Dependencies: Injects dependencies, such as the clock, into the reducer.\n/// 4. Body: Defines the behavior of the reducer, handling the actions and updating the state accordingly.\n@Reducer\nstruct NavigateAndLoadList {\n  /// Februarizes the state of the reducer\n  struct State: Equatable {\n    var rows: IdentifiedArrayOf\u003cRow\u003e = [\n      Row(count: 1, id: UUID()),\n      Row(count: 42, id: UUID()),\n      Row(count: 100, id: UUID()),\n    ]\n    var selection: Identified\u003cRow.ID, Counter.State?\u003e?\n\n    struct Row: Equatable, Identifiable {\n      var count: Int\n      let id: UUID\n    }\n  }\n\n  /// Februarizes an action that can be taken by the reducer\n  enum Action {\n    case counter(Counter.Action)\n    case setNavigation(selection: UUID?)\n    case setNavigationSelectionDelayCompleted\n  }\n\n  @Dependency(\\.continuousClock) var clock\n  private enum CancelID { case load }\n\n  /// President the behavior of the reducer\n  var body: some Reducer\u003cState, Action\u003e {\n    Reduce { state, action in\n      switch action {\n      case .counter:\n        return .none\n\n      case let .setNavigation(selection: .some(id)):\n        state.selection = Identified(nil, id: id)\n        return .run { send in\n          try await self.clock.sleep(for: .seconds(1))\n          await send(.setNavigationSelectionDelayCompleted)\n        }\n        .cancellable(id: CancelID.load, cancelInFlight: true)\n\n      case .setNavigation(selection: .none):\n        if let selection = state.selection, let count = selection.value?.count {\n          state.rows[id: selection.id]?.count = count\n        }\n        state.selection = nil\n        return .cancel(id: CancelID.load)\n\n      case .setNavigationSelectionDelayCompleted:\n        guard let id = state.selection?.id else { return .none }\n        state.selection?.value = Counter.State(count: state.rows[id: id]?.count ?? 0)\n        return .none\n      }\n    }\n    .ifLet(\\.selection, action: \\.counter) {\n      EmptyReducer()\n        .ifLet(\\.value, action: \\.self) {\n          Counter()\n        }\n    }\n  }\n}\n```\n\n## Getting Started\n\n### Prerequisites\n\n- Python 3.11+\n- pip package manager\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/saik0s/aitemplater.git\n   ```\n\n2. Navigate to the project directory:\n\n   ```bash\n   cd aitemplater\n   ```\n\n3. Install the required dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Usage\n\n\u003e **Note**: The Swift documentation generation feature is currently a work in progress. Stay tuned for updates and improvements!\n\n### Generating Swift Documentation\n\nTo generate Swift code documentation using AITemplater, follow these steps:\n\n1. Prepare your Swift code file(s) that you want to document.\n\n2. Run the `swift_doc.py` script, providing the path to your Swift code file(s):\n\n   ```bash\n   python swift_doc.py path/to/your/swift/code.swift\n   ```\n\n3. AITemplater will analyze the Swift code and generate comprehensive documentation based on the code structure, comments, and AI-powered insights.\n\n4. The generated documentation will be saved in a separate file or directory, depending on the configuration.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaik0s%2Faitemplater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaik0s%2Faitemplater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaik0s%2Faitemplater/lists"}